从启动流程初见U-Boot

从启动流程初见U-Boot

工具:rk3568开发板、tpye-c数据线

可以观察一下已经有完整Linux系统的启动流程,使用串口连接终端,重启系统

1.初始启动阶段(Boot ROM)

在嵌入式启动最初阶段,由SOC内置Boot ROM代码执行一些基本的初始化任务

  • 启动时钟系统
  • 设置基本的引导模式
  • 将引导加载程序的第一阶段代码加载到内部SARM中执行

这部分代码是写死在soc中的,过程不会打印在终端上

2.U-Boot第一阶段(SPL)

  • 是U-Boot的第一段代码,通常设计的非常小且能够在受限的环境运行
  • 负责早期的初始化,包括基本硬件的初始化,比如DDR内存的初始化

图片中所示就是DDR初始化过程

  • 配置DDR控制寄存器设置时钟频率、时序参数
  • 执行DDR内存的校准和初始化过程,使其进入工作流程

DDR初始化通常与特定的硬件平台有关,不同的Soc和DDR内存模块可能有不同的的初始化要求。U-Boot源代码中通常包含平台特定的DDR初始代码

请添加图片描述

请添加图片描述

3.U-Boot第二阶段(Uboot Proper)

一旦SPL初始化成功DDR内存,他将会把UBoot的主要部分(Uboot Proper)加载到DDR内存中。并将控制权移交给他。此后Uboot Proper会执行更多的硬件初始化和配置工作

  • 初始化外部存储设备
  • 配置网络接口
  • 提供命令行接口
  • 加载和引导操作系统内核

请添加图片描述

4.U-Boot第三阶段(start kernel)

当Uboot完成所有必要初始化和配置后,会加载系统内核并将控制权交给操作系统。从这开始,操作系统接管并继续启动过程,包括初始化驱动程序、启动用户空间程序等

请添加图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值