TI中文支持网
TI专业的中文技术问题搜集分享网站

C6701运行在外挂的RAM,不能跳转main

目前使用CCS软件版本是3.3,DSP工程为带有Bios的,由于程序过大以及项目的要求,决定使用HPI进行引导;使用HPI引导时,将IPRAM存储删除,留下IDRAM来存储程序的数据段,以及其他的程序代码段存储在外挂的SRAM上,并且,编译通过。但是在烧入C6701 DSP后出现程序直接飞了,而且跳转不了main。所以有如下考虑:

1、在烧入带有Bios的工程之前,先加载C6701 对应的gel文件(因为本人认为gel首先会初始化Emif接口,时钟等等,会使得程序稳定一些),但是这个gel文件TI官方并没有提供

2、将带有Bios的工程修改为无Bios的工程,同样按照这种方式配置段;

请教一下TI工程师,如上两个考虑是否合理?除了上面两个考虑,是否还有别人思路呢?谢谢

Shine:

这句没看懂“在烧入C6701 DSP后出现程序直接飞了”? 如果是用HPI boot,直接加载到RAM就好了,不需要烧写代码,host在加载代码前可以通过HPI口对EMIF口等进行初始化操作。

Gangping Li:

回复 Shine:

sorry,Shine,是我没有表达好。是这样的,目前还只是将所有的程序放置在外挂的SRAM上进行测试,看看程序是否能正常运行,模拟HPI引导后的过程,还没有没有真正使用引导。

Shine:

回复 Gangping Li:

“目前还只是将所有的程序放置在外挂的SRAM上进行测试”和“在烧入C6701 DSP后出现程序直接飞了”这两句矛盾啊,"烧入"是烧到哪里?SRAM不需要烧入。

Gangping Li:

回复 Shine:

由CCS load program将.out文件载入到SRAM和IDRAM上之后,程序不能跳转Main。

Shine:

回复 Gangping Li:

代码在片内RAM是可以运行吗?放在片外RAM后,不能跳转到Main,那代码跑到哪里了?有没有对SRAM进行过读写测试?

Gangping Li:

回复 Shine:

现在每次测试结果都有所不一样,目前将所有的code放到外部ram上又可以了,我们有两块板子,有时候一块可以一块不可以,不可以的那块板子经常出现如下现象:将所有的code段(包括所有的与bios段相关的段,如.bios)全部放置在片外ram上,载入程序后程序一直运行到GBL_init这条语句,一直阻塞。

Gangping Li:

回复 Shine:

之前有对ram进行过读写测试的

Shine:

回复 Gangping Li:

可能硬件不够稳定,检查一下CLKIN, RESET信号是否足够长,CVDD, DVDD供电电压是否稳定,纹波是否在手册范围内。

赞(0)
未经允许不得转载:TI中文支持网 » C6701运行在外挂的RAM,不能跳转main
分享到: 更多 (0)