ARM 重映射和映射

参考的这篇写下自己的理解

寄存器映射与重映射_地址重映射是什么-CSDN博客

映射和重映射:存储器是只能存储代码或者数据的,不具备规划地址的能力。在ARM微控制器设计中,给物理存储器分配逻辑地址的过程就称为存储器映射。如果给存储器再分配一个地址就叫存储器重映射。(注意是存储器而不是地址,一个地址只能访问唯一单元,抓住这个点)

寄存器映射:对外设的操作原本是对外设的某些寄存器配置配置,但是把这个寄存器“链接”到地址上,就相当于对这个地址处的存储器操作就等价于对外设的操作,叫寄存器映射。

在ARM芯片中,一个物理存储器(八位存储器)不一定只对应于一个地址,

ARM芯片中有些物理存储单元的地址可以根据设置变换。就是说一个物理存储单元现在对应一个地址,经过设置以后,这个存储单元就对应了另外一个地址了。下图为示意图。图中可以看出把0x00000000地址上的存储单元映射到了新的地址0x00000007上(重映射)。CPU存0x00000007就是存取0x00000000上的物理存储单元。(把存储器重新映射到一个地址处是由内核完成的)

假设我们的应用程序存放在外扩FLASH当中,那么应用程序的异常向量表就存放在0x80000000起始的64个(其中有32个存放异常向量)物理存储单元中。但是ARM核发生异常(中断)后是固定从0x00000000–0x0000003F地址范围取异常向量的。所以要把0x80000000–0x8000003F范围内的存储单元重映射 到0x00000000–0x0000003F地址范围上。以后CPU存取0x00000000–0x0000003F地址就是存取0x80000000–0x8000003F范围内的存储单元。

重映射的公式:

把某个存储器(系统最开始默认的地址的存储器)重映射(重新分配)到一个新地址,对新地址的访问就相当于对系统最开始默认地址访问

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值