概述U-BOOT启动流程

在看过一系列的文档后:

据我所知u_boot原本是bootloader的一种:
BootLoader分类有

在这里插入图片描述
所以他的启动流程与大体的相似但又会因为他的发展(即越来越多的人完善使他的代码量超过了 本来预定的,其启动流程也随着改变)

我学习的板子是tiny4412用的是armv7架构 所以今儿说这个
其大体分为两个阶段

arch级的初始化

关闭中断,设置svc模式
禁用MMU、TLB
关键寄存器的设置,包括时钟、看门狗的寄存器 (是由汇编语言搞定的,所以基础薄弱的我看的很是艰难)

板级的初始化

堆栈环境的设置
代码重定向之前的板级初始化,包括串口、定时器、环境变量、I2C\SPI等等的初始化
进行代码重定向
代码重定向之后的板级初始化,包括板级代码中定义的初始化操作、emmc、nand flash、网络、中断等等的初始化。
进入命令行状态,等待终端输入命令以及对命令进行处理

在这里插入图片描述
之后的学习将要详细学习各个启动的函数

文章最后加上看过的一些链接:
uboot启动流程详细分析

uboot启动流程简析
改变

发布了34 篇原创文章 · 获赞 10 · 访问量 3357

猜你喜欢

转载自blog.csdn.net/ice_masters/article/details/104832098