2410的启动过程的疑惑

[复制链接]
 楼主| tc9148 发表于 2009-3-29 22:08 | 显示全部楼层 |阅读模式
---LDR&nbsp;r0,&nbsp;=|Image$$RO$$Base|&nbsp;/*RO段起始地址*/<br />---LDR&nbsp;r1,&nbsp;=|Image$$RO$$Limit|&nbsp;/*RO段结束地址*/<br />---LDR&nbsp;r2,&nbsp;=|Image$$RW$$Base|<br />---LDR&nbsp;r3,&nbsp;=|Image$$RW$$Limit|<br />---/*分别求出需要映像的代码和数据的长度并累加,放到寄存器R1中*/<br />---SUB&nbsp;r1,&nbsp;r1,&nbsp;r0<br />---SUB&nbsp;r3,&nbsp;r3,&nbsp;r2<br />---ADD&nbsp;r1,&nbsp;r1,&nbsp;r3<br />---/*将需要映象的代码和数据复制到RAM中去*/<br />---0&nbsp;/*标示符*/<br />---LDR&nbsp;r3,&nbsp;[r0],&nbsp;#4<br />---STR&nbsp;r3,&nbsp;[r2],&nbsp;#4<br />---SUBS&nbsp;r1,&nbsp;r1,&nbsp;#4<br />---BNE&nbsp;%B0&nbsp;/*如果没有复制完,跳转到0标示符处的汇编语句,继续复制,参见ARM指令帮助手册*/<br /><br /><br />三种输出段的起始和终止定位信息:Image$$RO$$Base、Image$$RO$$Limit、Image$$RW$$Base、Image$$Limit、Image$$Linit和Image$$ZI$$Limit<br /><br /><br />--&gt<br />我的疑惑是:一个存储在代码段的映像文件包括RO,RW,RZ三部分,其中的RW应该代码段中可读写的数据段,但是在STR&nbsp;r3,&nbsp;[r2],&nbsp;#4这句中怎么又变成了RAM区的起始地址了?<br />难道是RW身兼两职?既代表了代码段的可读写部分,又含有将要复制到的RAM区的起始地址?
 楼主| tc9148 发表于 2009-3-30 13:09 | 显示全部楼层

这里的版主能否详解一下。

  
seekfor 发表于 2009-3-30 13:45 | 显示全部楼层

前提是你的rw base刚好设置为RAM开始地址

  
 楼主| tc9148 发表于 2009-3-30 21:22 | 显示全部楼层

楼上的答案不满意,继续顶上来。

  
Ice_River 发表于 2009-3-31 11:10 | 显示全部楼层

怎么才能满意呢?

用AXD&nbsp;仿真一下全都看清楚了。这段代码就是将RW作为复制的目标地址进行代码搬移!
tw2835 发表于 2009-3-31 12:21 | 显示全部楼层

~^^^^^^^

---SUB&nbsp;r1,&nbsp;r1,&nbsp;r0<br />---SUB&nbsp;r3,&nbsp;r3,&nbsp;r2<br />---ADD&nbsp;r1,&nbsp;r1,&nbsp;r3<br />---/*将需要映象的代码和数据复制到RAM中去*/<br />---0&nbsp;/*标示符*/<br />---LDR&nbsp;r3,&nbsp;[r0],&nbsp;#4<br />---STR&nbsp;r3,&nbsp;[r2],&nbsp;#4<br />---SUBS&nbsp;r1,&nbsp;r1,&nbsp;#4<br />---BNE&nbsp;%B0&nbsp;]<br />如果按照3楼说的&nbsp;我怎么不理解r1的空间长度呢<br />r0&nbsp;r1&nbsp;r2是连续的么?<br />怎么按照我的理解应该是:<br />SUB&nbsp;r1,&nbsp;r1,&nbsp;r0<br />//SUB&nbsp;r3,&nbsp;r3,&nbsp;r2<br />//ADD&nbsp;r1,&nbsp;r1,&nbsp;r3<br />---/*将需要映象的代码和数据复制到RAM中去*/<br />---0&nbsp;/*标示符*/<br />---LDR&nbsp;r3,&nbsp;[r0],&nbsp;#4<br />---STR&nbsp;r3,&nbsp;[r2],&nbsp;#4<br />---SUBS&nbsp;r1,&nbsp;r1,&nbsp;#4<br />---BNE&nbsp;%B0&nbsp;]//就是把起始地址为r0长度为r1空间的数据&nbsp;复制到地址为r2的内存单元中<br />
您需要登录后才可以回帖 登录 | 注册

本版积分规则

137

主题

589

帖子

1

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

137

主题

589

帖子

1

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