找回密码
 注册
搜索
查看: 1994|回复: 10

[讨论] scatter映射:加载域、运行域 涉及到的数据搬移?

[复制链接]
发表于 2010-3-7 16:49:07 | 显示全部楼层 |阅读模式
  平日里对scatter映射也就是了解个大概意思,简单的应付一些项目需求是够用了,但是往细里分析,就不灵了,在这里向这方面有深刻见解的TX请教一下,我这里有一个疑问:

  以NORFlash+PSRAM的配置为例,已知的是,加载(load)时RO+RW都是存放在ROM中的,运行(run)时,RW被拷贝到PSRAM中,scatter文件就具体的反映出了运行(run)时RO、RW的实际存放位置。而我想了解的是加载(load)时RO、RW的存放次序是如何的?比如说,我可以用scatter文件来限定运行(run)时RO、RW的具体存放地址,

  ROM

  A.o(+RO)

  B.o(+RO)

  RAM

  A.o(+RW)

  B.o(+RW)

  那么,加载(load)时RO、RW的存放地址是不是存在两种可能:

  第一种情况:

  ROM

  A.o(+RO)

  B.o(+RO)

  A.o(+RW)

  B.o(+RW)

  第二种情况:

  ROM

  A.o(+RO)

  A.o(+RW)

  B.o(+RO)

  B.o(+RW)

  我对加载(load)时的理解是bin下载到NORflash中但是系统尚未启动前的状态,如果加载(load)时的存放地址如同第一种情况所示,那么运行(run)时ROM中的RO数据就无需搬移了,而如果是第二种情况所示,那么运行(run)时ROM中的RO数据还需要再搬移一次,将B.o的RO数据搬移到A.o的RW数据的地址处,因为要满足运行(run)时A.o和B.o的RO数据相连续的定义。

  以上就是我的理解和疑问,运行(run)时RO、RW的数据存放地址可以由SCATTER文件来定义,加载(load)时RO、RW的数据存放地址是如何决定的呢?

  嗨,半瓶子醋的我也不知说没说清楚,还请TX不吝赐教,谢谢!

  
发表于 2010-3-10 13:03:40 | 显示全部楼层
楼主很有研究精神,值的学习,可惜我不懂,
只能帮顶了!
点评回复

使用道具 举报

发表于 2010-4-23 11:36:18 | 显示全部楼层
这个问题问得好,我也想了解了解这方面情况。[em01]
点评回复

使用道具 举报

发表于 2010-4-23 14:33:09 | 显示全部楼层
第二种情况也可以不搬移的,看你的link script怎么写的,完全由它决定。
share出来看看,代码段没有必要一定相连。
点评回复

使用道具 举报

发表于 2010-4-29 11:04:54 | 显示全部楼层
NORFlash XIP型,不需要搬移即可就地运行.
INTRam,EXTRam部分需要搬移过去。已加快速度。
点评回复

使用道具 举报

发表于 2010-4-29 11:06:54 | 显示全部楼层
NORFlash XIP型,不需要搬移即可就地运行.
INTRam,EXTRam部分需要搬移过去。已加快速度。
数据存放地址由Scat来定。
点评回复

使用道具 举报

发表于 2010-4-29 17:06:05 | 显示全部楼层
不懂,学习
点评回复

使用道具 举报

发表于 2010-5-4 15:54:18 | 显示全部楼层
大概思路是这样子,每个编译器都会有区别;

SCAT是要借助cpu启动代码才能配合的;

对于只读数据,编译时直接指向Rom的地址;

编译器会把无初始化的变量单独放在一起,执行时直接指向RAM;CPU启动时会把这部分直接初始化成0;

也会把带有初始值的变量放在一起,这些会在ROM有一个IMAGE,编译时的地址指向ram;CPU启动时会把image copy到RAM的地址,从而完成初始化;
点评回复

使用道具 举报

发表于 2010-9-3 02:28:19 | 显示全部楼层
太深奥了[em07][em03]
点评回复

使用道具 举报

发表于 2012-2-23 16:54:12 | 显示全部楼层
.......[em05]
点评回复

使用道具 举报

发表于 2012-4-1 14:42:39 | 显示全部楼层
楼主,这个问题不难理解.你可以打开你的代码,看一下启动部分(汇编部分),就会一目了然.
如果是xip模式,启动部分代码会执行rw的搬移和初始化.
如果代码完全在psram当中运行,ro和rw需要被搬移到psram当中,然后执行rw初始化.
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-10-7 00:20 , Processed in 0.046118 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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