UBOOT启动分析

一:UBOOT启动的两个阶段
UBOOT启动有两个阶段,第一个阶段完成基础的硬件初始化,能让CPU跑起来,初始化内存控制器,为加载第二阶段代码做准备
第二阶段代码为跑内核做准备,初始化第二阶段的板级硬件设备,设置内核启动参数(其中在board_init函数中设置了内核启动参数的地址),然后跳入内核。
二:第一阶段流程
第一阶段流程如下:

UBOOT启动分析
 
三:第二阶段流程
 UBOOT启动分析
四:uboot启动linux过程
首先设置标记列表中的参数,设置了内存的起始地址及大小等,启动内核前将此参数传递给内核,设置CPU寄存器,在启动内核前对CPU做最后的设置,分别是关中断,关CACHE,获得内核入口地址,跳转至内核