各位专家好:
我们用的是6713的芯片,FLASH是AM29LV400B,256K*16bit,二次程序bootload加载进了1K空间,也将应用程序全部搬完(开始搬和搬完各发出一个GIPO信号,以此判断程序是否搬移完成)。两个信号都有,但是程序却没跑起来,我想请问一下,有哪几种情况会导致这个问题,应该怎么解决!!
另外,我分析,首先可能是没跳转到_c_int00
这个是我二次搬移程序的末尾:
copy_done:
mvkl .S2 _c_int00, B0
mvkh .S2 _c_int00, B0
b .S2 B0
nop 5
这里应该没有问题的,还有什么地方会导致不能跳进入口地址呢??
请各位帮忙解答一下,谢谢!!
Tony Tang:
从上面程序来看,感觉跳转的是当前工程(二次bootloader)自己的入口地址,当然还要看你的工程是怎么实现的。是将二级bootloader与业务代码放在一个工程,还是分开的。
建议用仿真器单步跟踪一下,代码都写进flash了,你可以通过仿真器下载二次bootloader运行,看它搬移业务代码过程,及跳转是否正确。
wang Anna:
回复 Tony Tang:
Tony Tang:
您好,我研究了一下,但是还是不明白怎么使用仿真器跟踪boot过程,网上查询资料也无果,请说明一下这个过程,感激不尽!
Xiao Yi:
嘿嘿,要想从_cint00_进入主程序,首先得保证你的project设置的入口时这个才行
Shine:
参考下面的例程.
www.ti.com/…/litabsmultiplefilelist.tsp
frank bob:
回复 Shine:
我也想知道怎么用仿真器跟踪这个boot过程