1第4章嵌入式linux的构建2嵌入式开发流程建立交叉编译环境启动代码Bootloader的实现/移植kernel的配置/移植/编译根文件系统Cramfs的实现33主要内容4.1嵌入式Bootloader技术4.2嵌入式根文件系统构建4.3Linux内核及启动流程4.4基于ARM目标板的Linux系统及应用程序烧定4第4章嵌入式linux的构建-Bootloader4.1Bootloader简介4.2常用Bootloader的介绍4.3Bootloader的烧写和使用5第4章嵌入式linux的构建-BootloaderBootloader简介常用Bootloader的介绍Bootloader的烧写和使用64.1Bootloader简介4.1.1Bootloader的概念4.1.2Bootloader的启动4.1.3Bootloader的种类74.1.1Bootloader的概念引入:对于计算机系统来说,从开机上电到操作系统启动需要一个引导过程。嵌入式Linux系统同样离不开引导程序,这个引导程序就叫做BootLoader。对比:回忆一下PC的体系结构我们可以知道,PC机中的引导加载程序由BIOS(其本质就是一段固件程序)和位于硬盘MBR(MasterBootRecord,引导记录)中的引导程序一起组成。BIOS在完成硬件检测和资源分配后,将硬盘MBR中的引导程序读到系统的RAM中,然后将控制权交给引导程序。引导程序的主要运行任务就是将内核映象从硬盘上读到RAM中然后跳转到内核的入口点去运行,也即开始启动操作系统。84.1.1Bootloader的概念而在嵌入式系统中,通常并没有像BIOS那样的固件程序。因此整个系统的加载启动任务就完全由BootLoader来完成.比如在一个基于ARM4TDMIcore的嵌入式系统中,系统在上电或复位时都从地址0x00000000开始执行.而在这个地址处安排的通常就是系统的BootLoader程序。94.1.1Bootloader的概念Bootloader的概念和功能BootLoader是一段汇编代码,存放在MBR主引导记录中,它的主要作用就是将操作系统启动代码读入内存。从功能上看,Bootloader就是在操作系统内核或用户应用程序运行之前运行的一段小程序。通过这段小程序可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核或用户应用程序准备好正确的环境。104.1.1Bootloader的概念每种CPU体系结构都有不同的BootLoader。有些BootLoader也支持多种体系结构的CPU,比如U-Boot就同时支持ARM体系结构和MIPS体系结构。除了依赖于CPU的体系结构外,BootLoader实际上也依赖于具体的嵌入式板级设备的配置。这也就是说,对于两块不同的嵌入式板而言,即使它们是基于同一种CP...