首页|嵌入式系统|显示技术|模拟IC/电源|元件与制造|其他IC/制程|消费类电子|无线/通信|汽车电子|工业控制|医疗电子|测试测量
首页 > 分享下载 > 消费类电子 > 嵌入式Linux内核移植相关代码分析

嵌入式Linux内核移植相关代码分析

资料介绍
嵌入式Linux内核移植相关代码分析嵌入式 Linux 内核移植相关代码分析
[转载请注明出处,www.linuxforum.net,作者:张洪耿,patrick_zhg@hotmail.com] 本文通过整理之前研发的一个项目(ARM7TDMI + uCLinux),分析内核启动过程及需要修改的文件,以供内核移 植者参考。整理过程中也同时参考了众多网友的帖子,在此谢过。由于整理过程匆忙,难免错误及讲解的不够清楚 之处,请各位网友指正,这里提前谢过。本文分以下部分进行介绍: 1. Bootloader 及内核解压 2. 内核启动方式介绍 3. 内核启动地址的确定 4. arch/armnommu/kernel/head-armv.S 分析 5. start_kernel()函数分析 1. Bootloader 及内核解压 Bootloader 将内核加载到内存中,设定一些寄存器,然后将控制权交由内核,该过程中,关闭 MMU 功能。通常, 内核都是以压缩的方式存放,如 zImage,这里有两种解压方法: 使用内核自解压程序。 arch/arm/boot/compressed/head.S 或 arch/arm/boot/compressed/head-xxxxx.S arch/arm/boot/compressed/misc.c 在 Bootloader 中增加解压功能。 使用该方法时内核不需要带有自解压功能,而使用 Bootloader 中的解压程序代替内核自解压程序。其工作过程与内 核自解压过程相似:Bootloader 把压缩方式的内核解压到内存中,然后跳转到内核入口处开始执行。 2. 几种内核启动方式介绍 XIP (EXECUTE IN PLACE) 是指直接从存放代码的位置上启动运行。 2.1 非压缩,非 XIP 非 XIP 方式是指在运行之前需对代码进行重定位。 该类型的内核以非压缩方式存放在 Fl
嵌入式Linux内核移植相关代码分析
本地下载

评论