先说说存储器映射:
所谓存储器映射,是指将开发板上不同的存储器映射到开发人员可见的4GB地址空间上,例如,假设开发板上有一个32KB的片内FLASH,16KB的片内SRAM(纯属虚构,如有雷同,纯属巧合),那么,将32KBFLASH映射到地址空间的0x00000000~0x0x00008FFF上,将16KB的SRAM映射到x40000000~0x40004fff上,这样开发者在读写0x00000000~0x00008fff内的地址时,访问的就是片内FLASH,不同开发板的映射规则是开发板厂商事先设定好的。
下面说说什么是重映射:
重映射分为中断向量的重映射和boot的重映射
首先说说中断向量重映射
ARM中中断向量的地址位于0x00000000~0x0000003c(每个向量占4字节,但是为了能够实现4GB范围内的任意跳转,通常在中断向量表后附加一个跳转地址空间,跳转空间占4字节,因此,总的中断向量表大小为64B,不熟悉的自己查查ARM的中断向量吧,不多说了)。注意,这里所说的0x0000000~0x0000003C指的是用户可见的4GB地址空间(也就是上面所说的存储器映射后的地址空间),真正的中断向量位于哪块存贮器的哪个地址上可不一定(不过通常都是为与片内FLASH的底部),因此,需要将不同存储器的中断向量表映射到0x00000000~0x0000003c的地址上。另外,还有一次中断向量的映射,在用户RAM的映射模式(稍后说映射模式)下,需要将中断向量映射到静态RAM的底部(很明显,这样能够提高访问速度)。
下面是boot的重映射
这里所说的boot不是bootloader,而是厂商实现内嵌到板子中的一段代码,用于执行对FLASH的读写,擦除等任务,通常位于片内存储器上,但是不同的板子上存储器的大小不同,为了程序的兼容,通常需要将boottblock重映射到存储空间的顶端。
最后说一下映射模式:
ARM中支持4中映射模式,由存储器控制寄存器控制
四种模式为:
1.boot装载程序模式:在任何复位操作后都会执行Boot装载程序。Bootblock中中断向量映射到存储器的底端以允许处理异常,并在Boot装载过程中使用中断。
2.用户FLASH模式:当在存储器中识别了一个有效的用户程序标识并且Boot装载操作未被执行时,由Boot装载程序启动。中断向量没有重新映射,位于Flash的存储器底部
3.用户Flash:中断向量被映射到静态RAM的底部
4.用户外部模式:中断向量有外部存储器映射到存储空间底部。
上一篇:linux下S3C2410的DMA驱动程序开发
下一篇:s3c2410_i2c总线驱动及at24c02设备驱动实例
推荐阅读最新更新时间:2024-11-10 07:11
设计资源 培训 开发板 精华推荐
- 使用 ON Semiconductor 的 CS-452 的参考设计
- 4-20 mA 低功耗、14 位、过程控制电流回路变送器
- LTC3634IFE 降压稳压器的典型应用电路,具有使用两个输入电源的 2 相 VTT 终端
- DC1753B-A,基于 LTC3880EUJ 双相单输出 PMBus 降压的演示板 (RSENSE),6.5V = VIN= 24V,VOUT = 0.5V 至 3.3V @ 40A
- EVAL-AD974CBZ,用于 AD974 4 通道、16 位、200 kSPS ADC 的评估板
- LTC3624IDD-5 5V 输出电压、2A 同步降压型稳压器的典型应用,具有 2.25MHz
- 基于ST25R3916的NFC读卡器扩展板,用于STM32和STM8 Nucleos
- NB3X6X1XXG16QFNEVK:8 kHz 至 200 MHz 一次性可编程时钟发生器评估套件,适用于 16 引脚 QFN 封装
- ADM7150CP-EVALZ,用于评估 ADM7150 线性稳压器的评估板
- LT6656BCDC-3.3、3.3V ADC 电压基准和桥式激励电源的典型应用
- 华为无人驾驶技术开花,推出数据中心可处理16个摄像头22雷达
- 人体植入微型芯片:坚决抗拒的你,未来会感叹“真香”吗?
- 佳能发布FPD曝光设备新品—MPAsp-H1003T
- ROHM推出2W大功率长边厚膜贴片电阻器LTR50低阻值系列
- 英国比克科技发布两款射频新产品
- 品佳推出Richtek USB智能功率分配及Type-C PD车载充电器解决方案
- 博世携手华为云推出物联网套件服务,加速IOT在中国发展
- 美光基金会宣布提供 100万美元的拨款用于人工智能探索
- Micron Insight 大会:美光宣布进行 1 亿美元风险投资以加速创新
- 南京沃天携新产品精彩亮相 SENSOR CHINA 2018