在看视频之前看了《嵌入式Linux开发完全手册》,对mmu的大致原理与作用做了一点了解,具体涉及到虚拟内存与物理内存部分转化的在P101到P112之前,寄存器很多,绕来绕去很晕,一定要耐着性子看完
1,权限管理 2,地址映射
首先是地址映射:cpu看到的用到的都是虚拟地址,实际设备用的是物理地址,CPU->(mmu->存储管理器),
cpu核只关心发出地址,读写数据,不关心地址是虚拟地址还是物理地址,同理,写程序时,所说的链接地址,也没有虚拟地址物理地址的概念,这个链接地址是从CPU角度来看的,
疑问:虚拟地址怎么转换为物理地址?VA=fun(PA);
方法:表格,从术语上说就是页表,
地址映射实验:建立一个映射,从虚拟地址到真正的物理地址,通过访问虚拟地址达到与原来访问物理地址同样的效果
段映射的单位是1M, 建立表格,将表格地址告诉MMU,启动MMU,
书籍推荐:《arm体系架构与编程》
如何嵌入汇编:Linux内核完全注释《未完待续》