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

5402的通过HPI加载问题

利用TMS320VC5402的HPI口对程序代码进行加载,将.OUT文件通过批处理之后,转换成.h格式的文件,通过单片机写进DSP内部。现在的问题是,把里面的数据写完之后程序没有执行(通过JTAG仿真,发现程序没有问题),于是在写完之后连上JTAG,但是不LOAD .OUT文件,连上之后发现PC指向0XFF80(单片机的末尾向0X007F处写了0X0080,0X0080是程序入口地址),0XFF80应该是BOOTLOADER的起始地址,问题是硬件上我的MP/MC引脚是接地的,HINT和INT2连在一起的,就是说上电复位之后就应该执行了BOOTLOADER,那么我连上JTAG时PC应该指向0X0080啊?麻烦给个建议,从哪方面入手检查,谢谢!

YL zhang:

补充一下,连上JTAG之后,在没下载.OUT文件的情况下点击RUN,运行结果没什么问题,意思就是HPI加载之后程序没有自行运行,我猜想是找不到入口地址,期待大神的解惑,谢谢了!

Shine:

回复 YL zhang:

YL zhang

补充一下,连上JTAG之后,在没下载.OUT文件的情况下点击RUN,运行结果没什么问题,意思就是HPI加载之后程序没有自行运行,我猜想是找不到入口地址,期待大神的解惑,谢谢了!

YL zhang:

多谢Shine Zhang的回复与建议,上面有个地方说错了,FF80是中断向量表的入口地址,不是BOOTLOADER的入口,这个问题已经解决了,现在加载完代码后连上JTAG,PC的值就是程序入口地址,但是程序运行不正确,我是这样测试的:程序的开始将XF拉低,再定义两个变量作一个简单的加法,XF外面接了一个LED,低电平会发光,现在单片机加载完成之后,LED灯是亮的,连上JTAG,发现加法的结果在内存中是正确的,也就是说程序跑起来了,可是下面FFT的程序运行就不正确了,输出值有错误,关键是同样用HPI加载的,点击RUN之后结果又是正确的,而且单步调试可以一步一步执行下去。用CCS的RUN和HPI加载的有什么区别吗,麻烦Shine Zhang给点建议,从哪里入手检查,多谢!

Shine:

回复 YL zhang:

查看一下bootloader.map文件中.cinit段正确吗? 工程在编译的时候不要用-cr选项.

 

YL zhang:

回复 Shine:

我是用汇编写的,所以没有.cinit这个段的,还有CCS默认的就是-c,我没有改动过。我就是很不解那个RUN之后会有什么不一样吗?为什么同样的代码两种方法结果就不一样。

YL zhang:

回复 YL zhang:

谢谢您的建议,问题已经解决了,是有几个位没设置好,多好!

赞(0)
未经允许不得转载:TI中文支持网 » 5402的通过HPI加载问题
分享到: 更多 (0)