当前位置:首页 >> 其它课程 >>

ARM地址重映射的通俗解释


转载:ARM 地址重映射的通俗解释?

? ?? 楼主:? ? 转载:ARM 地址重映射的通俗解释? ARM,? 映射,? 地址,? 解释? ARM 芯片的地址重映射?映射就是一一对应的意思。重映射就是重新分配这种一一对 应的关系。?我们可以把存储器看成一个具有输出和输入口的黑盒子。如下图所示,输 入量是地址,输出的是对应地址上存储的数据。当然这个黑盒子是由很

复杂的半导体 电路具现的,具体的实现的方式我们现在不管。存储单位一般是字节。这样,每个字 帖 节的存储单元对应一个地址,当一个合法地址从存储器的地址总线输入后,该地址对 子 应的存储单元上存储的数据就会出现在数据总线上面。? :? 61? 积 分 :? 34 1?

?? 图 1?? 普通的单片机把可执行代码和数据存放到存储器中。 单片机中的 CPU 从储器中取指令

代码和数据。其中存储器中每个物理存储单元与其地址是一一对应而且是不可变的。 如下图,CPU 读取 0x00000000 地址上存储单元的过程。?

?? ???????????????????图 2?? ARM 比较复杂。ARM 芯片与普通单片机在存储器地址方面的不同在于:ARM 芯片中 有些物理存储单元的地址可以根据设置变换。就是说一个物理存储单元现在对应一个 地址,经过设置以后,这个存储单元就对应了另外一个地址了。图 3 是随意举了个例 子(不要与 ARM 芯片对应) ,旨在说明地址重映射的过程。图 3 表示把 0x00000000 地址上的存储单元映射到新的地址 0x00000007 上。CPU 存取 0x00000007 就是存取 0x00000000 上的物理存储单元。?

?? ??????????????????图 3?? 下面图 4,图 5 是对 ARM 芯片的两种地址重映射方式的图示。?假设我们的应用程序 存放在外扩 FLASH 当中,那么应用程序的异常向量表就存放在 0x80000000 起始的 64 个(其中有 32 个存放异常向量)物理存储单元中。但是 ARM 核发生异常(中断)后 是从 0x00000000~0x0000003F 地址范围取异常向量的。所以要把 0x80000000~0x8000003F 范围内的存储单元重新映射到 0x00000000~0x0000003F 地址 范围上。 以后 CPU 存取 0x00000000~0x0000003F 地址就是存取 0x80000000~0x8000003F 范围内的存储单元。图 4 只显示出第一个异常向量的地址重映射,整个异常向量表的 地址重映射等同这个过程。??

?? 图 4??

? 图 5?? 图 5 描述示了 ARM 芯片的另外一种映射方式。这个映射可以由用户决定采用还是不 采用(相关代码在工程文件的 startup.s 中,这个文件是第三方提供,用户可以修改) 。

这个映射主要是为了提高应用程序异常相应得速度。当我们把应用程序存放在片内 FLASH 的时候,异常向量表存放在 0x00000000~0x0000003F 存储单元内。每次发生异 常,CPU 从 0x00000000~0x0000003F 地址上取异常向量。但是对 RAM 的存取速度远 高于对 FLASH 的存取速度,所以为了提高异常相应速度我们采取以下做法:? ?Step?1:? ??先把 0x00000000~0x0000003F(FLASH)存储单元内的异常向量表复制?到 0x40000000~0x4000003F(片内 RAM 的最低端 64 个字节的存储单元)范围内存储单 元中。?? ?Step?2:? ???把 0x40000000~0x4000003F 范围内存储单元地址重新映射到 0x00000000~0x0000003F 地址范围。?这样做了以后,当异常发生的时候,CPU 取异常 向量就是从 RAM 区中的异常向量表中区,速度快了。比如复位中断发生,CPU 从地 址 0x00000000 取指令,但此时由于已经过地址重新映射,这个 0x00000000 被地址转 换器转换成 0x40000000,CPU 实际上是取的 RAM 区中 0x400000000 这个存储单元内 的指令(异常向量) 。?当然用户可以不进行这种映射。片内 FLASH 中 0x00000000~0x0000003F 存储单元具有一模一样的异常向量表。只不过不进行这种处 理,异常相应速度慢一点。但是这种速度上的差别很多情况下是不必要在意的。? ?????图中的地址转换器受控制寄存器 MENMAP 的控制, 用户可以设置 MENMAP 实现对 地址重映射的控制。这个地址转换器显然是通过内部硬件电路实现的。?? 金升阳电源技术交流会,时尚数码礼品等你拿!? ? Digi‐Key、Future、Arrow、Mouser、RS?Conponents、OnlineConpunents 实时库存在线查询 订购!?

