[信息] 【实战经验】KEIL中如何让程序在 RAM 中运行

[复制链接]
15929|39
hepstd 发表于 2016-8-3 22:57 | 显示全部楼层
非常详细,正需要这个资料,谢谢  
zzpaul 发表于 2016-9-29 14:23 | 显示全部楼层
感谢分享
phz0008 发表于 2016-12-9 16:39 | 显示全部楼层
好处就是可以在nor flash存数据,我准备这么用,就是flash中运行普通程序,采集来的数据先放在ram里,到了一定的时候运行在ram中的擦除烧写程序,把采集来的数据存在flash里
上官梦舞 发表于 2016-12-27 10:37 | 显示全部楼层
luscu 发表于 2016-7-28 22:19
有人可以解读一下具体使用的好处吗?

在RAM中跑的时候一些函数可以修改flash实现在应用中编程(IAP)比ISP方便
yinbibo 发表于 2017-4-6 07:42 | 显示全部楼层
按上面的步骤进行配置,让整个程序放在RAM中运行,

; *************************************************************
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************

LR_IROM1 0x08000000 0x00010000  {    ; load region size_region
  ER_IROM1 0x08000000 0x00010000  {  ; load address = execution address
  *.o (RESET, +First)
   *(InRoot$$Sections)
   .ANY (+RO)
  }
  RW_IRAM1 0x20000000 0x00010000  {  ; RW data
  *.o (RESET_ram, +First)
  startup_stm32f10x_hd_RAM.o(+RO)
  main.o(+RO +RW)
  
   .ANY (+RW +ZI)
  }
}

编译后,提示:
..\OBJ\BootLoaderFTPRAM.sct(7): error: L6236E: No section matches selector - no section to be FIRST/LAST.



becilies 发表于 2017-6-23 14:12 | 显示全部楼层
有点疑惑,这样程序是什么时候跑到ram里去的,是程序运行起来后拷贝到相应地址的?

评论

这种属于从Flash启动,然后程序分散加载的一种:在启动过程中,对SRAM进行配置(包括静态区、堆栈的初始化,以及.sct中所指定的section的代码拷贝)  发表于 2018-6-22 16:42
一笔带过00 发表于 2017-11-18 10:27 | 显示全部楼层
yinbibo 发表于 2017-4-6 07:42
按上面的步骤进行配置,让整个程序放在RAM中运行,

; *************************************************** ...

我也出现了这个问题,请问你解决了吗?
长夜伴灯 发表于 2017-12-7 22:18 | 显示全部楼层
KEIL中如何程序在 RAM 中运行
green1996 发表于 2018-6-22 16:51 | 显示全部楼层
becilies 发表于 2017-6-23 14:12
有点疑惑,这样程序是什么时候跑到ram里去的,是程序运行起来后拷贝到相应地址的? ...

这种属于从Flash启动,然后程序分散加载的一种:在启动过程中,对SRAM进行配置(包括静态区、堆栈的初始化,以及.sct中所指定的section的代码拷贝)
stm32jy 发表于 2018-6-22 21:03 | 显示全部楼层
感谢大版主分享,学习了。
stm32jy 发表于 2018-6-22 21:04 | 显示全部楼层
RAM中快多了,秒flash
地瓜patch 发表于 2018-7-3 15:57 | 显示全部楼层
参考做了一下,已经实现RAm跑程序,感谢版主
地瓜patch 发表于 2018-7-13 09:28 | 显示全部楼层
用#pragma arm section code将函数放到ram中,下载程序后,断电重新上电。ram中的函数还存在么?是不是没了?
wandersky 发表于 2022-3-29 16:41 | 显示全部楼层
只有文档,没有程序呀
aspoke 发表于 2022-5-28 17:56 | 显示全部楼层
这个好像需要修改ram地址吧  
yorkbarney 发表于 2022-5-29 12:35 | 显示全部楼层
RAM 不用更新flash吗
carpsnow 发表于 2022-5-29 15:35 | 显示全部楼层
感谢这帖子被翻出来,学习了
moticsoft 发表于 2022-5-30 08:52 | 显示全部楼层
非常不错的分享。在RAM中执行确实提高了性能。
neebourne 发表于 2025-5-24 15:12 | 显示全部楼层
您好, 我想基于您的这篇帖子“KEIL中如何程序在 RAM 中运行”开发bootloader 并将其放入ram里面运行,这篇文章里面代码下载连接已经失效了,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部