自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 资源 (12)
  • 收藏
  • 关注

原创 ARM架构内核启动分析-head.S(1.4、stext分析之打开MMU并跳到start kernel)

1.2.5、打开MMU:接下来,调用__enable_mmu来打开MMU,在该函数的最后会使用这里保存在R13中的__switch_data函数地址并调用它,函数__switch_data定义在head-common.S中,它的函数指针__mmap_switched最终会调用第一个C函数start_kernel!ldr    r13, __switch_data          @ ad

2013-07-22 20:36:56 2721

原创 ARM架构内核启动分析-head.S(1.3、stext分析之内存临时页表建立)

1.2.4、创建临时页表:对于创建临时页表,使用的是arm的L1主页表,L1主页表也称为段页表(section page table,说白了就是采用段式管理而不是页式管理),它将4GB的地址空间分成若干个1MB的段(section),因此L1页表包含4096个页表项(section entry);每个页表项是32 bits(4 bytes), 所以L1页表占用 4096*4 = 16k的内存空

2013-07-22 20:32:59 1989

原创 ARM架构内核启动分析-head.S(1.2、stext分析之准备阶段)

1.1、  stext分析:1.2.1、运行环境参数:1、首先注意一下,内核代码在进入C代码之前的几个重要文件:arch/arm/kernel/head.S:贯穿汇编执行阶段的始末,并且定义了最根本的参数;arch/arm/kernel/head-common.S:包括一些重要汇编子程序;arch/arm/mm/proc-XXX.S:汇编执行阶段关于内存(临时)页表、CPU

2013-07-22 20:31:05 2405

原创 ARM架构内核启动分析-head.S(1.1、vmlinux.lds 链接脚本分析)

ARM架构内核启动分析一、start kernel之前首先需要明确的是,内核镜像在被解压之后执行,是执行哪段代码,这是个重要的问题,平时在编译生成应用程序或内核模块时,我们无需考虑链接的具体细节,如代码和数据放在哪里、代码执行入口在哪等等,但在编译生成内核镜像时就不能不考虑这些了,对于arm架构,下面是它的编译内核时的arm交叉链接器命令:arm-linux-ld -EL -p --n

2013-07-22 20:25:42 5264

linux用户进程内存映射

详解mmap、malloc在内核态的实现,原理是什么,有详细的描述和加的内核源码注释,可完全理解用户进程申请内存是怎么一回事

2013-08-28

linux进程创建详解

详细的描述linux系统调用fork、vfork、clone在内核中的实现,既有详细文字描述又有全部的源码加注释,有助于深入理解linux进程地址空间

2013-08-28

linux缺页异常详解

全面描述linux arm缺页异常的处理原理和处理方式,结合原理的解释描述以及全部相关的源码注释,深刻理解缺页异常

2013-08-28

linux arm的高端内存映射详解

以一个实际的linux的arm设备(不是什么2440!)描述了高端内存原理和源码注释详解,能够清楚的理解什么是高端内存,什么是vmalloc,什么是永久映射,什么是临时映射,需要注意什么,应用场合是怎样,在源码中的前龙后脉都有详细的注释和解释

2013-08-22

slab完全详解

目前有很多讲slab的文章,要么是纯讲原理画一堆图结合源码不深导致理解困难,要么是纯代码注释导致理解更困难,我在猛攻了一周时间后,细致总结一下slab,争取从原理到源码都能细致的理解到并立刻达到清楚的使用

2013-08-21

armlinux的bootmem分配器

详细描述armlinux启动阶段的bootmem分配器是怎么一回事,干什么的,中间被谁用过,最后被伙伴系统收编,结合函数和讲解,有价值

2013-08-12

linux内存页表创建

对linux内存页表创建的详细讲解,和本博客前面文章紧密联系,讲解了物理内存、硬件IO、中断是如何映射的,什么是内存,内存映射是怎么一回事,另有例子演示,适合正确理解概念的文章

2013-08-08

linux设备模型之sysfs使用

linux 设备模型的衍生产物sysfs的描述和用法,包括举例,初学者原创

2013-05-20

基于systemV的消息队列的多进程间CS通讯实现

花了近一周时间搞定的东东,多进程间通信实现,可编成动态库,挺实用的,望多交流指教!

2013-05-19

linux设备模型的I2C具体实现

疯狂研究I2C模型四五天,终于搞定后的心得,原创心得,全是手写,希望能共同交流!

2013-05-19

linux设备模型_____相关函数

本人经一段时间钻研linux设备模型、sysfs、I2C驱动后所写,初学者的原创心得,应该也适合初学者理解!

2013-05-19

linux设备模型____宏观印象

本人经一段时间钻研linux设备模型、sysfs、I2C驱动后所写,初学者的原创心得,应该也适合初学者理解!

2013-05-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除