u-boot 是设备启动后执行的第一段代码。主要功能是初始化硬件设备,引导加载内核。
设置为SVC模式,关闭中断,MMU,看门狗
初始化时钟,串口,flash,内存
基本初始化结束后,将剩余部分的u-boot程序搬移到内存中执行提升执行效率。
设置栈,为后面的c代码做铺垫,跳转到二段代码。
外围设备初始化。如网口,LCD,HDMI等等。
将flash或者sd卡等存储设备中的内核文件复制进内存中,并传入内核启动参数。
自解压内核,内核自检,内核中断,定时,内存,等基本初始化。创建核心进程kernel_init。
运行启动脚本,运行其他应用程序。