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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

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

关于ARM处理器Remap的理解 转贴

[复制链接]
发表于 2003-11-13 20:20:50 | 显示全部楼层 |阅读模式

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

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

x
关于ARM处理器Remap的理解

Comprehension About ARM Remap
关于ARM处理器Remap的理解

0.什么是Remap
    我的理解是:在ROM从0x0用几句指令引导系统之后,把RAM映射到0x0就是Remap。
1.Remap的作用
    当ARM处理器上电或者Reset之后,处理器从0x0取指。因此,必须保证系统上电时,0x0处有指令可以执行。所以,上电的时候,0x0地址处必定是ROM或者Flash(NOR)。
    但是,为了加快启动的速度,也方便可以更改异常向量表,加快中断响应速度,往往把异常向量表映射到更快、更宽(32bit/16bit)的RAM中。但是异常向量表的开始地址是由ARM架构决定的,必须位于0x0处,因此,必须把RAM映射到0x0。
2.Remap的配置
    Remap的实现和ARM处理器的实现相关。
    1)如果处理器有专门的寄存器可以完成Remap。那么Remap是通过Remap寄存器的相应bit置1完成的。如Atmel AT91xx
    2)如果处理器没有专门的寄存器,但是memory的bank控制寄存器可以用来配置bank的起始地址,那么只要把RAM的起始地址编程为0x0,也可以完成remap。如samsung s3c4510
    3)如果上面两种机制都没有,那么Remap就不要做了。因为处理器实现决定了SDRAM对应的bank地址是不能改变的。如Samsung S3c2410.
3.Remap配置前后要做的工作
    Remap前后,不同之处就是RAM的位置变了。为了达到Remap的目的,就是加快启动的速度和异常处理速度,一定要初始化异常堆栈和建立异常向量表的。
4.如果象2410那样不能Remap的话怎么办?
    2410不是不能Remap吗?为了加快启动速度,可以这样做
    1)使用它的NAND boot模式。为什么NAND boot会比较快,那是因为2410里面有块小石头——“SteppingStone”,一块4KB SRAM,它是映射在0x0的。启动程序会自动被copy到这个石头里面。自然异常向量的入口放到这个地方,一样可以达到比NOR boot快的启动、异常响应速度。
    2)如果你对NOR Boot情有独衷,那么你只好把你的异常向量的入口copy到SDRAM里面,实现所谓的High Vector
 
Copyright©(版权所有)2003 PALaDiN(转载请注明出处)


发表于 2003-12-7 16:33:40 | 显示全部楼层

关于ARM处理器Remap的理解 转贴

我所用的一般有MMU,专门作memory map和管理
没有试过high vector,有谁有实际经验?
发表于 2004-3-21 03:19:10 | 显示全部楼层

关于ARM处理器Remap的理解 转贴

像44b0那样没有remap寄存器,是不是他自动remap的?我看那些程序都在启动完后都没有指明让程序从哪里开始跑,是不是编译的时候设置就可以了
发表于 2004-7-17 13:43:02 | 显示全部楼层

关于ARM处理器Remap的理解 转贴

好文!
发表于 2010-1-28 17:35:27 | 显示全部楼层
GOOD 1
发表于 2010-7-1 22:21:15 | 显示全部楼层
very good
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-9-28 13:15 , Processed in 0.029984 second(s), 9 queries , Gzip On, Redis On.

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