正常启动
3 Mar 2025
Read time: 3 minute(s)
启动介质选择
BROM 程序支持以下启动介质:
- eMMC
- SD Card
- SD Card FAT32
- SPI NAND
- SPI NOR
使用 eFuse 配置启动介质
用户可以通过配置 eFuse 中的以下三个字段选择固定的启动介质:
- Do SD Phase:BROM 跳过可插拔介质。BROM 在启动过程中首先执行 SD 卡检查,检查是否有可启动的 SD 量产卡或者 SD 启动卡,如有,则优先运行 SD 卡中的固件。注: 为加快启动速度,可设置 eFuse 中的 Skip SD Phase 跳过此阶段, 但必须注意如果 eFuse 设置的启动介质中没有 SD 卡,则芯片将无法再次从 SD 卡启动。
- Primary boot device:通过 eFuse 烧录首选启动介质。如果该字段值有效,BROM 直接尝试从该字段指定的介质读取固件。
-
Secondary boot device:通过 eFuse 烧录次选启动介质。
如果用户没有烧录有效的 Primary boot device 值,或者 BROM 从 Primary boot device 读取固件失败且 Secondary boot device 值有效,则尝试从 Secondary boot device 指定的介质读取固件。
关于 eFuse 中的启动配置,可查看 正常启动。
BROM 在执行启动的过程中,对相同的启动介质只会尝试一次启动。
如果 Primary boot device 和
Secondary boot device 都设为 SD 卡启动且未设置跳过前置的 SD 卡启动阶段,按照流程,BROM
会尝试从 SD 卡启动三次,但是 BROM 会记录是否已经尝试过通过该介质启动,如果尝试过则不再尝试。因此实际上 BROM
只会尝试一次,后续两次直接被跳过。启动介质的有效值如下表所示:
eFuse 启动介质索引值 |
描述 |
---|---|
0x0 |
默认值,没有配置启动介质,按照固定顺序尝试 |
0x1 |
SPI NAND |
0x2 |
SPI NOR |
0x3 |
SDMC0 eMMC |
0x4 |
SDMC1 SD Card |
eFuse 中的 BROM 配置区域
下表列出了 eFuse 中的 64 位 BROM 配置位域及其详情:位域 |
字段 |
默认值 |
功能描述 |
---|---|---|---|
63:16 |
- |
- |
- |
15 |
SPI Boot interface |
0 |
|
14 |
Checksum disable |
0 |
|
13 |
PLL_FRA0 disable |
0 |
|
12 |
PLL_INT1 disable |
0 |
|
11 |
SPI DMA disable |
0 |
|
10 |
SD/eMMC 4-line disable |
0 |
|
9 |
SD/eMMC DMA disable |
0 |
|
8 |
Skip SD Phase |
0 |
|
7:4 |
Secondary boot device |
0 |
次选启动介质,具体值参考 启动介质索引值。 |
3:0 |
Primary boot device |
0 |
首选启动介质,具体值参考 启动介质索引值。 |