概念介绍
Bootloader
嵌入式系统在上电或重启后执行的第一段代码,主要完成 CPU 和相关硬件的初始化,以及将操作系统 os 映像或固化的嵌入式应用程序装载到内存中,最后跳转到操作系统所在的空间,启动操作系统运行。Bootloader 作为一个独立的程序,内部包含启动代码、中断、主程序(Boot_main 函数)、操作系统(非必须)等。
Uboot
Universal Bootloader,uboot就是一个bootloader(启动加载器),作用就是用于启动Linux或其他系统和初始化DDR。
FBL
First Bootloader,又称Primary Bootloader/PBL,专门刷写SBL,该程序仅在出厂前烧录一次,以后永远不更新。 PBL仅限于刷写或激活SBL,激活SBL后,再由SBL更新Application Software。
SBL
Secondary Bootloader,二次引导加载程序,更新软件程序,主要更新Application程序。
SPL
Second Program Loader,主要作用就是引导系统启动,负责装载操作系统到RAM中。另外SPL还包括许多系统命令,如mtty中使用的命令等。SPL损坏了还可以用烧录器重写,是手机刷机的专业术语。SPL主要作用是引导系统启动,它除了包含手机的bootloader启动android外,还包含一些其他功能,如刷nbh,支持fastboot等等。简单来说,SPL相当于PC的BIOS。
BootROM vs Bootloader
Boot ROM(Read-Only Memory)和Boot Loader是计算机系统启动过程中的两个关键组件,它们的主要区别如下:
- 存储位置:Boot ROM是一种固化在计算机硬件中的只读存储器,通常是芯片或模块的一部分。它包含了计算机系统的基本启动程序。而Boot Loader是存储在计算机的可写存储器中,如硬盘、固态硬盘或闪存等。
- 功能:Boot ROM是计算机系统的初始启动程序,负责进行硬件初始化、加载Boot Loader等基本操作。它是整个启动过程的第一步。而Boot Loader是一个软件程序,负责加载操作系统内核及其他系统组件,完成系统的初始化和配置,最终将控制权交给操作系统。
- 可修改性:由于Boot ROM是固化在硬件中的只读存储器,一般情况下无法修改其内容。而Boot Loader存储在可写存储器中,可以通过软件的方式进行修改和更新。
- 启动顺序:在计算机启动过程中,首先执行Boot ROM中的启动程序,然后由Boot ROM加载Boot Loader,最后由Boot Loader加载操作系统内核。
综上所述,Boot ROM是计算机系统启动过程的第一步,负责进行硬件初始化和加载Boot Loader等基本操作;而Boot Loader是一个软件程序,负责加载操作系统内核及其他系统组件,完成系统的初始化和配置。