- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ARM地址重映射的通俗解释
转载:ARM 地址重映射的通俗解释
楼主:
转载:ARM 地址重映射的通俗解释
ARM, 映射, 地址, 解释
ARM 芯片的地址重映射 映射就是一一对应的意思。重映射就是重新分配这种一一对
应的关系。 我们可以把存储器看成一个具有输出和输入口的黑盒子。如下图所示,输
入量是地址,输出的是对应地址上存储的数据。当然这个黑盒子是由很复杂的半导体
电路具现的,具体的实现的方式我们现在不管。存储单位一般是字节。这样,每个字
帖
节的存储单元对应一个地址,当一个合法地址从存储器的地址总线输入后,该地址对
子
应的存储单元上存储的数据就会出现在数据总线上面。
:
61
积
分
:
34
1
图 1
普通的单片机把可执行代码和数据存放到存储器中。单片机中的 CPU 从储器中取指令
代码和数据。其中存储器中每个物理存储单元与其地址是一一对应而且是不可变的。
如下图,CPU 读取 0地址上存储单元的过程。
图 2
ARM 比较复杂。ARM 芯片与普通单片机在存储器地址方面的不同在于:ARM 芯片中
有些物理存储单元的地址可以根据设置变换。就是说一个物理存储单元现在对应一个
地址,经过设置以后,这个存储单元就对应了另外一个地址了。图 3 是随意举了个例
子(不要与 ARM 芯片对应),旨在说明地址重映射的过程。图 3 表示把 0
地址上的存储单元映射到新的地址 0上。CPU 存取 0就是存取
0上的物理存储单元。
图 3
下面图 4 ,图 5 是对 ARM 芯片的两种地址重映射方式的图示。 假设我们的应用程序
存放在外扩 FLASH 当中,那么应用程序的异常向量表就存放在 0起始的 64
个(其中有 32 个存放异常向量)物理存储单元中。但是 ARM 核发生异常(中断)后
是从 00x0000003F 地址范围取异常向量的。所以要把
00x8000003F 范围内的存储单元重新映射到 00x0000003F 地址
范围上。以后CPU 存取00x0000003F 地址就是存取00x8000003F
范围内的存储单元。图 4 只显示出第一个异常向量的地址重映射,整个异常向量表的
地址重映射等同这个过程。
图4
图 5
图 5 描述示了 ARM 芯片的另外一种映射方式。这个映射可以由用
文档评论(0)