• [国嵌笔记][036][关闭MMU和CACHE]


    关闭MMU和CACHE

    1.Cache是一种容量小,但存取速度非常快的存储器,它保存最近用到的存储器中数据的拷贝。按功能分为ICache(指令Cache)和DCache(数据Cache)

    2.虚拟地址就是程序中使用的地址;物理地址就是物理存储单元中实际使用的地址。虚拟地址可以让进程使用更大的空间。MMU的作用就是完成虚拟地址到物理地址的转换

    3.在处理器初始化阶段,为防止意想不到的错误,需要暂时关闭MMU和Cache

    4.MMU和Cache都是通过CP15协处理器的R1(control register)M(0位)、C(2为)、I(12位)和R7的Invalidate I/D Caches来控制。可以忽略I位,因为下载到nand flash不涉及指令Caches。在ARM核的手册可以找到相关描述

    5.第一步使ICahce和DCache失效,第二部关闭ICahce、DCache和MMU。

    /*
    *名称:disable_cache_mmu
    *描述:关闭cache和mmu
    */
    disable_cache_mmu:
    	mcr p15, 0, r0, c7, c7, 0   //使cache失效
    	mrc p15, 0, r0, c1, c0, 0   //载入c1到r0
    	bic	r0, r0, #0x5   //清零(-C-M)
    	mcr p15, 0, r0, c1, c0, 0   //保存r0到c1
    	mov pc, lr
    
  • 相关阅读:
    basic-linux
    巧用border属性
    git常用操作笔记
    如何删除github里的项目
    常用css3属性的ie兼容查看
    新建pc端页面的模板
    HTML5 Shiv--解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法
    进程和线程
    C++对象模型---第 4 章 Function语意学
    C++对象模型---第 3 章 Data语意学
  • 原文地址:https://www.cnblogs.com/d442130165/p/4908358.html
Copyright © 2020-2023  润新知