使用 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 中的启动配置,可查看 eFuse 中的 BROM 配置区域。
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 |