This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] RTOS/TDA3:VisionSDK 中的 MPEG 编码实现

Guru**** 2539500 points
Other Parts Discussed in Thread: SYSBIOS

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/771791/rtos-tda3-mpeg-encoding-implementation-in-visionsdk

器件型号:TDA3

工具/软件:TI-RTOS

您好!

我的客户希望在 TDA3xx 上实现录像机。 并面临以下问题:

您好!

现在、我正在尝试在 TDA3xx 上实现录像机、因为它没有板载编码器、所以我决定使用 DSP 的 mpeg2库(C66x_mpeg2venc_01_00_00_01_ELF)。 首先、我采用了 IVA 编码器的 encLink、因为 IVA 库使用相同的 IALG 框架。 我将 IVA 中的所有结构和函数替换为 DSP 结构和函数。

起初、链接器抱怨存储器映射。 我在 Dsp1.cfg 中添加了3行

 

Program.sectMap[".extMem_Pool"]              ="SR1_FRAME_BUFFER_MEM";

Program.sectMap[".intDataMem"]              ="DSP1_DATA_MEM";

Program.sectMap[".bss:gItelmaEncLink_objSection"]="DSP1_DATA_MEM";

 

链接器完成后没有错误。

但是、现在当我尝试启动链接时、我会遇到一些奇怪的错误。

[DSP1 ]    5.408406 s:A0=0x0 A1=0x0

[DSP1 ]    5.408467 s:A2=0x0 A3=0x0

[DSP1 ]    5.408497 s:A4=0x0 A5=0x0

[DSP1 ]    5.408558 s:A6=0x5800 A7=0x303cc

[DSP1 ]    5.408619 s:A8=0x8 A9=0x30000

[DSP1 ]    5.408680 s:A10=0x83eed58 A11=0x30200

[DSP1 ]    5.408772 s:A12=0x303d0 A13=0x83eedd58

[DSP1 ]    5.408802 s:A14=0x0 A15=0x0

[DSP1]    5.408863 s:A16=0x0 A17=0x0

[DSP1]    5.408924 s:A18=0x0 A19=0x0

[DSP1]    5.408955 s:A20=0x0 A21=0x1

[DSP1]    5.409016 s:A22=0x1 A23=0x0

[DSP1]    5.409046 s:A24=0x1 A25=0x1

[DSP1]    5.409107 s:A26=0x0 A27=0x1

[DSP1]    5.409138 s:A28=0x1 A29=0x0

[DSP1]    5.409199 s:A30=0x0 A31=0x1

[DSP1 ]    5.409260 s:B0=0x0 B1=0x1

[DSP1 ]    5.409290 s:B2=0x0 B3=0x8202592c

[DSP1 ]    5.409351 s:B4=0x0 B5=0x87e91800

[DSP1]    5.409412 s:B6=0x2 B7=0x0

[DSP1]    5.409443 s:B8=0x0 B9=0x0

[DSP1 ]    5.409534 s:B10=0x83eed58 B11=0x87e918c4

[DSP1]    5.4095s:B12=0x83eede78 B13=0x1

[DSP1 ]    5.409687 s:B14=0x83ef4910 B15=0x83e243c8

[DSP1]    5.409717 s:B16=0x0 B17=0x0

[DSP1 ]    5.409778 s:B18=0x0 B19=0x0

[DSP1]    5.409839 s:B20=0x0 B21=0x1

[DSP1]    5.409870 s:B22=0x1 B23=0x0

[DSP1 ]    5.409931 s:B24=0x0 B25=0x0

[DSP1]    5.409961 s:B26=0x0 B27=0x1

[DSP1]    5.410022 s:B28=0x0 B29=0x0

[DSP1]    5.410083 s:B30=0x5d B31=0x7c8

[DSP1 ]    5.410114 s:NTSR=0x1020d

[DSP1 ]    5.410144 s:ITSR=0x20d

[DSP1]    5.410205 s:IRP=0x82106620

[DSP1 ]    5.410236 s:SSR=0x0

[DSP1 ]    5.410266 s:AMR=0x0

[DSP1 ]    5.410297 s:RILC = 0x0

[DSP1 ]    5.410327 s:ILC = 0x0

[DSP1]    5.410388 s:0x0时出现异常

[DSP1 ]    5.410419 s:EFR=0x2 NRP=0x0

[DSP1 ]   5.410449 s:utils_dspExceptionHookFxn:

[DSP1 ]    5.410480 s:  EFR=0x2

[DSP1 ]    5.410480 s:  NRP=0x0

[DSP1 ]    5.410510 s:  ntsr=0x1020d

[DSP1 ]    5.410510 s:  IERR=0x0

[DSP1 ]    5.410541 s:  excContext=0x837e98

[DSP1 ]    5.410541 s:A0=0x0 A1=0x0

[DSP1 ]    5.410571 s:A2=0x0 A3=0x0

[DSP1 ]    5.410602 s:A4=0x0 A5=0x0

[DSP1 ]    5.410602 s:A6=0x5800 A7=0x303cc

[DSP1 ]    5.410632 s:A8=0x8 A9=0x30000

[DSP1 ]    5.410632 s:A10=0x83eed58 A11=0x30200

[DSP1 ]    5.410663 s:A12=0x303d0 A13=0x83eed58

