中关村在线

软件

U-Boot启动流程解析

CPU上电后首先进入初始状态,需谨慎配置处理器模式、中断开关及内存管理单元等关键参数。随后依据硬件架构完成电路板级初始化与程序代码重定位操作。最终系统转入命令行交互模式,准备接收并执行用户指令。整个启动过程包含多个精密衔接的底层步骤。

1、 关闭中断并切换至SVC模式

2、 关闭内存管理单元及转换检测缓冲寄存器,同时禁用时钟与看门狗相关寄存器设置

3、 配置堆栈运行环境

4、 完成代码重定向前的硬件初始化,涵盖串口、定时器、环境变量及I2C、SPI等外设配置。

5、 代码重定向操作

6、 完成代码重定向后的板级初始化工作,涵盖板级定义的各类初始化操作,如eMMC、NAND Flash、网络及中断等模块的初始化设置。

7、 进入命令行模式

8、 等待并处理终端输入的命令,构成了uboot运行流程的核心环节。

9、 疑惑待解

10、 在SPL阶段虽已完成架构级别的初始化,但U-Boot仍需重新执行该过程,原因在于SPL并非所有平台启动U-Boot的必经环节。某些系统上电后,U-Boot可能直接从ROM或Flash开始运行,并未经过SPL阶段。具体启动流程由硬件平台的设计机制决定。因此,为确保系统状态的可靠性与一致性,U-Boot不依赖SPL的初始化结果,而是独立完成完整的架构初始化流程。这种设计避免了因启动路径不同而导致的兼容性问题,保证无论是否经过SPL,CPU最终都能处于预期的工作状态,从而提升系统的鲁棒性与可移植性,适应多种不同的硬件环境和启动方式。

11、 6.spl启动过程中的不同之处是什么?

12、 以tiny210为例,前期架构初始化流程基本相同,本质差异出现在board_init_f阶段开始之后。

13、 代码起始位置

展开全文
人赞过该文
内容纠错

相关电商优惠

评论

更多评论
还没有人评论~ 快来抢沙发吧~

读过此文的还读过

点击加载更多

内容相关产品

说点什么吧~ 0

发评论,赚金豆

收藏 0 分享
首页查报价问答论坛下载手机笔记本游戏硬件数码影音家用电器办公打印 更多

更多频道

频道导航
辅助工具