大家好,
我按照 mcsdk_video_2_2_0_46\examples\transcode\Readme.txt 运行 mcsdk_video_2_2_0_46\examples\transcode 这个 demo 时遇到 CCS 报错,我之前发过帖子但问题没有解决(原帖地址),我把问题重新整理了如下:
软件平台: CCSv5.5
硬件平台: C6678LE EVM
P C系统: WIn7旗舰版 64位
错误信息: #10099-D program will not fit into available memory. run placement with alignment fails for section ".shared_mem_SL2_uncached" size 0x1f008 . Available memory ranges: MSMC size: 0x3fff00 unused: 0xccc2 max hole: 0x7200
错误位置: linker.cmd 第164行
错误代码: .shared_mem_SL2_uncached > MSMC PAGE 0 fill = 0x00
完整demo下载地址:地址
相关文件和图片: 见附件
我认为是MSMC(4M)太小,已经不够用。但是MSMC应该是和硬件有关,没法扩大的吧,然后我尝试了以下方法:
1,将 shared_mem_SL2_uncached 改小到 0xc000 。
2,将 shared_mem_SL2_uncached 放到DDR中。
3,将 shared_mem_SL2 改小到 0x160000 (shared_mem_SL2 也在MSMC中,将它改小,MSMC就有了更多空间)。
以上三个方法都可以使项目编译通过,但是下载程序后都执行不到main函数处,单步调试发现程序在 auto_init_elf 处循环,界面如下:
在循环多次后程序会死掉,如下所示:
我不知道这个问题是是由MSMC内存分配引起的,还是由别的原因导致。我想请TI的工作人员运行下这个demo,看是不是有这个问题,另外我想问下,这个demo是在几核下运行的,我觉得是多核,但是没有看到关于核数的配置文件或相关代码。
谢谢大家
BO DU


