TI论坛
直播中

曹皓轩

7年用户 186经验值
私信 关注
[问答]

请教关于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啊?麻烦给个建议,从哪方面入手检查,谢谢!

回帖(7)

曹皓轩

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

余少虹

2018-7-27 08:19:48
你好,
用仿真器跟踪bootloader过程时, 指向0xFF80正常, 你可以看到bootloader时如何执行到HPI boot代码, 你可以跟一下FF80处的代码看能不那执行到HPI boot模式那块.
举报

余少虹

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



你可以跟一下bootloader过程, 进入HPI boot 代码后, 应该是一直在轮询0x7F的值是否不为0, 另外, 你可以看一下Host有没有把代码加载进来.
举报

曹皓轩

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

更多回帖

发帖
×
20
完善资料,
赚取积分