| 关于ARM处理器Remap的理解 |
| 类别:电子综合 |
|
什么是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完成的。如AtmelAT91xx 2)如果处理器没有专门的寄存器,但是memory的bank控制寄存器可以用来配置bank的起 始地址,那么只要把RAM的起始地址编程为0x0,也可以完成remap。如samsungS3C4510 3)如果上面两种机制都没有,那么Remap就不要做了。因为处理器实现决定了SDRAM对应 的bank地址是不能改变的。如SamsungS3C2410. 3.Remap配置前后要做的工作 Remap前后,不同之处就是RAM的位置变了。为了达到Remap的目的,就是加快启动的速度 和异常处理速度,一定要初始化异常堆栈和建立异常向量表的。 4.如果象2410那样不能Remap的话怎么办? 2410不是不能Remap吗?为了加快启动速度,可以这样做 1)使用它的NANDboot模式。为什么NANDboot会比较快,那是因为2410里面有块小石 头——“SteppingStone”,一块4KBSRAM,它是映射在0x0的。启动程序会自动被copy 到这个石头里面。自然异常向量的入口放到这个地方,一样可以达到比NORboot快的启 动、异常响应速度。 2)如果你对NORBoot情有独衷,那么你只好把你的异常向量的入口copy到SDRAM里面, 实现所谓的HighVector
|
- 海尔空调制冷故障维..
- 2008-1-25
- 大尺寸TFT显示器..
- 2008-1-27
- 利用DC/DC转换..
- 2008-1-27
- 电动车铅酸蓄电池的..
- 2008-1-27
- 大型搅拌站自动配料..
- 2008-1-27
- 城市和工业污水处理..
- 2008-1-27
- 开关电源的数字控制..
- 2008-1-27
- 精密的智能电池使充..
- 2008-1-27
- 基于DSP控制的2..
- 2008-1-27
- 增强型运营商级多服..
- 2008-1-27
- 高效CCD数码相机..
- 2008-1-27
- Atheros 单..
- 2008-1-27
- Philips 推..
- 2008-1-27
- Fujitsu 数..
- 2008-1-27
- 如何给PCI卡选用..
- 2008-1-27
- A/D转换芯片的测..
- 2008-1-27
- 基于CTl技术的交..
- 2008-1-27
- MMIC和RFIC..
- 2008-1-27
- 利用皮弹服务器进行..
- 2008-1-27
- 白色发光二极管及其..
- 2008-1-27



