设为首页 加入收藏

TOP

Mini2440 Linux 内存布局
2014-11-24 12:53:56 来源: 作者: 【 】 浏览:0
Tags:Mini2440 Linux 内存 布局

在学习linux内存寻址的过程中,注意到在x86架构上,分段与分页机制共存。而在RSIC体系结构下一般只支持分页。《深入理解linux内核》是在x86架构上介绍的linux物理内存布局。在x86架构上,linux被安装在ram从物理地址的0x00100000也就是第二个1M的地方。内核态的线性地址:0xc0000000~0xffffffff,在内核态可以寻址0x00000000~0xbfffffff的地址,用户态的线性地址范围为:0x00000000~0xbfffffff,用户态的程序不能访问内核态的线性地址。这几个是线性地址只是CPU寻址的时候用,最终都是要映射到实际的物理地址。在内核镜像包括代码段,数据段。在数据段的后面保存了全局页表描述了线性地址怎样转化成物理地址的。在内核态的线性地址空间里,内核要映射全部的物理RAM,前8M的RAM有两个映射分别对应于线性地址0x00000000~0x0x007fffff与0xc0000000~0xc07fffff,这个是为了在内核初始化的时候,MMU开启前后的操作方便,这是临时映射。最终的内核态映射是线性地址与物理地址线性映射,就是每个线性地址都是物理地址加上一个偏移量,在x86上这个偏移量就是0xc0000000。以上就是x86架构上linux的物理内存布局。而mini2440的物理内存布局会有很大的不同,以64M的SDRAM来说,RAM的物理地址是从0x30000000开始的,结束与0x34000000。要了解linux在mini2440上的内存布局首先要看System.map文件,这个链接器生成的文件。描述了linux镜像在内存中的布局,地址全部是线性地址。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇详解C中volatile关键字 下一篇Mini2440 USB gadget --使用与测试

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·C语言中如何将结构体 (2025-12-24 22:20:09)
·纯C语言结构体成员变 (2025-12-24 22:20:06)
·C语言中,指针函数和 (2025-12-24 22:20:03)
·哈希表 - 菜鸟教程 (2025-12-24 20:18:55)
·MySQL存储引擎InnoDB (2025-12-24 20:18:53)