大家好,
我按照 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
Thomas Yang1:
Share memory是固定大小,物理上是不变的。
你修改的段shared_mem_SL2_uncached 是用做什么的?
如果是拿来给应用做得,需要检测改小后对应用是否有影响。
如果将段映射到DDR3中,需要提前做好DDR3的初始化,数据/code 才能够正常读写
BO DU:
回复 Thomas Yang1:
Thomas Yang ,您好
我将H264 encoder/decoder 改到以前的较低版本,这个编译错误就消失了,看来是最新的H264 encoder/decoder 太大了,但是我尝试运行这个demo还是失败,程序无法完成初始化,和我问题中描述的下载运行出错的现象一致,我找不到这个demo详细的运行guider,这个demo的readMe.txt文件中这样说:
Follow instructions at http://processors.wiki.ti.com/index.php/MCSDK_VIDEO_2.1_CODEC_TEST_FW_User_Guide#Test_Instructions to run the video transcode example with the following differences:1) Video transcoce example reads tftp.cfg, codecParams.cfg, and multiclip.cfg from <MCSDK Video install diretory>\examples\transcode\source directory2) In codecParams.cfg, decCodecName and encCodecName are added for the video transcode demo, which specify the codec name for decoder and encoder.
但是MCSDK_VIDEO_2.1_CODEC_TEST_FW_User_Guide并不是专门针对这个demo的,它是针对mcsdk_video_2_2_0_46\dsp下的sv04.out的,我按照这个Guide运行过sv.04 ,没有问题,但是无法成功运行transcode这个demo 。
请问transcode这个demo 有没有别的详细的运行guider,我主要是想确认它运行在几核上,需要什么加载什么gel文件并进行哪些初始化,以及boot switch设置,如果您手头有C6678这块板子,能帮我运行下这个demo吗?