3.1.2. 运行环境

系统冷启动过程中经历的不同阶段有:

BROM(Boot ROM) -> SPL -> OpenSBI -> U-Boot -> Kernel

因此在 U-Boot SPL 运行之前,BROM 已经对系统进行了基本的初始化。 在不同的场景下,U-Boot SPL 的运行硬件环境状态如下文所描述。

3.1.2.1. 硬件模块

对于基本硬件模块,在 CPU 上电时默认进行初始化,具体如 表 3.2 所示。

表 3.2 基本硬件模块状态

名字

频率

备注

AXI

24MHz

默认使能

AHB

60MHz

默认使能

APB0

24MHz

默认使能

APB1

24MHz

默认使能

CPU

24MHz

默认使能

SRAM

60MHz

默认使能

TIMER

24MHz

默认使能

3.1.2.2. 正常启动

正常启动时 BROM 已经对启动介质进行了检测,并且对所使用到的硬件模块进行了初始化。 具体如 表 3.3 所示。

表 3.3 正常启动时的硬件模块状态

名字

频率

备注

DMA

60MHz

SPI NAND/NOR 启动时使能

SDMC

24MHz

启动的 SDMC 控制器被使能

SPI

24MHz

启动的 SPI 控制器被使用

CE

200MHz

安全启动打开时被使能

USB

60MHz

默认关闭

3.1.2.3. USB 升级

无论是主动进入 USB 升级模式,还是由于启动失败进入 USB 升级模式, 都只有基本的硬件模块以及 USB 模块被使能,其他模块处于关闭状态。 具体如 表 3.4 所示。

表 3.4 升级模式时的硬件模块状态

名字

频率

备注

AHB0

60MHz

进入 USB 升级时设置为 60MHz

DMA

60MHz

默认关闭

SRAM

60MHz

跟随 AHB0

SDMC

24MHz

默认关闭

SPI

24MHz

默认关闭

USB

60MHz

默认使能