最近搞了好几天的5509AHPI启动,host加载代码正常,就是无法运行,后来进入bootloader代码跟踪,发现在0xFF801A这个地方一直都给0x60字地址赋0,HPI启动怎么回这样呢?0x60这个地址不是装载代码的入口地址吗?
js jiang:
在线等啊,哪位大侠帮忙指点一下啊,谢谢了。
Shine:
你好,
bootloader是会把0x60, 0x61处的值清0, 然后一直等直到host把入口地址写入到0x60, 0x61处, 检测到不为0后, 跳转到程序入口地址开始执行. HPI启动流程, 你可以参考下面的bootloader文档.http://www.ti.com/lit/an/spra375f/spra375f.pdf
js jiang:
回复 Shine:
谢谢Shine Zhang 的指点,现在是这样的:我用一块单片机做host,上电后单片机加载代码到DSP,然后DSP开始跳到代码的入口地址开始运行,但是现在偶尔能自举成功(通过闪灯),请问这是怎么回事?
1、会不会出现一种情况:单片机的代码已经加载了,DSP才开始运行,所以0x60处的内容被DSP的bootloader清零了?(因为我硬件设计时忘记了IO4管脚,所以无法检测IO4),但是我通过延长单片机加载代码之前的时间,还是无法解决此问题。
2、我的代码中cmd文件是从0x100(字节地址)开始的,map文件中的入口地址是0x1aa(字节地址),我准备将代码灌入DSP 的0x200(字节地址),0x61地址中的内容写入0x255对吧?
js jiang:
回复 js jiang:
还有个情况,我把代码灌入DSP后,用ccs的查看memory,0x200(字节地址)开始的代码和我加载我的.out文件后0x100开始的memory数据是相同的(我的map文件指定加载字节地址是0x100开始)。但是代码貌似就是没有运行起来。
Shine:
回复 js jiang:
js jiang
谢谢Shine Zhang 的指点,现在是这样的:我用一块单片机做host,上电后单片机加载代码到DSP,然后DSP开始跳到代码的入口地址开始运行,但是现在偶尔能自举成功(通过闪灯),请问这是怎么回事?
1、会不会出现一种情况:单片机的代码已经加载了,DSP才开始运行,所以0x60处的内容被DSP的bootloader清零了?(因为我硬件设计时忘记了IO4管脚,所以无法检测IO4),但是我通过延长单片机加载代码之前的时间,还是无法解决此问题。
2、我的代码中cmd文件是从0x100(字节地址)开始的,map文件中的入口地址是0x1aa(字节地址),我准备将代码灌入DSP 的0x200(字节地址),0x61地址中的内容写入0x255对吧?