在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!) 创芯人才网--重磅上线啦!
查看: 3034|回复: 3

关于arm中rw段执行域问题的讨论 ...

[复制链接]
发表于 2008-11-12 17:23:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
网上任何一篇介绍 arm bootloader 的文章都会提及对rw段的使用说明,而普遍较流行的一种说法如下: (完全copy
http://zhanglicn.blog.sohu.com/72551452.html)

因为RO段是只读的,在运行的时候不可以改变,所以,在运行的时候,RO段可以驻留在Flash里(当然也可以在SDRAM或者
SRAM里了)。而RW段是可以读写的,所以,在运行的时候必须被装载到SDRAM或者SRAM里。
     在用ADS编译的时候,是需要设置RO BASE 和RW BASE的,用过ADS的应该都清楚这点。通过RO BASE 和RW BASE的设置,
告诉链接器(linker)该程序的起始运行地址(RO BASE)和 RW段的地址 (RW BASE)。如果一个程序只有RO段,没有RW段,
那么这个程序可以完全在Flash里运行,不需要用到SDRAM 或者 SRAM。如果包括RW段和RO段,那么该程序的RW段必须在被访
问以前被拷贝到SDRAM 或者SRAM里去,以保证程序可以正确运行。下面这个图说明了一个程序执行前(load view)和执行时
(execute view)的状态。从图中可以看到,整个程序在执行前始放在ROM里的,在执行的时候,RW段被拷贝到了RAM里的合
适位置去。

针对此类对rw的讲法,我今天做了一个试验,将2410 bootloader的那段copy rw / 初始化 zi 的代码全部屏蔽掉,然后编译链
接下载到nor flash , 由nor启动, 程序居然正常运行 . 我的程序比较简单,但应该是包含了rw输入段的 .

这次实验是否能否认网上流行的这个所谓必须将rw段copy到sdram/sram中去运行的说法呢 , 个人认为只要是将程序下载到0
地址开始的类似nor/eeprom等线性的存储器上,程序就可以运行,而那个copy动作应该不是必须的.

渴望各位DX拍砖...
发表于 2008-11-13 10:31:21 | 显示全部楼层

启动代码

分散加载
发表于 2010-1-26 13:50:54 | 显示全部楼层
不错!很好
发表于 2010-2-11 00:27:45 | 显示全部楼层
支持~~~~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-6-16 16:33 , Processed in 0.025220 second(s), 10 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表