david.huang
驱动牛犊
驱动牛犊
  • 注册日期2004-06-04
  • 最后登录2009-03-12
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望3点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:3288回复:5

请问ARM的内存的重映射(Remap)是怎么一回事,是如何实现的?

楼主#
更多 发布于:2004-06-17 17:02
现在若FLASH ROM的起始地址0x2000_0000,bootrom程序是装在这个里面,上电的时候系统将FLASH ROM的地址看作0x0,从这个执行程序,而FLASH本身的起始地址为0x2000_0000。系统是如何Remap的呢,是如何将FLASH的地址定为0x2000_0000,将SDRAM的地址定为0x0的呢?仅仅是将FLASH里的IMAGE文件拷贝到SDRAM里就可以了嘛,这个动作就能完成内存的重新映射了嘛?请大侠指点!(此处的ARM芯片已经将内存的起始终止地址定好,不能通过寄存器来配置)
flyhuan
驱动牛犊
驱动牛犊
  • 注册日期2001-12-11
  • 最后登录2005-06-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-07-02 23:16
首先要明确你使用的ARM是否支持MMU功能,如果支持就很简单啦
只需要配置MMU既可以实现内存地址的映射

如果不支持的话,一般来说可以靠配置每个memory的CS的基地址这种方式来实现映射.譬如将Flash的基地址映射为0
bubble
驱动牛犊
驱动牛犊
  • 注册日期2004-02-19
  • 最后登录2004-07-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-07-04 14:41
仔细看看Datasheet就可以了。
L7
L7
驱动牛犊
驱动牛犊
  • 注册日期2001-03-23
  • 最后登录2007-04-28
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-07-13 15:50
ARM7TDMI是不支持MMU的,ARM720T以上型号支持。
cccccgtz
驱动牛犊
驱动牛犊
  • 注册日期2004-03-08
  • 最后登录2010-04-23
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-07-14 11:26
remap这一概念在atmel的arm7中被着重提出,并且也给出了详细的例子。其实就是简单的MMU,但是没有内存保护。 :D
mailaoda
驱动牛犊
驱动牛犊
  • 注册日期2002-12-31
  • 最后登录2016-01-22
  • 粉丝0
  • 关注0
  • 积分68分
  • 威望11点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-07-28 19:23
remap的概念:从0x0取指令引导后,把RAM影射到0x0。
作用:加快启动的速度
配置:和CPU有关:ARM4510通过MEM BANK积存器来配置BANK的起始地址
                 AT91通过REMAP积存器的相关位配置
                 总之,处理器决定SDRAM对应的BANK不能改变
游客

返回顶部