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

DSP28027 cmd对程序影响

CMD文件中BEGIN定义如下:

BEGIN       : origin = 0x3F3FFE, length = 0x000002;

默认的BEGIN为0x3f7ff6,但是使用上面的地址,程序还能正常运行,有点纳闷,应该找不到main入口地址,还请大神指点下

user5074486:

cmd文件如下:

BEGIN       : origin = 0x3F0000, length = 0x000002 

28027入口地址为0x3f7ff6,仿真程序可以运行吗?测试好像可以的,有点纳闷

之后测试了在dsp28027 flash中烧入两个程序,一个在A区,一个在D区,A区程序的入口地址为0x3f7ff6,D区程序入口地址为0x3f0000,A程序中有跳转指令

asm("   LB 0x3F0000"),进行了如下的测试:

1、先烧入A区程序,只擦除A、B、C区,在烧入D区程序,只擦除D区,调试D区程序,发现A区程序没有运行;

2、先烧入D区程序,只擦除D区,在烧入A区程序,只擦除A、B、C区,调试A区程序,发现D区程序运行;

有哪位好心人能帮忙看看为什么吗

CMD文件中BEGIN定义如下:

BEGIN       : origin = 0x3F3FFE, length = 0x000002;

默认的BEGIN为0x3f7ff6,但是使用上面的地址,程序还能正常运行,有点纳闷,应该找不到main入口地址,还请大神指点下

Eric Ma:"CMD文件中BEGIN定义如下:

BEGIN: origin = 0x3F3FFE, length = 0x000002;

默认的BEGIN为0x3f7ff6,但是使用上面的地址,程序还能正常运行,有点纳闷,应该找不到main入口地址,还请大神指点下"
ERic:
这个能正常运行,那肯定是在仿真模式,你脱机跑一定跑不起来。
仿真运行的时候, CCS restart mcu的时候会自动跳转到main, 屏蔽bootloader的过程,所以可以跑。

CMD文件中BEGIN定义如下:

BEGIN       : origin = 0x3F3FFE, length = 0x000002;

默认的BEGIN为0x3f7ff6,但是使用上面的地址,程序还能正常运行,有点纳闷,应该找不到main入口地址,还请大神指点下

Eric Ma:

回复 user5074486:

“1、先烧入A区程序,只擦除A、B、C区,在烧入D区程序,只擦除D区,调试D区程序,发现A区程序没有运行;

2、先烧入D区程序,只擦除D区,在烧入A区程序,只擦除A、B、C区,调试A区程序,发现D区程序运行;”
Eric:
你这些测试都是脱离仿真器运行的吗?
你调试D程序,如果是用仿真器CCS的话,自动跑到D区程序的main, A 程序是不会跑的,除非你设置reset 不要restart CPU, 且在script 菜单中设置boot模式为boot to flash.

CMD文件中BEGIN定义如下:

BEGIN       : origin = 0x3F3FFE, length = 0x000002;

默认的BEGIN为0x3f7ff6,但是使用上面的地址,程序还能正常运行,有点纳闷,应该找不到main入口地址,还请大神指点下

user5074486:

回复 Eric Ma:

没有,都是在仿真器上进行的,谢谢

CMD文件中BEGIN定义如下:

BEGIN       : origin = 0x3F3FFE, length = 0x000002;

默认的BEGIN为0x3f7ff6,但是使用上面的地址,程序还能正常运行,有点纳闷,应该找不到main入口地址,还请大神指点下

Eric Ma:

回复 user5074486:

你reset CPU, 不restart CPU试试是什么样子,一定是截然不同。

CMD文件中BEGIN定义如下:

BEGIN       : origin = 0x3F3FFE, length = 0x000002;

默认的BEGIN为0x3f7ff6,但是使用上面的地址,程序还能正常运行,有点纳闷,应该找不到main入口地址,还请大神指点下

user5074486:

回复 Eric Ma:

好的,谢谢

赞(0)
未经允许不得转载:TI中文支持网 » DSP28027 cmd对程序影响
分享到: 更多 (0)