跳到主要内容

ArtInChip U-Boot介绍

1. 功能支持

ArtInChip U-Boot 是基于官方版本 v2021.10 正式版进行移植开发的专用启动引导程序, 开发过程中只增加新功能支持,对原有功能并没有进行改动。

支持的主要功能如 表 3.3 所列。

表 3.3 U-Boot 功能列表

功能描述
支持 SPL
SPL Falcon 模式SPL 直接加载 Kernel
启动介质SPI NOR/SPI NAND/SD Card/eMMC
USB 量产升级
SD Card 量产升级
U盘升级
文件系统FAT32、EXT2、EXT4 和 UBIFS 文件系统
GPT 分区格式SD/eMMC
支持开机 Logo显示
显示设备RGB, LVDS, MIPI
安全启动

2. 运行环境

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

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

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

2.1. 硬件模块

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

表 3.4 基本硬件模块状态

名字频率备注
AXI24MHz默认使能
AHB60MHz默认使能
APB024MHz默认使能
APB124MHz默认使能
CPU24MHz默认使能
SRAM60MHz默认使能
TIMER24MHz默认使能

2.2. 正常启动

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

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

名字频率备注
DMA60MHzSPI NAND/NOR 启动时使能
SDMC24MHz启动的 SDMC 控制器被使能
SPI24MHz启动的 SPI 控制器被使用
CE200MHz安全启动打开时被使能
USB60MHz默认关闭

2.3. USB 升级

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

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

名字频率备注
AHB060MHz进入 USB 升级时设置为 60MHz
DMA60MHz默认关闭
SRAM60MHz跟随 AHB0
SDMC24MHz默认关闭
SPI24MHz默认关闭
USB60MHz默认使能