共1条
1/1 1 跳转至页
关于ARM处理器Remap的理解(zz)

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的。启动程序会自动被cop
y到这个石头里面。自然异常向量的入口放到这个地方,一样可以达到比NOR boot快的启
动、异常响应速度。
2)如果你对NOR Boot情有独衷,那么你只好把你的异常向量的入口copy到SDRAM里
面,实现所谓的High Vector
关键词: 关于 处理器 Remap 理解
共1条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【EEPW电子工程师创研计划】技术变现通道已开启~ | |
发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
【EEPW在线】E起听工程师的声音! | |
“我踩过的那些坑”主题活动——第001期 | |
高校联络员开始招募啦!有惊喜!! | |
【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
送您一块开发板,2025年“我要开发板活动”又开始了! | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
【我踩过的那些坑】STM32的硬件通讯调试过程的“坑”被打赏50分 | |
【我踩过的那些坑】晶振使用的问题被打赏100分 | |
【我踩过的那些坑】电感选型错误导致的处理器连接不上被打赏50分 | |
【我踩过的那些坑】工作那些年踩过的记忆深刻的坑被打赏10分 | |
【我踩过的那些坑】DRC使用位置错误导致的问题被打赏100分 | |
我踩过的那些坑之混合OTL功放与落地音箱被打赏50分 | |
汽车电子中巡航控制系统的使用被打赏10分 | |
【我踩过的那些坑】工作那些年踩过的记忆深刻的坑被打赏100分 | |
分享汽车电子中巡航控制系统知识被打赏10分 | |
分享安全气囊系统的检修注意事项被打赏10分 |