**1.**uboot启动的第二阶段的代码是用高级语言编写的,主要是初始化剩下的还未初始化的硬件设备,如网卡等外部硬件。
**2.**for循环执行init_sequence,init_sequence是一个函数指针数组,里面存储很多函数指针。
这些函数都是board级别的各种硬件初始化。
**3.**初始化uboot的堆管理器。
**4.**环境变量重定位。
**5.**IP地址、MAC地址的确定。
**6.**设备初始化,放在这里面初始化的设备都是驱动设备。
**7.**初始化跳转表、控制台,使能中断等。
**8.**这两个环境变量在启动内核时会用到。
**9.**uboot进入一个死循环。main_loop执行一遍就是获取命令、解析命令、执行命令的过程。
相关文章: