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

在DEBUG模式下,已实现下载程序到RAM中运行,正常。但当我想重头开始运行,我点击RST按钮后,重新运行发现此时运行的是FLASH中的程序,而不是之前下载到RAM中的程... 在DEBUG模式下,已实现下载程序到RAM中运行,正常。但当我想重头开始运行,我点击RST按钮后,重新运行发现此时运行的是FLASH中的程序,而不是之前下载到RAM中的程序。我的问题是,KEIL MDK该如何设置,使得当我RST后,运行的还是RAM中的程序? 展开
 我来答
百度网友b12a2e039
2012-12-03 · TA获得超过1533个赞
知道小有建树答主
回答量:819
采纳率:0%
帮助的人:689万
展开全部
芯片复位后进入的是复位中断入口地址,一般是0,并且位于FLASH中。然后在入口处放置一条跳转指令,跳转到指定的地址执行。所以如果想复位后从RAM中执行,那么必须修改bootloader,也就是最初的那段汇编代码,把跳转的地址改成RAM的地址。
kexuenanhai
2012-12-03 · TA获得超过1695个赞
知道小有建树答主
回答量:351
采纳率:0%
帮助的人:363万
展开全部
在RAM中调试和从RAM中启动是两个不同的概念,
实验证明,在RAM中调试不需要改变BOOT1和BOOT0引脚。
在调试的过程中如果单击了RST复位按钮,则需要重新Debug!
所以,你的问题只能重新Debug。
望采纳,谢谢!
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
joodoo75
2012-12-03 · TA获得超过449个赞
知道小有建树答主
回答量:158
采纳率:0%
帮助的人:92.6万
展开全部
硬件上要跳线,请注意一下STM32的Boot0,Boot1这两个pin在上电时的电压,是否从RAM上执行由这两个pin的电压决定。
如果你用的是外面买的调试板,这这两个管脚应该可以通过跳线设置。具体请阅读datasheet.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式