最近在使用DSP6713板卡做开发,开发工程通过添加二次启动程序 编译为.out文件后 通过hex6x.exe文件转换为.hex文件 通过烧写工程写入flash中。
目前遇到的问题是,烧写好flash后无法正常启动。通过加载编译工程,使用单步调试后发现,二次启动程序可以正确的将.text段拷贝到ram中,然后在执行copydone时 跳转的c_int00的地址和编译的c_int00地址不一致。
其中,copydone程序如下:
copy_done:
mvkl .S2 _c_int00, B0
mvkh .S2 _c_int00, B0
b .S2 B0
nop 5
c_int00在.map中定位为ENTRY POINT SYMBOL: "_c_int00" address: 000130a0
实际单步调试时,跳转的地址是0x00013e60