我正在使用Olimex ARM-USB-OCD适配器,结合openOCD和GDB来编程和调试stm32f103微控制器。我使用的IDE来自Olimex开发套件光盘,并且使用了Eclipse Ganymede。
我可以将一个小程序加载到RAM中,并且毫无问题地逐步执行代码。
现在,我有一个更大的程序,它无法放入RAM中(RAM只有20K),因此我想从闪存(128K)中运行它。
我已经修改了链接脚本,指示程序代码应该放在闪存部分(地址为0x8000000),但是GDB无法加载程序。
我该怎样让gdb将程序加载到闪存中?
我可以将一个小程序加载到RAM中,并且毫无问题地逐步执行代码。
现在,我有一个更大的程序,它无法放入RAM中(RAM只有20K),因此我想从闪存(128K)中运行它。
我已经修改了链接脚本,指示程序代码应该放在闪存部分(地址为0x8000000),但是GDB无法加载程序。
(gdb)
20 load main.out
&"load main.out\n"
load main.out
~"Loading section .text, size 0xb0e6 lma 0x8000000\n"
Loading section .text, size 0xb0e6 lma 0x8000000
&"Load failed\n"
Load failed
我该怎样让gdb将程序加载到闪存中?