概述U-BOOT启动流程

在看过一系列的文档后:

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

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

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

arch级的初始化

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

板级的初始化

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

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

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

uboot启动流程简析
改变

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值