uboot启动流程

 时间:2026-02-14 05:13:19

1、1.关闭中断,设置svc模式

禁用MMU、TLB关键寄存器的设置,包括时钟、看门狗的寄存器

uboot启动流程

2、2.堆栈环境的设置

代码重定向之前的板级初始化,包括串口、定时器、环境变量、I2C\SPI等等的初始化

uboot启动流程

3、3.进行代码重定向

代码重定向之后的板级初始化,包括板级代码中定义的初始化操作、emmc、nand flash、网络、中断等等的初始化。

uboot启动流程

4、4. 进入命令行状态

等待终端输入命令以及对命令进行处理上述工作,也就是uboot流程的核心。

uboot启动流程

5、5.疑问

在spl的阶段中已经对arch级进行了初始化了,为什么uboot里面还要对arch再初始化一遍? 回答:spl对于启动uboot来说并不是必须的,在某些情况下,上电之后uboot可能在ROM上或者flash上开始执行而并没有使用spl。这些都是取决于平台的启动机制。因此uboot并不会考虑spl是否已经对arch进行了初始化操作,uboot会完整的做一遍初始化动作,以保证cpu处于所要求的状态下。

uboot启动流程

6、6.spl在启动过程的差异在哪里?

回答:以tiny210而言,前期arch的初始化流程基本上是一致的,出现本质区别的是在board_init_f开始的。

uboot启动流程

7、7.代码入口

project-X/u-boot/arch/arm/cpu/u-boot.lds

uboot启动流程

  • 增加深度睡眠的方法
  • 酱香麻辣小公鸡
  • 怎么做木瓜雪蛤糖水
  • 第一次卖衣服,如何选购进货?
  • 花生酱蛋糕的做法
  • 热门搜索
    头发硬适合什么发型 短发发型男 房子首付怎么算 内存不足怎么清理 江苏省博物馆 借钱不还怎么起诉 虾子怎么洗 女婴发型 糍粑怎么吃 软文怎么写