Bootloader
介绍:
1、Bootloader是硬件启动的引导程序,是运行操作系统的前提。
2、是操作系统内核或者用户应用程序运行之前运行的一小段代码,堆软硬件进行相应的初始化和设定,为最终运行操作系统准备好环境;
3、嵌入式系统中,整个系统的启动加载任务通常由bootloader完成。
4、主要是初始化硬件设置一些环境变量参数,比如加载系统的地址或者连接的主机ip等
操作模式
- 自启动模式:bootloader从目标机上的某个固态存储设备上将操作系统加载到ram中,整个过程没有用户介入。
- 交互模式:目标机子上的bootloader将通过串口或者网络等通信手段从开发主机上下载内核映像和跟文件系统映像到ram中,
启动过程
- 大多数嵌入式系统,在加电和复位后,都会从固定的某个地址去开始执行,bootloader就是存放在这个位置,来进行下一步的加载操作系统或者用户程序。
- 嵌入式系统的开发板通常把板上的rom和flash映射到这个初始地址去,把bootloader存放在该位置,系统上电后,cpu将先执行它。
详细过程:
(1)、初始化硬件
(2)、把bootloader自搬运到内存中。
(3)、设置堆栈指针并将bss段清零。
(4)、初始化第二阶段要使用的硬件。
(5)、读取环境变量
(6)、如果是自启动模式,从flash或者通过网络加载内核并且执行。
(7)、如果是下载模式,接收到用户的命令后执行。[]