找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2323|回复: 5
打印 上一主题 下一主题
收起左侧

STM32 MDK能否将FLash中的代码复制到ram,在ram中运行

[复制链接]
跳转到指定楼层
楼主
ID:744809 发表于 2023-6-28 17:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
谢谢大家
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:883242 发表于 2023-6-28 19:27 | 只看该作者
当然可以。有两种做法不知道你到底说的是什么,如果害怕调试浪费flash寿命,在MDK里面把运行空间设在RAM即可,但是掉电就没有了。如果想长期运行,在程序里面写搬运到RAM的代码,跟MDK、IAR还是GCC无关,都是你自己写的。
回复

使用道具 举报

板凳
ID:744809 发表于 2023-6-29 08:32 | 只看该作者
Hephaestus 发表于 2023-6-28 19:27
当然可以。有两种做法不知道你到底说的是什么,如果害怕调试浪费flash寿命,在MDK里面把运行空间设在RAM即 ...

谢谢回复,昨天晚上已经实现搬运到sram1运行了。不过在ccmram中还是做不到
回复

使用道具 举报

地板
ID:879348 发表于 2023-6-29 08:59 | 只看该作者
可以,但是我记得以前看的资料说STM32的架构,在RAM运行速度比FLASH慢
回复

使用道具 举报

5#
ID:123036 发表于 2023-6-29 09:17 | 只看该作者
有两种做法,1.在mdk设置需要在ram运行的文件。这样编译器就帮你处理好了。
2.自己做个BootLoader,搜搜韦老师的 毕设级项目:基于单片机从零写BootLoader 就明白了。
回复

使用道具 举报

6#
ID:744809 发表于 2023-6-29 13:36 | 只看该作者
cctv180 发表于 2023-6-29 09:17
有两种做法,1.在mdk设置需要在ram运行的文件。这样编译器就帮你处理好了。
2.自己做个BootLoader,搜搜韦 ...

已经完成了,前几天一直有故障的原因是因为我在boot中初始化了几个外设,导致跳转过去进fault,现在改为boot 初始化前进行跳转,就可以正常运行了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表