yewuyi 发表于? 2008‐8‐14?11:50?|? 只看该作者? 回复? 引用? 评分? 报告? 返回版面? 帖 子 :? 66 55? 积 分 :? 36 09 3? TOP? 2 楼:? ?

对于第一种中断向量的重映射
如果像普通 MCU 那样不需要外括 FLASH,这样是否就不需要重映射中断向量地址 了?? ? CM3 那样的是否就不用考虑重映射了?? 金升阳电源技术交流会,时尚数码礼品等你拿!? ?
Digi‐Key、Future、Arrow、Mouser、RS?Conponents、OnlineConpunents 实时库存在线查询 订购!?

galaxy9229 发表于? 2008‐8‐14?13:51?|? 只看该作者? 回复? 引用? 评分? 报告? ? 帖子:?61? 返回版面? TOP? 3 楼:? ?

积分:? 341?

重映射是可选项,不是必须的,根据你的需求和设计来决定
金升阳电源技术交流会,时尚数码礼品等你拿!? ? Digi‐Key、Future、Arrow、Mouser、RS?Conponents、OnlineConpunents 实时库存在 线查询订购!?

真白菜发表于? 2008‐8‐21?19:00?|? 只看该作者? 回复? 引用? 评分? 报告? 返回 版面? TOP? 4 楼:? ?

? 帖子:?81? 积分:? 253?

顶该加裤子!!!!!!!!!!!!!1
金升阳电源技术交流会,时尚数码礼品等你拿!? ? Digi‐Key、Future、Arrow、Mouser、RS?Conponents、OnlineConpunents 实时库存在 线查询订购!?

tanchao 发表于? 2008‐8‐22?10:25?|? 只看该作者? 回复? 引用? 评分? 报告? 返 回版面? TOP? 5 楼:? ?

? 帖子:? 110? 积分:? 688?

建议加精
如题? 金升阳电源技术交流会,时尚数码礼品等你拿!? ? Digi‐Key、Future、Arrow、Mouser、RS?Conponents、OnlineConpunents 实时库存在 线查询订购!? Wxy8030 发表于? 2008‐9‐2?15:10?|? 只看该作者? 回复? 引用? 评分? 报告? 返 回版面? TOP? 6 楼:? ?

LPC213X 系列说把异常入口向量复制到 RAM 中运行的快
? 帖子:? 541? 积分:? 3924? 就是从 FLASH 中跳到 RAM 中,然后从 RAM 中再跳到 FLASH 中,比直接在 FLASH 中跳能快多少?? ? 还有就是把一段程序复制到 RAM 中,运行速度快......这样做安全吗?? ? 还有就是中断向量都是保存在 RAM 中的......安全么?? ? 总觉得 ARM 适合消费电子,不太适合工业控制!? 金升阳电源技术交流会,时尚数码礼品等你拿!? ? Digi‐Key、Future、Arrow、Mouser、RS?Conponents、OnlineConpunents 实时库存在 线查询订购!?

原野之狼发表于? 2008‐9‐8?09:53?|? 只看该作者? 回复? 引用? 评分? 报告? 返回版面 TOP? 7 楼:? ? ? 帖子:?1323? 积分:?5149?

PC 的程序就运行在 RAM 里
金升阳电源技术交流会,时尚数码礼品等你拿!? ? Digi‐Key、Future、Arrow、Mouser、RS?Conponents、OnlineConpunents 实时库存在线查 询订购!?

Wxy8030 发表于? 2008‐9‐9?08:36?|? 只看该作者? 回复? 引用? 评分? 报告? 返回版面 TOP? 8 楼:? ? ? 帖子:?541? 积分:?3924?

所以 PC 老死机!
!? 金升阳电源技术交流会,时尚数码礼品等你拿!? ?
Digi‐Key、Future、Arrow、Mouser、RS?Conponents、OnlineConpunents 实时库存在线查 询订购!?

xwj 发表于? 2008‐9‐9?08:39?|? 只看该作者? 回复? 引用? 评分? 报告? 返回版 ? 帖子:? 15575? 积分:? 74777? 面? TOP? 9 楼:? ?

“死机”和“运行在 RAM 里”没多大关系
金升阳电源技术交流会,时尚数码礼品等你拿!? ? Digi‐Key、Future、Arrow、Mouser、RS?Conponents、OnlineConpunents 实时库存 在线查询订购!?

