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.

用6678做h.264压缩例程中的疑问

Other Parts Discussed in Thread: SYSBIOS

ti工程师老师你好,我在用ti的6678dsp做h.264压缩时,我将安装包的例程考出来放到另一个路径下,在编译时提示“fatal error: could not open source file "ti/sdo/codecs/h264vdec/ih264vdec.h",我该如何修改代码呢?

  • 是修改路径中,代码找不到头文件的路径了,

    需要你找到这个.h文件的路径,然后把这个路径添加到工程的头文件搜索路径中去。

    在CCS中设置的方法:右键点击CCS工程->Show build settings->选择 build下面C6000 compiler中的Include Options中添加路径

  • Adam Yao 说:

    是修改路径中,代码找不到头文件的路径了,

    需要你找到这个.h文件的路径,然后把这个路径添加到工程的头文件搜索路径中去。

    在CCS中设置的方法:右键点击CCS工程->Show build settings->选择 build下面C6000 compiler中的Include Options中添加路径

    Adam Yao,你好!

    在include option中我已经添加了头文件的路径了!如附件所示。但还是报错。

  • 报的什么错误,你看看有没有其他的头文件路径或者库文件的搜索路径没有更新,

    一般TI例程的编译错误都是因为这些。

  • 你好,这个问题我今天解决了,确实还是头文件包含的问题。谢谢啦!

    不过我又有一个新的疑问:

    我运行的是“ti\Codecs\C66x_h265venc_02_00_00_02_ELF”下h.264编码例程,运行过程中如果将8个核同时加载程序,一加载完后会立即提示“c[C66xx_7] cCannot open configuration file ..\..\..\Test\TestVecs\Config\encoder7.cfg. .....Exiting because of Problem related to configuration              file ..\..\..\Test\TestVecs\Config\encoder7.cfg”

    所以我就只在0核加载了程序,此时没有提示错误。但是运行后在console中提示以下信息:

    [C66xx_0]

    Erase external (0x80000000) 1fe0000

    Erase internal (0x00800000) 3fd00

    DONE

    [0] framesToEncode 10 from ../../../Test/TestVecs/Input/test.yuv

    TopSliceLine=0 BottomSliceLine=288 SingleCoreRun=1

    ShmemTab initialized on Core 0

     Creating Algorithm Instance 0...ExtBuf0                  =80000000 (33421696)

    IntBuf1              =  800000

    ExtBuf2             =80000680 (33094016)

    ExtBuf3             =80050680 (33089536)

    ExtBuf4             =80051800 (33088384)

    ExtBuf5             =80051c80 (33082240)

    ExtBuf6             =80053480 (33081728)

    ExtBuf7             =80053680 (33016192)

    ExtBuf8             =80063680 (33015680)

    ExtBuf9             =80063880 (32549760)

    ExtBuf10           =800d5480 (32522752)

    ExtBuf11           =800dbe00 (32513536)

    ExtBuf12           =800de200 (32511872)

     Algorithm Instance Creation Done...

    Activate:c0b4960

     Instance ready!

     Start reading...DoneA0=0x3c60010 A1=0x1

    A2=0x1 A3=0x90

    A4=0x80000000 A5=0x0

    A6=0x13f A7=0x916c6181

    A8=0xc0c49a0 A9=0x8448e1

    A10=0x0 A11=0x0

    A12=0x0 A13=0x0

    A14=0x0 A15=0x0

    A16=0x843e2c A17=0x0

    A18=0x843dfc A19=0x20

    A20=0x800000c8 A21=0x0

    A22=0x12 A23=0x0

    A24=0x9 A25=0xc057500

    A26=0xc4 A27=0x0

    A28=0x800000c8 A29=0x1

    A30=0x3c4 A31=0x0

    B0=0x1 B1=0x0

    B2=0x0 B3=0xc0833d4

    B4=0x80000000 B5=0xc0d5ff0

    B6=0x3c60010 B7=0x86fc38

    B8=0x86b850 B9=0x8601

    B10=0x0 B11=0x0

    B12=0x0 B13=0x0

    B14=0x86fb00 B15=0x843e98

    B16=0xc4c1c1c0 B17=0xc4c9cac9

    B18=0x0 B19=0x867410

    B20=0x86740e B21=0x200

    B22=0x202 B23=0x160

    B24=0x8000008c B25=0xffffffff

    B26=0x9c B27=0x1

    B28=0x0 B29=0x86b3c0

    B30=0x0 B31=0x0

    NTSR=0x1000f

    ITSR=0x400f

    IRP=0xc0bb3c0

    SSR=0x0

    AMR=0x0

    RILC=0x0

    ILC=0x0

    Exception at 0x80000000

    EFR=0x2 NRP=0x80000000

    Internal exception: IERR=0x8

    Opcode exception

    ti.sysbios.family.c64p.Exception: line 255: E_exceptionMin: pc = 0x80000000, sp = 0x00843e98.

    To see more exception detail, use ROV or set 'ti.sysbios.family.c64p.Exception.enablePrint = true;'

    xdc.runtime.Error.raise: terminating execution

     Can't find a source file at "/tmp/TI_MKLIBlwBz8I/SRC/exit.c"

    Locate the file or edit the source lookup path to include its location.

     

    我把运行结果图片作为附件上传,请您帮我分析一下,不知程序是否正常运行完了?

  • 程序运行到地址0x80000000的时候,发生异常退出了,这个地址应该是DDR的首地址,你看看在程序运行时DDR是否正常初始化,并看看这个地址中的保存的数据,core7的cfg文件加载不正常,需要检查一下cfg文件的路径是否正确。

  • Adam Yao, 你好!

    最近我在调试时发现程序退出的部位是不固定的,如附件所示,这次又是在0x450004位置退出了,不知是什么原因?

  • 你查一下这个地址所对应的代码是否有被修改过,错误类型显示的是取值类型的异常,一般在代码段被修改的情况下比较常出现。