嵌入式启动流程

名词解释
ROM 集成在SOC内部的只读存储器
BootROM 存储在Rom的第一段运行程序
BL:BootLoader 为OS的运行进行硬件驱动(PC上称为BIOS)
SPL:Second Program Loader 相较于BootRom的第二段运行程序
DDR:常说的内存
SRAM:集成在SOC内部的小内存
U-Boot:开源BootLoader程序 GPL v2

  1. CPU的PC指向BootROM
  2. BootROM(BL0):1~16KB
    局部初始化Flash,Flash可能会工作在一个低速率状态
    校验SPL
    将SPL代码拷贝到SRAM
    控制权交给SPL(跳转到SPL的第一行代码)
  3. SPL(BL1):小于128KB
    初始化DDR、Flash
    校验U-Boot
    将U-Boot拷贝到DDR
    控制权交给U-Boot(跳转到U-Boot的第一行代码)
  4. U-Boot(BL2):小于2M
    初始化Flash
    将OS拷贝到DDR
    控制权交给OS(跳转到OS的第一行代码)
  5. OS:可以很大,没有限制
    所有设备的驱动
    内存管理、文件系统、进程管理…
    启动shell,自动运行约定的脚本
    等待用户输入指令

你可能感兴趣的:(linux,嵌入式硬件)