正常启动
9 Aug 2024
Read time: 3 minute(s)
启动介质选择
BROM 程序支持以下启动介质:
- eMMC
- SD Card
- SD Card FAT32/exFAT
- SPI NAND
- SPI NOR
- USB DISK FAT32/exFAT
使用 eFuse 配置启动介质
用户可以通过配置 eFuse 中的以下三个字段选择固定的启动介质:
- Skip SD/UDISK Phase:BROM
跳过可插拔介质。
BROM 在启动过程中首先执行 SD 卡/ UDISK 检查,检查是否有插入可启动的 SD 量产卡或者量产 U 盘,如有,则优先运行 SD 卡/ U 盘中的固件。
- 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 |
0x5 | UDISK |
其他 | 无效值,等同 0x0 |
eFuse 中的 BROM 配置区域
下表列出了 eFuse 中的 64 位 BROM 配置位域及其详情:位域 | 字段 | 默认值 | 功能描述 |
---|---|---|---|
63:20 | - | - | - |
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 | md5_veri_dis | 0 |
|
9 | SD/eMMC DMA disable | 0 |
|
8 | Skip SD/UDISK Phase | 0 |
|
7:4 | Secondary boot device | 0 | 次选启动介质,具体值参考启动介质索引值。 |
3:0 | Primary boot device | 0 | 首选启动介质,具体值参考 启动介质索引值。 |