课标2-2-1-3 :MMU配置与使用

void create_page_table(void)
{
unsigned long *ttb = (unsigned long *)0x20000000;
unsigned long vaddr, paddr;

vaddr = 0xA0000000;                                                                        //  虚拟地址
paddr = 0xE0200000;                                                                        //页表地址,存在内存里的
*(ttb + (vaddr >> 20)) = (paddr & 0xFFF00000) | MMU_SECDESC;  // 虚拟地址映射

vaddr = 0x20000000;                                                        //内存映射
paddr = 0x20000000;                                                       //内存映射时,虚拟和物理地址一致
while (vaddr < 0x24000000)
{
*(ttb + (vaddr >> 20)) = (paddr & 0xFFF00000) | MMU_SECDESC_WB;                         
vaddr += 0x100000;                                                            //一页对应1M ,采用循环语句把64M映射好
paddr += 0x100000;
}
}

////////////////////////////////////////////////////////////////////////

void mmu_init()
{
__asm__(

/*设置TTB*/
"ldr r0, =0x20000000\n"                //c2是Translation table base ,把地址写入c2中
"mcr p15, 0, r0, c2, c0, 0\n"

/*不进行权限检查*/
"mvn r0, #0\n"                                     //取反传送
"mcr p15, 0, r0, c3, c0, 0\n"               //c3 Domain access control 寄存器

/*使能MMU*/
"mrc p15, 0, r0, c1, c0, 0\n"         //c1 是mmu的控制寄存器
"orr r0, r0, #0x0001\n"
"mcr p15, 0, r0, c1, c0, 0\n"
:
:
);
}

时间: 2024-10-11 19:31:25

课标2-2-1-3 :MMU配置与使用的相关文章

第四十八课 zabbix工作原理、安装、配置入门

监控系统基础及zabbix介绍 zabbix工作原理及安装配置 zabbix配置入门 zabbix配置入门 一.监控系统基础及zabbix介绍 著名的监控工具 zabbix zennos opennms cacti nagios. cacti 收集数据.展示图表 nagios 关注状态 报警机制强 zabbix 强大的监控工具能完成数据采集.存储.展示.报警功能. zabbix 有专用的agent的监控工具,他是一个分布式的监控系统. 二.zabbix的安装(zabbix-2.4为例) 1.rp

课堂随笔&quot;Java&quot;的第一课JDK的下载,安装和配置

前言:学习JAVA编程的第一步就是安装JDK,这是JAVA开发和安卓开发的第一步.下面就教大家如何从官网下载安装JDK,并测试是否安装成功. 一.JDK的下载 地址:http://www.oracle.com/cn 1.鼠标悬浮在下载上.然后在点击选择Java SE 2.先点击Java SE,再选择下载栏,然后点击进去下载目录 3.进入下载目录先选择 "接受许可协议" 不然官方是不会允许下载的.然后在找到对应的电脑系统和操作系统进行下载 二.JDK的安装 1.先选择开发工具,然后选择安

2018-3-1512周4次课 Nginx防盗链、访问控制、配置PHP解析、代理

12.13 Nginx防盗链 [[email protected] test.com]# vim /usr/local/nginx/conf/vhost/test.com.conf ~* 表示不区分大小写 白名单 *.test.com,如果不是白名单,则返回403 [[email protected] test.com]# curl -e "http://www.baidu.com"-x127.0.0.1:80 test.com/1.gif -I HTTP/1.1 403 Forbid

2019年全国新课标I卷文理科数学LaTeX排版试题与解析

整体分析,没有偏怪难题之分,中等题偏多,题目较往年有题型改动变化,但难度还称不上很难.具体内容贴上链接! https://mp.weixin.qq.com/s/WKXhCKI_-z3UT-zUwI23Lg 全国1卷文理科试题与解析共4套,文档pdf中均以写到其详解内容,可进行下载! https://hoganbin.top/post/1780964907/ 原文地址:https://www.cnblogs.com/hoganbin/p/11002674.html

第三十五天:Tiny4412驱动开发之配置MMU

MMU表示内存管理单元,负责虚拟内存映射到物理内存. 虚拟地址映射到物理地址的关键是构建映射表.MMU就是利用映射表格将虚拟地址转换成物理地址.虚拟地址在32系统中为4G,地址占4字节,如果映射表格中虚拟地址和物理地址是一一对应的关系,一条记录就占8字节,那么映射表就要32G.这明显是不合理的. 于是通过二级映射解决这个问题.地址共32位,把前12位作为基地址,后20位作为偏移量,将虚拟地址和物理地址作为的前12位一一对应,12位就是2的12次方为4k. 一条记录8字节,那么映射表格就只有32k

Samsung_tiny4412(笔记)--&gt;ASM with C,MMU,Exception,GIC

/**************************************************************************** * Samsung_tiny4412(笔记)-->ASM with C,MMU,Exception,GIC * * 声明: * 1. 以下所有的shell命令都是在root权限下运行的; * 2. 文中在需要往文件中写入内容的时候使用了如下2方式: * 1.如果文件不存在,创建文件;如果存在,以覆盖的方式往文件中添加内容: * cat >

mmu介绍

arm exynos4412平台mmu配置以及的简单创建. 1.mmu的全称是Memory Management Unit(内存管理单元) 2.mmu所在位置.mmu再arm核心.他不是一个外设,他是arm核心的的一部分. 3.为什么要使用mmu,因为在多任务的操作系统当中,进程A,B,C都可能使一段地 D,为了保存他们访问的不是同一个物理地址,我们给每个进程4G的虚拟地址空间 然后使用,如何使用mmu来转化虚拟地址空间和物理地址空间之间的对应关系, 这个转换关系被称为页表,再每个进程中都保存了

在centos下编译安装配置高性能Nginx

安装nginx的依赖包:pcre, pcre-devel 编译nginx事实上需要的依赖包是pcre-devel,可以执行yum install pcre-devel 安装它.不过这个包的编译安装很简单,正好我们拿它练练手,熟悉熟悉linux编译安装软件的一般过程. [tips] linux下从源码编译安装软件一般是三步:配置.编译.安装.具体一点说就依次是执行三条命令:configure, make, make install. 不多讲理论,实际操作一下就明白了. 在build目录下创建子目录

【Cocos游戏实战】功夫小子第八课之游戏打包和相关问题说明

至此,功夫小子系列的Cocos2d-x的实战文章就结束了. 再次贴个目录以便检索: 功夫小子专栏地址:http://blog.csdn.net/column/details/suoolcocoshit.html [Cocos游戏实战]功夫小子第一课需求分析和开发环境的基本配置 [Cocos游戏实战]功夫小子第二课之基础类分析和实现 [Cocos游戏实战]功夫小子第三课之过渡场景和开始菜单的实现 [Cocos游戏实战]功夫小子第四课之设置功能和图籍场景的实现 [Cocos游戏实战]功夫小子第五课之