我有一个gcc编译的工程,程序分成两个部分,前面48k是bootloader,后面是app,可以正常运行。因为现在需要使用rtt-nano,将nano添加到工程里,做了如下修改:
编译没有错误,但是现在不知道是不是跳转不过去。板子不是开发板没有测试接口。
请问由办法测试吗,我检查了跳转地址在systeminit定义了的,不需要修改,其它的暂时没想起来还有什么需要改的。
有几个问题需要确认下:
1.bootloader能起来吗?还是说bootloader就没起来?看你的问题像是bootloader跳转到app,起不来?
2.如果bootloader没有起来,建议还原使用原来的bootloader,同意一楼的说法;
3.如果app起不来,有个方法可以确认下app的运行地址是否正确。
在linux环境下,使用readelf -h app.elf (app.elf根据你自己的名字来修改)
参考如图:
图中圈起来的就是elf的启动地址,也就是你的bin要烧录的地址。
这个地址一般是在link.lds里面配置的。
4.如果启动地址没有问题,建议再排查下中断向量表有没有问题。
提供点思路,希望能帮助到你。