一个嵌入式系统从软件层次可分为三方面:
一:引导加载程序(包括在固件的Boot代码及BootLoader两部分)
二:Linux内核
三:文件系统
PC上引导加载程序由BOIS(硬件自检及初始化)+位于硬盘MBR中的引导程序组成;引导程序的主要任务是:启动操作系统(将内核从硬盘上读到内存中,然后跳转到内核的入口运行)
Bootloader作用:BOIS+引导程序
例子:在一个基于ARM7TDMI core的嵌入式系统中,系统在上电或复位时都从地址0x000000开始执行,而这个地址1通常就是BoootLoader程序。
2:Uboot:
uboot就是universal bootloader(通用的启动代码),通用的意思就是uboot具有可移植性,主要是主流的bootloader程序。其不仅支持VxWorks,QNX等多种嵌入式系统
UBoot的工作模式有启动加载模式和下载模式。
2.1:启动加载模式是Bootloader的正常工作模式,嵌入式产品发布时,Bootloader必须工作在这种模式下,Bootloader将嵌入式操作系统从FLASH中加载到SDRAM中运行,整个过程是自动的。
2.2:下载模式就是Bootloader通过某些通信手段将内核映像或根文件系统映像等从PC机中下载到目标板的FLASH中。用户可以利用Bootloader提供的一些命令接口来完成自己想要的操作。例子在“”itop4412最小LIUNX系统"启动前5s按照提示按键进入下载模式,烧写内核