dld2 发表于? 2008‐9‐9?08:51?|? 只看该作者? 回复? 引用? 评分? 报告? 返回版 面? TOP? 10 楼:? ? ? 帖子:? 2387? 积分:? 8200?

映射不是“一一对应”
重映射之后,一般原来的地址依然有效。? 也就是说,可能两个地址,对应一个存储单元。? ? 另外也不同意 6 楼的说法。? 金升阳电源技术交流会,时尚数码礼品等你拿!? ? Digi‐Key、Future、Arrow、Mouser、RS?Conponents、OnlineConpunents 实时库存 在线查询订购!?

galaxy9229 发表于? 2008‐9‐10?17:55?|? 只看该作者? 回复? 引用? 评分? 报告 返回版面? TOP? 11 楼:? ? ? 帖子:?61? 积分:?341?

“一一对应”应该理解为可配置的“一一对应”,而不是固
“一一对应”应该理解为可配置的“一一对应”,而不是固定不变的? 金升阳电源技术交流会,时尚数码礼品等你拿!? ? Digi‐Key、Future、Arrow、Mouser、RS?Conponents、OnlineConpunents 实时库存 在线查询订购!? avr32 发表于? 2008‐9‐17?10:02?|? 只看该作者? 回复? 引用? 评分? 报告? 返回 版面? TOP? 12 楼:? ?

? 帖子:?679? 积分:? 2642?

高中数学老师说过
函数是一种特殊的影射? 金升阳电源技术交流会,时尚数码礼品等你拿!? ? Digi‐Key、Future、Arrow、Mouser、RS?Conponents、OnlineConpunents 实时库存 在线查询订购!? weibn 发表于? 2008‐11‐2?22:10?|? 只看该作者? 回复? 引用? 评分? 报告? 返回版 面? TOP? 13 楼:? ?

? 帖子:? 1? 积分:? 6?

ARM 地址重映射的通俗解释
醍醐灌顶,谢谢~? 金升阳电源技术交流会,时尚数码礼品等你拿!? ?
Digi‐Key、Future、Arrow、Mouser、RS?Conponents、OnlineConpunents 实时库存在线 查询订购!?

noend297 发表于? 2008‐12‐15?21:31?|? 只看该作者? 回复? 引用? 评分? 报告? 返 回版面? TOP? 14 楼:? ? ? 帖子:? 29? 积分:? 85?

重映射是重复映射
我感觉有篇文章解释的更容易理解:重映射是重复映射,就是一个单元分配了 两个地址。例如 boot 重映射了,但在原来的地址还是能读出来? 金升阳电源技术交流会,时尚数码礼品等你拿!? ? Digi‐Key、Future、Arrow、Mouser、RS?Conponents、OnlineConpunents 实时库存在线 查询订购!?

lelee007 发表于? 2009‐8‐2?22:47?|? 只看该作者? 回复? 引用? 评分? 报告? 返回版 ? 帖子:? 3707? 积分:? 15135? 面? TOP? 15 楼:? ? 哈哈,讨论的挺有意思? ? 重复映射让俺长见识 金升阳电源技术交流会,时尚数码礼品等你拿!? ? Digi‐Key、Future、Arrow、Mouser、RS?Conponents、OnlineConpunents 实时库存在 线查询订购!? mmd2102 发表于? 2009‐8‐5?20:34?|? 只看该作者? 回复? 引用? 评分? 报告? 返回 版面? TOP? 16 楼:? ? 好帖子又出来.拜读中.作者写的很好,转帖的人也有功劳. 买 IC 上 21IC 库 存频道!? kucun.21ic.com 金升阳电源技术交流会,时尚数码礼品等你拿!? ? Digi‐Key、Future、Arrow、Mouser、RS?Conponents、OnlineConpunents 实时库存在 线查询订购!? 雪域流星发表于? 2009‐8‐9?22:09?|? 只看该作者? 回复? 引用? 评分? 报告? 返回版 ? 帖子:? 10? 正在学习? 谢了 积分:? 金升阳电源技术交流会,时尚数码礼品等你拿!? ? 18? Digi‐Key、Future、Arrow、Mouser、RS?Conponents、OnlineConpunents 实时库存在线 查询订购!? 一只小蜗牛发表于? 2009‐8‐19?10:38?|? 只看该作者? 回复? 引用? 评分? 报告? 返 回版面? TOP? 18 楼:? ? 学习中 ? 壳子 外面 的世 界很 多 彩。 壳子 里面 的世 界很 面? TOP? 17 楼:? ?

? 帖子:? 632? 积分:? 8106?

