正常启动
9 Jan 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 | 首选启动介质,具体值参考 启动介质索引值。 |