[DSP1 ]    5.410693 s:A14=0x0 A15=0x0

[DSP1 ]    5.410724 s:A16=0x0 A17=0x0

[DSP1 ]    5.410724 s:A18=0x0 A19=0x0

[DSP1 ]    5.410754 s:A20=0x0 A21=0x1

[DSP1 ]    5.410754 s:A22=0x1 A23=0x0

[DSP1 ]    5.410785 s:A24=0x1 A25=0x1

[DSP1 ]    5.410815 s:A26=0x0 A27=0x1

[DSP1 ]    5.410815 s:A28=0x1 A29=0x0

[DSP1 ]    5.410846 s:A30=0x0 A31=0x1

[DSP1 ]    5.410876 s:B0=0x0 B1=0x1

[DSP1 ]    5.410876 s:B2=0x0 B3=0x8202592c

[DSP1 ]    5.410907 s:B4=0x0 B5=0x87e91800

[DSP1 ]    5.410937 s:B6=0x2 B7=0x0

[DSP1 ]    5.410937 s:B8=0x0 B9=0x0

[DSP1 ]    5.410968 s:B10=0x83eed58 B11=0x87e918c4

[DSP1 ]    5.410968 s:B12=0x83eede78 B13=0x1

[DSP1 ]    5.410998 s:B14=0x83ef4910 B15=0x83e243c8

[DSP1]    5.411029 s:B16=0x0 B17=0x0

[DSP1 ]    5.411059 s:B18=0x0 B19=0x0

[DSP1]    5.411059 s:B20=0x0 B21=0x1

[DSP1]    5.411090 s:B22=0x1 B23=0x0

[DSP1 ]    5.411090 s:B24=0x0 B25=0x0

[DSP1]    5.411120 s:B26=0x0 B27=0x1

[DSP1]    5.411151 s:B28=0x0 B29=0x0

[DSP1]    5.411151 s:B30=0x5d B31=0x7c8

[DSP1]    5.411181 s:NTSR=0x1020d

[DSP1]    5.411212 s:ITSR=0x20d

[DSP1]    5.411212 s:IRP=0x82106620

[DSP1 ]    5.411242 s:SSR=0x0

[DSP1 ]    5.411242 s:AMR=0x0

[DSP1]    5.411273 s:RILC = 0x0

[DSP1]    5.411273 s:ILC = 0x0

[DSP1]    5.411303 s:正在终止执行...

[DSP1]    5.411364 s:内部异常:IERR=0x1

[DSP1]    5.411456 s:取指令异常

[DSP1]    5.411486 s:

[DSP1 ]    5.411486 s:### XDC 断言-错误回调开始###

[DSP1 ]    5.411517 s:

[DSP1 ]    5.411639 s:E_exceptionMax:PC = 0x00000000、sp = 0x83e243c8。

[DSP1 ]    5.411639 s:

[DSP1 ]    5.411669 s:### XDC 断言-错误回调结束###

[DSP1 ]    5.411700 s:

[DSP1 ]    5.411883 s:ti.sysbios.family.c64p.exception:line 256:ti.sysbios.family.c64p.exception:line 256:e_exceptionMax:PC = 0x00000000、sp = 0x83e243c8。

[DSP1]    5.412005 s:xdc.runtime.Error.raise:终止执行

 

此错误在库中调用,因此无法调试确切的行。 但在我的代码中、它会停在这里

if (fxns->algInit (alg、memtab、p、params)=IALG_eok)

 

问题可能出在哪呢? 我是否错误地更改了内存设置? 或者可能需要其他配置?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能否确认您正在使用的软件已从 software-dl.ti.com/.../index_FDS.html 下载

    如果没有、您能给我们指出吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、它是相同的。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好

    在 TI、我们尚未在 TDA3x 上测试 C66x_mpeg2venc、

    从您的日志中、似乎 C6x DSP 已崩溃、  

    正如您提到的、库 调用中发生了崩溃(我认为是在库上的创建调用还是处理调用中)、您需要 库源代码来进一步调试。

    崩溃后、尝试将 CCS 与 DSP 连接、并  加载符号以进行调试

    >> [DSP1 ]    5.411883 s:TI.sysbios.family.c64p.exception:line 256:TI.sysbios.family.c64p.exception:line 256:E_exceptionMax:PC = 0x00000000、sp = 0x83e243c8。

    这看起来像是 PC 显示0x0时的空指针访问、 或者也可能是严重的内存损坏  

    只是出于我的好奇-  

    使用 TDA3x 有什么特殊原因吗?

    基于 DSP 的编解码器将无法支持超过 SD 的分辨率、并且只能支持一个通道。  

    如果您可以选择 TDA2Ex、它具有支持视频编码器的硬件 IP (IVA-HD)、并且支持高达1920x1080 @ 30fps 的速率、或者支持720p 或 SD 分辨率的多个通道。   

    VISION SDK 已支持 BTW、IVA-HD base (H264和 MJPEG)编码器

    此致、Shiju

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是的、我们知道。 现在、我们想看看我们能够从 TDA3中获得什么。 由于有一个用于 DSP 的库、我们的目标是检查其性能。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    好的、明白了
    要进行进一步调试、请获取 DSP 库的来源(尝试从库所在的位置与同一联系人进行检查)