1.自启动模式:在这种模式下,bootloader从目标机上的某个固态存储设备上将操作系统加载到RAM中运行,整个过程并没有用户的介入。
2.交互模式:在这种模式下,目标机上的bootloader将通过串口或网络等通行手段从开发主机(Host)上下载内核映像等到RAM中。可以被bootloader写到目标机上的固态存储媒质中,或者直接进入系统的引导。也可以通过串口接收用户的命令。
Bootloader的启动过程
第一阶段:
1.初始化基本硬件;
2.把bootloader自动搬运到内存中;
3.设置堆栈指针并将bss段清零。为后续执行代码做准备;
第二阶段:
1.初始化本阶段要用到的硬件;
2.读取环境变量;
3.启动:
(a)自启动模式,从Flash或通过网络加载内核并执行;
(b)下载模式,接收到用户的命令后执行;