[ZLG-ARM] ARM疑问?

[复制链接]
2100|1
 楼主| blackrose1 发表于 2007-6-27 10:29 | 显示全部楼层 |阅读模式
&nbsp;&nbsp;&nbsp;1.器件内部的flash,ROM,RAM都可以映射到地址0x0上,那位于0X0后面这一快是什么样的存储器呢?是RAM?<br />&nbsp;&nbsp;&nbsp;2.器件刚上电时,ROM就映射在地址0X0上,这么说我们的引导程序就存在ROM里,可是我在调试时怎么必须把引导程序指定在地址0X0上程序才能正确运行.如果指定在flash或ROM中就不行了(提示在0X0处没有指令,我用的KEIL&nbsp;FOR&nbsp;ARM).<br />&nbsp;&nbsp;&nbsp;3.经过地址映射后,RAM处于地址0X0上(之前是在0X200000上),那程序中定义的变量是存放在原来的位置,还是也会相应的移动??<br />
high 发表于 2007-6-29 00:47 | 显示全部楼层

re

说的是什么芯片啊?<br /><br />如果飞利浦的,我记得:<br /><br />1,rom运行后会remap到flash,此时flash的地址是0x0.<br />&nbsp;&nbsp;&nbsp;关于remap,我猜想&nbsp;这应该是类似mmu的简化实现,mmu可以借由地址转换表,把成片地址映射。remap只能映射一个地址。<br /><br />&nbsp;&nbsp;&nbsp;从物理地址来分析,rom位于地址0,<br />&nbsp;&nbsp;&nbsp;假设:flash位于0x100,ram位于0x200。<br /><br />&nbsp;&nbsp;&nbsp;rom的程序先得到执行,完毕后,remap地址0到flash,此刻,flash拥有2个访问地址:0x0和0x100.&nbsp;&nbsp;rom此刻被remap到了其他地址去了,假设0x300。<br /><br />2.前述,因为cpu交给flash时候,flash的地址已经是0x0了,所以ro就必须设定为地址0<br /><br />3.remap只会改变访问地址,猜想,大概就是设置一个地址转换寄存器,不会做其他工作。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

12

帖子

0

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