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"
:
:
);
}

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

  1. [国嵌攻略][048][MMU配置与使用]

    MMU配置与使用 1.通过点亮LED使用虚拟地址来使用MMU,采用段页映射方式 2.任务步骤:1.建立一级页表 2.写入TTB 3.打开MMU 代码编写 1.虚拟地址的段地址0xA0000000,一级 ...

  2. 【ARM-Linux开发】Linux内存管理:ARM Memory Layout以及mmu配置

    原文:Linux内存管理:ARM Memory Layout以及mmu配置 在内核进行page初始化以及mmu配置之前,首先需要知道整个memory map. 1. ARM Memory Layout ...

  3. 微信小程序自学第一课:工程目录结构与.json文件配置

    注册成为开发者 地址: https://mp.weixin.qq.com/cgi-bin/wx 开发者工具下载地址 https://mp.weixin.qq.com/debug/wxadoc/dev/ ...

  4. MT【273】2014新课标压轴题之$\ln2$的估计

    已知函数$f(x)=e^x-e^{-x}-2x$(1)讨论$f(x)$的单调性;(2)设$g(x)=f(2x)-4bf(x),$当$x>0$时,$g(x)>0,$求$b$的最大值;(3)已 ...

  5. 潭州课堂25班:Ph201805201 django 项目 第三十八课 后台 文章发布,FastDFS安装 配置(课堂笔记)

    , .安装FastDFS # 从docker hub中拉取fastdfs镜像docker pull youkou1/fastdfs # 查看镜像是否拉取成功docker images # 安装trac ...

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

    整体分析,没有偏怪难题之分,中等题偏多,题目较往年有题型改动变化,但难度还称不上很难.具体内容贴上链接! https://mp.weixin.qq.com/s/WKXhCKI_-z3UT-zUwI23 ...

  7. centos LB负载均衡集群 三种模式区别 LVS/NAT 配置 LVS/DR 配置 LVS/DR + keepalived配置 nginx ip_hash 实现长连接 LVS是四层LB 注意down掉网卡的方法 nginx效率没有LVS高 ipvsadm命令集 测试LVS方法 第三十三节课

    centos   LB负载均衡集群 三种模式区别 LVS/NAT 配置  LVS/DR 配置  LVS/DR + keepalived配置  nginx ip_hash 实现长连接  LVS是四层LB ...

  8. MMU

    1.MMU功能 将虚拟地址转化为物理地址:访问权限管理. 2.地址转化 2.1 总体分析 2.2 一级转换格式 位解释:(段设置) B:表示是否使能write buffer: C:  表示是否开启ca ...

  9. Samsung_tiny4412(驱动笔记02)----ASM with C,MMU,Exception,GIC

    /**************************************************************************** * * ASM with C,MMU,Exc ...

随机推荐

  1. axios ios 微信浏览器session问题

    在ios系统下,微信浏览器使用axios 可能存在seesion不存在的问题,其原因是因为存在跨域 解决方案如下 1.修改域名为同一域名 2.后台允许跨域

  2. NIO开发Http服务器(4):Response封装和响应

    最近学习了Java NIO技术,觉得不能再去写一些Hello World的学习demo了,而且也不想再像学习IO时那样编写一个控制台(或者带界面)聊天室.我们是做WEB开发的,整天围着tomcat.n ...

  3. H5调起IOS原生商店支付

    参考文档:http://www.html5plus.org/doc/zh_cn/payment.html 申请内购项目摘自 https://www.jianshu.com/p/1e79bfbe46e2 ...

  4. Java 之 方法引用

    方法引用 一.冗余的Lambda场景 来看一个简单的函数式接口以应用Lambda表达式: @FunctionalInterface public interface Printable { void ...

  5. Oracle 创建数据表

    数据库中的每一个表都被一个模式(或用户)所拥有,因此表是一种典型的模式对象.在创建数据表时,Oracle 将在一个指定的表空间中为其分配存储空间.最初创建的表时一个空的逻辑存储结构,其中不包含任何数据 ...

  6. UCOSII消息队列

    主结构体 typedef struct os_q { /* QUEUE CONTROL BLOCK */ struct os_q *OSQPtr; /* Link to next queue cont ...

  7. 如何方便引用自己的python包

    有时候想要把一些功能封装成函数然后包装到模块里面最后形成一个包,然后在notebook里面去引用它去处理自己的数据和分析一些有用的部分,比如自己在 之前用到的一个datascience模板就是这样组织 ...

  8. 如何使用adb工具在电脑上使用程序的方式操控自己的android手机

    在电脑安装adb工具: sudo apt install android-tools-adb android-tools-fastboot# 检查是否成功adb version 开启adb服务 sud ...

  9. (在客户端)https抓包解密

    (一)原理分析 https的数据包是用对称秘钥(https协议协商出来的随机数)加密后的密文. 对称秘钥在传输线路上是密文的(被非对称加密过),但是在client.server端是明文的(因为要用于加 ...

  10. layui.table前端+后台处理+分页

    前端 注:监听工具条没有详细写,但路子一样的 @section head{ <script src="~/Content/jquery-easyui-1.5.5.4/jquery.ea ...