码迷,mamicode.com
首页 >  
搜索关键字:mmu    ( 843个结果
Linux 虚拟地址与物理地址的映射关系分析
3.1用户空间的映射: 1. 用户空间的虚拟地址vaddr通过MMU(pgd,pmd,pte)找到对应的页表项x(即为物理地址) 2. 页表项x的高20位是物理也好,物理页号index = x >> PAGE_SHIFT, 同理,index后面补上12个0就是物理页表的首地址。 3. 通过物理页号,我们可以再内核中找到该物理页的描述的指针mem_map[index],当然这个指针是虚拟地址,page结构见上文。 3.2内核空间虚拟地址的映射: 内核空间与物理地址之间有直接的映射关系,而不需要向用户空...
分类:系统相关   时间:2014-12-01 01:15:34    阅读次数:332
第三十五天:Tiny4412驱动开发之配置MMU
MMU表示内存管理单元,负责虚拟内存映射到物理内存。 虚拟地址映射到物理地址的关键是构建映射表。MMU就是利用映射表格将虚拟地址转换成物理地址。虚拟地址在32系统中为4G,地址占4字节,如果映射表格中虚拟地址和物理地址是一一对应的关系,一条记录就占8字节,那么映射表就要32G.这明显是不...
分类:其他好文   时间:2014-11-25 23:08:52    阅读次数:280
arm-linux kernel启动过程分析(2)-start_kernel之前第二步
create_page_table完成了3种地址映射的页表空间填写: (1)turn_mmu_on所在1M空间的平映射 (2)kernel image的线性映射 (2)bootparams所在1M空间的线性映射...
分类:系统相关   时间:2014-11-24 19:21:27    阅读次数:441
《大话操作系统——做坚实的工程实践派》(9)
20年前,对操作系统来说,虚拟内存是个高大上的玩意,它不仅仅是具备内存保护的功能,也给应用程序的独立开发带来了方便 ,其实它的底层逻辑是一个叫MMU的东西完成了一些重要的工作……...
分类:其他好文   时间:2014-11-24 10:06:56    阅读次数:172
第三十四天:按键驱动与蜂鸣器驱动以及MMU
编写按键驱动的过程和编写LED灯的驱动类似。区别在于按键是在底板上的。要从底板的电路图开始看。 使用key为关键字查找电路图: 可以得知的信息:按键松开时候XEINT26为高电平。按下时候为底电平。所以要判断按键是否被按下,就要检测XEINT26的状态。 使用XEINT26为关键字,在核心...
分类:其他好文   时间:2014-11-21 21:48:14    阅读次数:341
arm-linux kernel启动过程分析(1)-start_kernel之前第一步
如果想运行和链接地址不一致,我能想到的办法,只能是汇编中尽量不去涉及一些绝对地址,使用PIC位置无关代码。 联想之前分析的uboot relocation原理,uboot在relocation之后,kernel在开启MMU之前,都实现了链接地址和运行地址不一致,看看它们用的什么方法? (1)uboot在relocation时修改rel.dyn段(存储所有变量地址),实现将所有变量地址重定位到新运行地址 (2)kernel在开启MMU之前,计算运行地址(物理地址)与链接地址(虚拟地址)的偏移,对变量寻址时都进...
分类:系统相关   时间:2014-11-21 10:43:07    阅读次数:367
ARM基础:MMU 异常向量表 重映射
/******************************************************************************************************************参考:说明:在学习裸机中断时重新遇到这个几个词,这次就要搞明白了。**...
分类:其他好文   时间:2014-11-21 10:19:24    阅读次数:200
句柄的理解
句柄的理解:(下面文章认真看!有关于MMU的知识) 简单汇总几点:        1、句柄就类似文件操作中的文件流,通过句柄可以对数据库进行操作;        2、当程序运行后,各个对象驻留在内存中,如果获得这个内存的首地址,我们也不一定能正确访问它的值;                为什么呢? 由于linux/windows都是以虚拟内存为基础的,各个对象地址始终再发生变化,因此我...
分类:其他好文   时间:2014-11-07 20:52:12    阅读次数:197
IA32 MMU paging初始化代码
#define PDE_FLG_RW (1<<1) #define PDE_FLG_US (1<<2) #define PDE_FLG_RWT (1<<3) #define PDE_FLG_PCD (1<<4) /* * initialize to be zero for page directory and page table */ static __SECTION_ZERO_INIT("P...
分类:其他好文   时间:2014-10-27 17:37:25    阅读次数:155
843条   上一页 1 ... 79 80 81 82 83 ... 85 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!