关于STM32 KEIL MDK环境下,程序在RAM中调试的问题

2024-11-29 07:42:08
推荐回答(3个)
回答1:

芯片复位后进入的是复位中断入口地址,一般是0,并且位于FLASH中。然后在入口处放置一条跳转指令,跳转到指定的地址执行。所以如果想复位后从RAM中执行,那么必须修改bootloader,也就是最初的那段汇编代码,把跳转的地址改成RAM的地址。

回答2:

在RAM中调试和从RAM中启动是两个不同的概念,
实验证明,在RAM中调试不需要改变BOOT1和BOOT0引脚。
在调试的过程中如果单击了RST复位按钮,则需要重新Debug!
所以,你的问题只能重新Debug。
望采纳,谢谢!

回答3:

硬件上要跳线,请注意一下STM32的Boot0,Boot1这两个pin在上电时的电压,是否从RAM上执行由这两个pin的电压决定。
如果你用的是外面买的调试板,这这两个管脚应该可以通过跳线设置。具体请阅读datasheet.