keil中,RTT 实现代码放到 vector和code 放到ram

本文介绍了如何将STM32F103ZET平台的中断向量和代码段放到RAM中运行。首先,通过修改.sct文件重新规划RAM和ROM。然后,编写代码将中断向量从ROM复制到RAM,并更新映射。对于代码部分,使用#pragma指令将特定代码段放入RAM。最终,通过检查.map文件验证操作结果,确保代码成功在RAM中运行。

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

        把代码和vector 放到ram的方法有很多种。参考了网上的资料和自己实际应用中的情况。先做出总结:

        平台以 stm32f103ZET为例子:

一、vector 放到ram中。

(1)第一步需要修改:.sct文件,重新规划ram和rom。根据 rtt官网提供的 sct文件。进行修改:

        RTT官网提供的源文件:

        修改后的sct文件:

 (2)、编写代码,复制rom的vector 到 ram中,并重新更改 vector 映射。

二、code放到 ram中。

(1)、修改sct文件,并添加 对应的 section。

 (2)、把指定 代码放到ram中。以#pragma arm section code = “RAMCODE” 开头,以#pragma arm section结尾。

(3)察看下结果:察看对应的.map文件。

对比下:没有放到ram中的情况:

明显看到 

RW_IRAM1这个ram中不存在任何东西。

(4)运行结果:代码运行在 ram中。

keil中,RTT实现代码放到vector和code放到ram-嵌入式文档类资源-优快云下载

另外的博客园的参考方法:
STM32 把程序放到 RAM中运行 - wuhh123 - 博客园stm32可以将代码直接下载到RAM中时行程序调试,同时可以有效避开STM32 Flash 擦写次数有限问题,其实除了仿真调试时将程序设置在RAM中可以解决FLASH擦写次数问题外,如果程序实际运行时https://www.cnblogs.com/wuhh123/p/14308954.html

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值