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 所示。
名字 |
频率 |
备注 |
---|---|---|
AXI |
24MHz |
默认使能 |
AHB |
60MHz |
默认使能 |
APB0 |
24MHz |
默认使能 |
APB1 |
24MHz |
默认使能 |
CPU |
24MHz |
默认使能 |
SRAM |
60MHz |
默认使能 |
TIMER |
24MHz |
默认使能 |
3.1.2.2. 正常启动
正常启动时 BROM 已经对启动介质进行了检测,并且对所使用到的硬件模块进行了初始化。 具体如 表 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 所示。
名字 |
频率 |
备注 |
---|---|---|
AHB0 |
60MHz |
进入 USB 升级时设置为 60MHz |
DMA |
60MHz |
默认关闭 |
SRAM |
60MHz |
跟随 AHB0 |
SDMC |
24MHz |
默认关闭 |
SPI |
24MHz |
默认关闭 |
USB |
60MHz |
默认使能 |