帖子:? 755? 积分:? 2294?

自 在。
金升阳电源技术交流会,时尚数码礼品等你拿!? ? Digi‐Key、Future、Arrow、Mouser、RS?Conponents、OnlineConpunents 实时库存在线 查询订购!?

ttlasong 发表于? 2009‐8‐22?01:49?|? 只看该作者? 回复? 引用? 评分? 报告? 返回 ? 帖子:? 137? 积分:? 498? 版面? TOP? 19 楼:? ? 顶一顶 金升阳电源技术交流会,时尚数码礼品等你拿!? ? Digi‐Key、Future、Arrow、Mouser、RS?Conponents、OnlineConpunents 实时库存在 线查询订购!? 华荣汇 FAE4 发表于? 2009‐8‐24?17:48?|? 只看该作者? 回复? 引用? 评分? 报告 ? 帖子:?31? 积分:?87? 返回版面? TOP? 20 楼:? ? 顶一顶 金升阳电源技术交流会,时尚数码礼品等你拿!? ?
Digi‐Key、Future、Arrow、Mouser、RS?Conponents、OnlineConpunents 实时库存在 线查询订购!?

?
返回列表?

12 下一页 ? ? 高级回复? |? 发新话题? ? B?Color? ? Image?Link?Quote?Code?Smilies? ?

? 发表回复

?

ARM? 论坛侃单片机技术交流 21IC 发展大家谈人才聘任同僚|校友|老乡会 ARM?Linux 入门与实践模拟技术 DIY 小组讨论区竞赛专栏客户服务热线:010-59705655

21ic 不良信息举报(24 小时):013681498700 举报邮箱:info@21ic.com 21IC 中国电子网 2000-2009 爱奇新星(北京)信息科技有限公司版权所有 ?


相关文章:
ARM芯片的地址重映射
时,MMU 先查找 TLB(Translation Lookaside Buffer,旁路转换缓冲) 中的虚拟地址表...ARM地址重映射的通俗解释... 11页 免费 ARM芯片系列简介 13页 免费 arm芯片...
ARM 关于地址重映射
ARM 关于地址重映射_IT/计算机_专业资料。ARM 关于地址重映射 关于地址重映射 1、通俗解释 ARM 芯片的地址重映射 映射就是一一对应的意思。重映射就是重新分配这...
ARM芯片的地址重映射机制
ARM地址重映射的通俗解释 11页 免费 arm启动原理及代码分析 24页 免费如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈。 ...
arm地址空间分配与启动时地址的映射
arm地址空间分配与启动时地址的映射_信息与通信_工程...s3c2440 存储控制器和地址以及启动的理解 s3c2440 ...通俗的说,只给地址不行,要先命令,再给地址,才能...
ARM映像文件及其地址映射
ARM映像文件及其地址映射_信息与通信_工程科技_专业资料。ARM 映像文件及其地址映射 2010-06-24 14:16 1、什么是 arm 的映像文件, arm 映像文件其实就是可执行...
PCI9054中PCI端地址和Local地址的转换重映射
PCI9054中PCI端地址和Local地址的转换重映射_信息与通信_工程科技_专业资料。PCI...或者是这样理解,0x78900000h 是存放在 PCI 基址寄存器 2 中, 在系统进行写入 ...
ARM的启动加载_BOOTLOAD的详细解释
ARM地址重映射的通俗解释... 3页 1下载券 第6章 bootload启动代码... 暂无...ARM 的启动加载方式_bootload 详细解释 最近在学习 ARM 的过程中,遇到了一些...
ARM的启动过程
· 地址重映射及中断向量表的转移 · 堆栈初始化 ...本文有助于正在从事嵌入式 ARM 开发的读者理解启动...2410 启动代码分析 这一章主要对目前广泛流行的 ...
ARM体系结构下面内存和io映射区别
ARM地址重映射的通俗解释... 11页 免费 ARM芯片的地址重映射 4页 免费 ARM的...ARM 体系结构下面内存和 i/o 映射区别在 S3C2410 的 Linux 里面,全部都会做 ...
ARM 基础知识
ARM 课程考试相关知识点 主要: 主要:嵌入式系统的五个特性 包括:专用性,可...同的虚拟空间,这样在进行进程间切换 时就不需要进行虚拟地址到物理地址的重映射...
更多相关标签:
arm2440 中断重映射 | arm 地址映射 | arm 内存映射 | arm 虚拟地址映射 | arm存储器映射 | 薛定谔的猫 通俗解释 | 云计算通俗解释 | 比特币是什么通俗解释 |