BootLoader 所谓引导程序(BootLoader),即系统加电后运行的第一段软件代码。一般来说,嵌入式系统的引导程序负责加载整个启动任务。整个过程包括初始化硬件设备、建立内存空间的映射图、配置合适的软硬件环境,以便能够调用操作系统的内核。BootLoader的主要运行任务就是讲内核映像从硬盘上读到RAM中,然后跳转到内核的入口点去运行,这样操作系统即开始启动。
引导系统的主要任务与典型结构框架 大多数引导系统都分为第一阶段和第二阶段两部分。依赖于处理器体系结构和板级初始化的代码通常都放在第一阶段中(汇编代码实现);而第二阶段则通常用C语言来实现,这样可以实现更复杂的功能,同时代码具有更好的可读性和可移植性。
一、第一阶段
1、硬件设备初始化 2、为加载引导系统的第二阶段准备RAM空间 3、拷贝引导系统的第二阶段到RAM空间中 4、设置好堆栈 5、跳转到第二阶段的C入口点
二、第二阶段
1、初始化本阶段要用到的硬件设备。 2、检测系统内存映射(memory map) 3、将内核映像和根文件影响从Flash上读到RAM空间中 4、为内核设置启动参数 5、调用内核