【1】STM32 Debug in RAM 在RAM中调试STM32 !!!

本文介绍如何在STM32F1上配置RAM调试环境,包括确定RAM地址和大小、重新分配RAM空间、设置Debug参数及下载配置等步骤,并提供具体的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.确定自己芯片的RAM起始地址和大小,例如我用的神舟王STM32F1底板

CPU为STMF103ZET   包含 64K RAM:0x2000 0000----0x2000 FFFF。

2.重新划分RAM

我将64K RAM分成两部分 48K(0xC000)用来当做Flash,16K(0x4000)当做RAM

 

3.Debug设置

 

4.CpuRAM.ini文件内容

------------------------------------------------------------------------------------

FUNC void Setup (void) {
  SP = _RDWORD(0x20000000);            // 设置堆栈指针
  PC = _RDWORD(0x20000004);            // 设置PC指针
  _WDWORD(0xE000ED08, 0x20000000);    // 设置中断向量表地址
}

LOAD obj\My_STM32F1.axf INCREMENTAL    // 装在代码到CPU内部RAM  (工程选择就不要选 Load Application ar Startup)
Setup();                            // 再调用Setup函数修改堆栈指针和PC指针 因为SP的值要从目标代码中读取
g, main                                // 运行到main函数

------------------------------------------------------------------------------------------------

4.下载部分设置

 

点击Seting,删除里面的器件编程算法

 

 

至此设计就完成了,点击debug按键就可以在RAM中调试了。

5.如果要在RAM中调试中断还要如下定义 VECT_TAB_SRAM

6.在main的最开始加一句:NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0);

7.最后记得把硬件启动模式也改了  在CPU中调试就OK了!!!

 

 

 

 

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/wangyuezhuiyi/p/3241640.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值