[国嵌笔记][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
[国嵌笔记][036][关闭MMU和CACHE]的更多相关文章
- [国嵌笔记][008-009][远程登录Linux]
[国嵌笔记][008][远程登录Linux] 1.windows与Linux能够相互ping通 2.关闭Linux防火墙 /etc/init.d/iptables stop 3.通过ssh(字符界面) ...
- [国嵌笔记][030][U-Boot工作流程分析]
uboot工作流程分析 程序入口 1.打开顶层目录的Makefile,找到目标smdk2440_config的命令中的第三项(smdk2440) 2.进入目录board/samsung/smdk244 ...
- u-boot分析(五)----I/D cache失效|关闭MMU和cache|关闭看门狗
u-boot分析(五) 上篇博文我们按照210的启动流程,对u-boot启动中的设置异常向量表,设置SVC模式进行了分析,今天我们继续按照u-boot的启动流程对以下内容进行分析. 今天我们会用到的文 ...
- [国嵌攻略][048][MMU配置与使用]
MMU配置与使用 1.通过点亮LED使用虚拟地址来使用MMU,采用段页映射方式 2.任务步骤:1.建立一级页表 2.写入TTB 3.打开MMU 代码编写 1.虚拟地址的段地址0xA0000000,一级 ...
- [国嵌笔记][027][ARM协处理器访问指令]
协处理器作用 协处理器用于执行特定的处理任务,如数学协处理器可以执行控制数字处理,以减轻处理器的负担.ARM处理器最多可以支持16个协处理器,其中CP15是最重要的一个协处理器 CP15的作用 CP1 ...
- 关闭mmu和cache
处理器内部寄存器,访问速度最快,但是数量少 TCM:紧耦合存储器(Cache.主存储器) 辅助存储器(Flash.SD等) Cache是一种容量小但是存取速度非常快的存储器 它保存最近用到的存储器中的 ...
- [国嵌笔记][010][TFTP与NFS服务器配置]
交叉开发 嵌入式软件产生的平台称为宿主机,运行嵌入式软件的平台称为目标机 宿主机一般通过串口.网络.USB.JTAG等方式将软件下载到目标机 网络下载 一般有TFTP和NFS两种方式 tftp服务器 ...
- [国嵌笔记][007][Linux网络配置]
Vmware网络设置 1.bridged(桥接模式) 如果网络中能提供多个IP地址,则使用桥接方式.虚拟机与主机的IP地址彼此独立. 2.NAT(网络地址转换模式) 如果只能提供一个IP地址,则使用N ...
- [国嵌笔记][014][Mini2440安装Linux]
引导安装步骤 相关介绍: 开发板软件构成:Bootloader.嵌入式操作系统.嵌入式文件系统 JTAG接口常用于对flash等器件进行编程,常见的JTAG下载线有并口和USB接口两种 硬件连接: 1 ...
随机推荐
- 解决openssh漏洞,升级openssh版本
关于解决漏洞的问题我就不详说了,主要就是升级版本.这里我们就直接简单记录下步骤: 1.升级 使用root用户登录系统进入到/home/guankong ,上传openssh-6.6p1.tar.gz到 ...
- PS字体倾斜、变形
整体效果: 学习地址:http://www.wzsky.net/html/Photo/psjc/psc/125890_1.html 第一步新建画布,这个大家必须会,输入文字"基"基 ...
- NoFragment重大bug
在activity中切换fragment,有以下几点问题需要注意: 例如做一个类似于这样的tab切换fragment的,有以下几点问题 1.切换fragment后,前几个fragment能透视,解决方 ...
- 物联网细分领域-车联网(OBD)市场分析
前言: 这段时间在跟一个车联网的项目,所以做了一些研究. OBD概述 OBD是英文On-Board Diagnostic的缩写,中文翻译为"车载诊断系统".这个系统随时监控发动机的 ...
- Python的变量和常量
解释器执行Python的过程: (python3,c:/test.py) 1:启动python解释器(内存中). 2:将c:/test.py内容从硬盘读到内存中(这一步和文本编辑器是一样的). 3 ...
- golang 最和谐的子序列
We define a harmonious array is an array where the difference between its maximum value and its mini ...
- springMVC(7)---表单标签
springMVC(7)---表单标签 form标签作用 简单来讲form表单有两大作用 1:第一就是往后端提交数据或者前端回显 ...
- 正确显示textarea中输入的回车和空格
在textarea中输入的文本.如果含有回车或空格.在界面上显示的时候则不那么正常.回车消失了,空格变短了. 如何解决这个问题呢.有2种方法. 1.使用<pre>标签 w3c对pre元素是 ...
- git常用使用命令
Git远程操作详解(from 阮一峰) git clone.git remote.git fetch.git pull.git push git拉取远程分支并创建本地分支 git中文学习文档(详细) ...
- IO多路复用
1.事件驱动模型 上一篇写的协程仅仅是切换,本身不能实现并发,什么时候切换也不知道 那么什么时候切回去呢?怎么确定IO操作完了?通过回调函数 对于事件驱动型程序模型,它的流程大致如下: 开始---& ...