我一直在使用effure_bootloader项目,并且在尝试使用jlink lite调试项目时似乎在某些问题上。
当我在keil中启动调试时(v5.12),它看起来像代码正确下载,但随后,组装完全与调试器窗口中的代码完全不同步,我在keil命令窗口中获取以下错误:
** jlink警告:XPSR的T型为0,但应为1.更改为1。
当我尝试贯通代码时,PC从0x000000开始,我可以通过指令一步,直到我到达断点。这些指令似乎对应于effure_bootloader代码。
我的其他项目似乎很好地工作,它只是efferic_bootloader项目导致问题。你有什么想法发生了什么。
我取得了一些进展,但我仍然对此有一些问题。
重置为0x00000000的PC让我认为这个问题可能是散点文件。当我打开efferic_bootloader的默认散射文件时,将设置前两行:
lr_irom1 0x00000000 0x00008000 {;加载区域size_region.
ER_IROM1 0x00000000 0x00002000 {;加载地址=执行地址
由于RAM从0x20000000开始,因此我将这些行更改为:
lr_irom1 0x20000000 0x20008000 {;加载区域size_region.
ER_IROM1 0x20000000 0x20002000 {;加载地址=执行地址
一旦我制作变化,调试器就开始为此项目工作。
为什么STAMPTFILE设置在演示项目中?
我们是否需要了解efferic_bootloader的staptsfile?