(进一步初始化SoC外部硬件(比如inand,网卡芯片等),及设置uboot本身内容(命令行、环境变量、基本命令等))
for循环,执行init_sequence函数指针组数中的函数
interrupt_init函数(初始化定时器Timer4)
init_baudrate(初始化波特率,即从环境变量中获取波特率)
serial_init(串口初始化,实际不干有意义工作,因为前面已经初始化)
console_init_f函数(控制台第一阶段的初始化)
display_banner函数(用来串口输出显示uboot的logo,打开背光)
print_cpuinfo函数(打印cpu的一些信息)
checkboard函数(打印“Board: x210”字符)
dram_init函数(实际只是赋值操作,因为前面已经初始化)
display_dram_config函数(打印内存信息)
env_relocate函数(环境变量的重定位,完成从SD卡中将环境变量读取到DDR中的任务)
IP地址、MAC地址的确定和devices_init函数
jumptable_init函数(只是被赋值从未被引用)
enable_interrupts函数(uboot中没有使用中断,因此没有定义CONFIG_USE_IRQ宏,因此此函数无用)
eth_initialize函数(网卡芯片本身的一些初始化)
x210_preboot_init函数(LCD屏幕上的logo显示)
check_menukey_to_update_from_sd函数
main_loop函数(解析器;开机倒数自动执行;命令补全)
bootm命令实际执行do_bootm函数,进而调用do_bootm_linux函数
(此函数中主要完成真正镜像入口的寻找并强制换成函数指针,然后调用do_bootm_linux函数)
通过执行thekernel函数直接启动linux内核
传递三个参数:0、machid、传参的首地址;
这三个参数是通过r0、r1、r2三个寄存器来传递,r0传递0、r1传递machid、r2传递传参的首地址