正常启动
9 Aug 2024
Read time: 4 minute(s)
启动介质选择
BROM 程序支持以下启动介质:
- eMMC
- SD Card
- SD Card FAT32/exFAT
- SPI NAND
- SPI NOR
使用 eFuse 配置启动介质
用户可以通过配置 eFuse 中的以下三个字段选择固定的启动介质:
- 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(仅支持 SPI0 启动) |
0x2 | SPI NOR(仅支持 SPI0 启动) |
0x3 | SDMC0 eMMC |
0x4 | SDMC1 SD Card |
其他 | 无效值,等同 0x0 |
eFuse 中的 BROM 配置区域
下表列出了 eFuse 中的 64 位 BROM 配置位域及其详情:位域 | 字段 | 默认值 | 功能描述 |
---|---|---|---|
31:30 | - | - | - |
29: | JTAG disable | 0 |
|
28:27 | SPI_ENC_EN | 0 |
|
26:22 | PLL CINT CFG | 0 | PLL_CINT’s bit[6:2] |
21 | PLL CINT enable | 0 |
|
20 | SDMC ext_mux_div | 0 |
|
19:18 | SDMC sample phase | 0 |
|
17:16 | SDMC drive phase | 0 |
|
15 | CPU High speed enable | 0 |
|
14 | Checksum disable | 0 |
|
13 | PLL_FRA0 disable | 0 |
|
12 | PLL_INT1 disable | 0 |
|
11 | SPI DMA disable | 0 |
|
10 | dce_dis | 0 |
|
9 | SD/eMMC DMA disable | 0 |
|
8 | Skip SD Phase | 0 |
|
7:4 | Secondary boot device | 0 | 次选启动介质,具体值参考启动介质索引值 |
3:0 | Primary boot device | 0 | 首选启动介质,具体值参考启动介质索引值 |