在内存中调试
在以前使用过jLink下载程序到内存运行成功。2024-08-28开始研究使用串口下载程序到内存并运行,经过两天奋战,终于调试成功。
测试环境
#uname -a
Linux puppypc17305 4.9.163-lxpup-32-pae #1 SMP Thu Mar 14 15:41:19 GMT 2019 i686 i686 i686 GNU/Linux
STM32CUBEMX version 4.21.0 STM32CUBE v1.0
# arm-none-eabi-gcc -v
gcc version 4.9.3 20150529 (release) [ARM/embedded-4_9-branch revision 224288] (GNU Tools for ARM Embedded Processors)
stm32flash
https://github.com/ARMinARM/stm32flash
2015-08-18 21:36 增加了执行完成后读串口的功能,可以方便的使用PRINTF了。 2024-08-28 增加了-m写程序到RAM的功能。 stm32flash -mw builder/HELLO.bin -g0x20000200 /dev/ttyUSB0 -b115200 #注意写入HEX文件运行失败
stm32f10x.ld
串口写RAM比较特殊,它在RAM的最前面(0x20000000)保留了0x200字节,猜测是内部Loader使用。所以.ld的内存描述改为下面内容。stm32flash调用写地址0x2


3326

被折叠的 条评论
为什么被折叠?



