Level10day4 作业

简述U-boot的主要功能

u-boot 是设备启动后执行的第一段代码。主要功能是初始化硬件设备,引导加载内核。

1.准备阶段 (汇编)

设置为SVC模式,关闭中断,MMU,看门狗

2.硬件基本初始化阶段(汇编)

初始化时钟,串口,flash,内存

3.自搬移到内存(汇编)

基本初始化结束后,将剩余部分的u-boot程序搬移到内存中执行提升执行效率。
设置栈,为后面的c代码做铺垫,跳转到二段代码。

4.大部分硬件初始化(C语言)

外围设备初始化。如网口,LCD,HDMI等等。

5.搬移内核到内存 (c语言)

将flash或者sd卡等存储设备中的内核文件复制进内存中,并传入内核启动参数。

6.加载内核

自解压内核,内核自检,内核中断,定时,内存,等基本初始化。创建核心进程kernel_init。

7.挂载rootfs

8.运行指定应用程序

运行启动脚本,运行其他应用程序。