打印
[ZLG-ARM]

ARM疑问?

[复制链接]
1557|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
blackrose1|  楼主 | 2007-6-27 10:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
   1.器件内部的flash,ROM,RAM都可以映射到地址0x0上,那位于0X0后面这一快是什么样的存储器呢?是RAM?
   2.器件刚上电时,ROM就映射在地址0X0上,这么说我们的引导程序就存在ROM里,可是我在调试时怎么必须把引导程序指定在地址0X0上程序才能正确运行.如果指定在flash或ROM中就不行了(提示在0X0处没有指令,我用的KEIL FOR ARM).
   3.经过地址映射后,RAM处于地址0X0上(之前是在0X200000上),那程序中定义的变量是存放在原来的位置,还是也会相应的移动??

相关帖子

沙发
high| | 2007-6-29 00:47 | 只看该作者

re

说的是什么芯片啊?

如果飞利浦的,我记得:

1,rom运行后会remap到flash,此时flash的地址是0x0.
   关于remap,我猜想 这应该是类似mmu的简化实现,mmu可以借由地址转换表,把成片地址映射。remap只能映射一个地址。

   从物理地址来分析,rom位于地址0,
   假设:flash位于0x100,ram位于0x200。

   rom的程序先得到执行,完毕后,remap地址0到flash,此刻,flash拥有2个访问地址:0x0和0x100.  rom此刻被remap到了其他地址去了,假设0x300。

2.前述,因为cpu交给flash时候,flash的地址已经是0x0了,所以ro就必须设定为地址0

3.remap只会改变访问地址,猜想,大概就是设置一个地址转换寄存器,不会做其他工作。

使用特权

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

本版积分规则

9

主题

12

帖子

0

粉丝