stm32有RAM在线调试功能,适合体积小的程序调试,不用烧写flash,初学者用得到。
网上的方法没有讲到点子上,或者有误,这篇文章是更好的讲解一下,便于初学者理解。
以这篇文章为例,在其基础上修改,讲解其中的方法,修改其中不好的地方:
STM32内部RAM在线调试配置方法及详细说明(基于Keil开发工具)_用户可以修改stm32f10x.c文件中的配置吗?-优快云博客
1.修改内存地址
这一步其实就是指定代码的 text段 和 data、bss段 位置和大小。设置完后 ***\MDK-ARM\***\***.sct 这个链接脚本就会变。
text段就是代码段,以前代码在flash中,所以是0x08000000。现在挪到RAM当然改成0x20000000。
data段只好向后放, 0x20005000
编译时生成的 ***\MDK-ARM\***\***.map 文件,可以找到这一段(我的芯片是stm32f4):
第一个data段数据,放在了 0x20005000
SystemCoreClock 0x20005000