STM32F407的RAM调试

来源:互联网 发布:linux 强行退出vim 编辑:程序博客网 时间:2024/06/07 19:28

最近一直在用STM32F407调试,更改验证时需要频繁的烧写Flash,于是就想试试能不能将程序在线加载到内部RAM中,避免反复擦除Flash。经过baidu得到的方法加上自己试验,终于调通了,现总结一下。

1.首先,新建配置项RAM,专用于加程序到RAM。
2.然后设置RAM的具体配置。
2.1 设置程序和数据的下载地址



STM32F4xx的RAM大小为192KB(112+16+64):

  • 112KB和16KB的起始地址为0x2000 0000,通过AHB总线访问

  • 64KB的起始地址为0x1000 0000,只能通过CPU直接访问。
2.2 在Linker中确保使用的是Target中设置的映射方式
2.3 添加初始化文件,保存为RAM.ini,并保存到工程所在目录中

2.4 仿真器下载地址的配置

 2.5 定义中断向量宏

2.6  在文件system_stm32f4xx.c中,去掉#define VECT_TAB_SRAM前面的注释,据说这样可以使用中断,我没试过

设置完成后,全部编译一遍,然后点开始调试按键,将程序加载到RAM中,程序开始运行。

PS:注意RAM.ini中load *.axf 文件的路径要设置正确,如果出错程序无法进入main函数,运行异常,这在调试信息里可以看到。

                                             
0 0
原创粉丝点击