U-boot的终极目标就是去启动内核。怎么启动内核呢,下图简略说明
u-boot即Universal Boot Loader,通用bootloader。所以支持很多架构,ARM、X86等 。为了让代码精简,引入了设备树。
uboot=uboot.bin+某个dtb文件(不同芯类型)
uboot启动流程分为XIP和非XIP,XIP就是可以直接执行的,非XIP是简介执行,CPU不能直接访问到uboot。
XIP就是上图流程:
1.硬件初始化
2.把内核copy到RAM
3.启动内核
非XIP:
1.通过bootrom将Uboot复制到RAM
2.执行ubot
3.硬件初始化(不在初始化RAM),已经在RAM中了
4.把内核copy到RAM
5.启动内核