发新帖我要提问
12
返回列表
[信息]

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

[复制链接]
楼主: 香水城
手机看帖
扫描二维码
随时随地手机跟帖
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里去的,是程序运行起来后拷贝到相应地址的?

使用特权

评论回复
评论
green1996 2018-6-22 16:42 回复TA
这种属于从Flash启动,然后程序分散加载的一种:在启动过程中,对SRAM进行配置(包括静态区、堆栈的初始化,以及.sct中所指定的section的代码拷贝) 
一笔带过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中执行确实提高了性能。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则