• ARM-mini2440-内存管理单元MMU

    • 建立映射
    • 程序解析

04.ARM-mini2440-内存管理单元(MMU)


图中第1种没有使用MMU
图中第2种使用MMU

Created with Raphaël 2.1.0 MINI2440 CPU核 CPU核 MMU MMU 存储管理器 存储管理器 SDRAM SDRAM 2先给(虚拟地址) 2再给 2在给(物理地址) 发出地址 读写数据 1直接给(物理地址) 1直接给(物理地址)

CPU只关心发出地址,读写数据
写程序,链接地址,无需你地址物理地址,只是cpu看到的

虚拟地址怎么转化成物理地址??? 使用表格,即是页表 CPU有两种映射方式:
①段(本次使用为段)
②大页、小页,极小页
映射大小为1M,表格数为4G/1M = 4096(表项)
PA VA
0X56000000 2560
PA2
PA1 0——1M

建立映射:

Created with Raphaël 2.1.0 建立映射 VA VA PA PA 0XA0000050 ==》0X56000050 以前是直接读该地址 现在可以直接访问0XA0000050 看是否达到目的
段单位是1M,0XA0000050/1M = 0XA00,如上表。 因此可以使用MMU步骤为;
①建立表格(建立虚拟地址到物理地址的赢映射)
①表格地址告诉MMU(表格放到内存里面,把内存的首地址告诉MMU)
①启动MMU

程序解析

1.片内RAM

存放内容 对应地址
led.o 2048
init.o head.o 0

2.SDRAM

存放内容(或映射地址) 地址 对应的序号
leds.o 0X30004000 -
0XB0004000(1M) 0X30004000 c
0XA0000050(1M) 0X56000050 c
0-1M 0X30000000 a

目标:用虚拟地址点亮LED 1.创建页表,需要创建以下三个页表。

a.0-4096==》0-4096
b.0XB0004000==》0X30004000
c.0XA0000050==》0X56000050

04.ARM-mini2440-内存管理单元(MMU)相关推荐

  1. ARM920T内存管理单元MMU

    作为程序员已经有4-5个年头了,发现学的知识杂且乱,很多学习过的东西,有时也会忘记.索性开始整理,由于是电子专业出身,于是想把之前玩过的2440开发板,重新再玩一遍.顺便对各个知识点进行较全面的总结. ...

  2. 操作系统 内存管理单元MMU TLB

    前言 在了解操作系统 内存管理 分页/分段/段页式管理.操作系统 虚拟内存技术两篇文章后,接下来继续看看现代操作系统基本内存管理方式,本文详细介绍Linux操作系统下的内存管理单元MMU和TLB. d ...

  3. 内存管理单元MMU - ARM内核扩展(一)

    了解物理地址和虚拟地址的关系 掌握如何通过设置MMU来控制虚拟地址到物理地址的转化 了解MMU的内存访问权限机制 了解TLB.Cache.Writebuffer的原理,使用时的注意事项 在计算机开始阶 ...

  4. Linux 中的内存管理单元MMU

    MMU (内存管理单元) 基础概念 1.TLB – 转换旁路缓存,里面存放着少量的虚拟内存与实际物理内存之间的对应关系,被称为快表. 2.TTW – 漫游转换表,当TLB中没有对应的转换关系,通过对内 ...

  5. 内存管理单元——MMU

    一.基本概念介绍 MMU是Memory Management Unit的缩写,中文名是内存管理单元,有时称作分页内存管理单元(英语:paged memory management unit,缩写为PM ...

  6. 内存管理单元--MMU

    现代操作系统普遍采用虚拟内存管理(Virtual Memory Management)机制,这需要处理器中的MMU(Memory Management Unit,内存管理单元)提供支持,本节简要介绍M ...

  7. 内存管理单元MMU学习

    MMU MMU是Memory Management Unit的缩写,中文名是内存管理单元,有时称作分页内存管理单元(英语:paged memory management unit,缩写为PMMU). ...

  8. 内存管理单元MMU简介

    1. MMU MMU在CPU的配合下(通过页异常触发),实现了线性地址到物理地址的动态映射,为正在CPU上运行的应用程序(进程)提供了一个独立的连续内存空间(线性地址空间,或称虚拟内存空间,其中放置了 ...

  9. 【软件开发底层知识修炼】三 深入浅出处理器之三 内存管理与内存管理单元(MMU)

    学习交流加 个人qq: 1126137994 个人微信: liu1126137994 学习交流资源分享qq群: 962535112 上一篇文章学习了中断的概念与意义,以及中断的应用-断点调试原理.点击 ...

  10. ARM内存管理(MMU)详解

    嵌入式系统中,存储系统差别很大,可包含多种类型的存储器件,如 FLASH , SRAM , SDRAM , ROM 等,这些不同类型的存储器件速度和宽度等各不相同:在访问存储单元时,可能采取平板式的地 ...

最新文章

  1. Kdtree(K-dimension tree)学习
  2. Android不同分辨率和不同密度适配
  3. Python 3标准库,[美] 道格·赫尔曼(Doug Hellmann)
  4. promise的状态以及api介绍_Promise从入门到自定义 | 尚硅谷Promise新版视频发布!
  5. parseInt原来是这样用的
  6. 在js的函数中用jquery的trim()方法去掉search前后的空格
  7. 刷题总结——Tree2cycle(hdu4714 树形dp)
  8. 机器学习、数据挖掘之中国大牛
  9. Windows Server 2012 GUI与Core的切换
  10. distinct 多列详解
  11. css磨砂效果背景和特殊背景
  12. vm安装centos,黑屏或黑屏且左上角有光标闪动
  13. 点对点网络带宽测试软件,iperf点对点网络性能测试工具
  14. Gastroenterology:益生菌长双歧杆菌NCC3001能降低抑郁评分并改变大脑活动
  15. nginx 会话保持
  16. 计算机桌面锁屏设置,怎么设置电脑锁屏
  17. 亚马逊账号关联申诉管用吗?账号能要回来吗
  18. 福利彩票36选7模拟程序
  19. 成都精灵云-C++开发工程师-技术面经(30min左右)
  20. 2.2 数据管理 之 数据加权

热门文章

  1. leetcode切绳子
  2. .NET与JAVA的区别【完整版】
  3. Objective-C 内存管理之dealloc方法中变量释放处理
  4. PC端和移动端微信加入群聊的测试点分析
  5. Meth | 关闭mac自带apache的启动
  6. Hadoop MapReduce编程 API入门系列之查找相同字母组成的字谜(三)
  7. 白月黑羽教python_其他 | 白月黑羽教Python
  8. 聊一聊Vector与Stack
  9. python用七巧板图片画个图_canvas 入门-利用 canvas 制作一个七巧板
  10. npm WARN checkPermissions Missing write access to ......解决方法