功能描述
eFuse 和 SRAM 空间映射
软件读写 eFuse 空间,在1Kbit 范围内以 32 bit 为单位读写。
为保证可靠性,建议既写 eFuse word[n] 也写 word[64+n]。开机时,硬件自动读取 eFuse Cell 到 eFuse Buffer 空间,针对两个 word 空间进行按位或操作, 任意一位为 1 则 eFuse Buffer对应位 结果为 1,起到双备份的目的, 如 eFuse Cell 和 eFuse Buffer 空间映射所示。
512bit 空间映射定义
| 地址 | 用途 | 位数 | 禁止位 | 禁写 | 禁读 | 归属 | 备注 |
|---|---|---|---|---|---|---|---|
| 0~3 | DIS | 32 | 0 | - | - | CSTM |
15:00 eFuse 读禁止配置 31:16 eFuse 写禁止配置 每位对应 1 个 32bits 空间 |
| 4~7 | BROM_SECURE | 32 | 1 | Y | - | CSTM | BROM 参数配置区域 |
| 8~F | CALI | 64 | 2~3 | Y | - | AIC | 模拟校准使用 |
| 10~1F | CHIP ID | 128 | 4~7 | Y | - | AIC | 芯片编号 |
| 20~2F | SPI_ENC KEY | 128 | 8~11 | Y | Y | CSTM | 安全,连接到 SPI_ENC,对称密钥 |
| - | SPI_ENC NONCE | 64 | - | - | - | CSTM | 此版本不可烧录,固定为某个值 |
| 30~3F | Reserved | 128 | 12~15 | - | - | CSTM | OEM 可自定义使用 |
CALI 区域定义
| 比特位 | 名称 | 描述 | 备注 |
|---|---|---|---|
| 31:24 | OSC24_OUT_TR | 24MHz 振荡器校准值 | 配置到0x0A4 PLL_INOSC_OUT_TR24M |
| 23:16 | - | - | - |
| 15:8 | AVCC_BG_CTRL | AVCC BG 校准值 | 配置到0x020 LDO25_CFGBG_CTRL |
| 7:4 | - | - | - |
| 3 | THS_VAL_VALID | THS 烧写值有效 | - |
| 2 | OSC24_OUT_VDLID | 24MHz 振荡器校准值有效 | - |
| 0 | AVCC_BG_VALID | AVCC BG 校准值有效 | - |
| 比特位 | 名称 | 描述 | 备注 |
|---|---|---|---|
| 31:25 | - | - | - |
| 24 | CP_VALID | CP eFuse已烧写 | - |
| 23:12 | THS1_ADC_VAL | THS ADC1采样值 | - |
| 11:0 | THS0_ADC_VAL | THS ADC0采样值 | - |
BROM_SECURE 区域定义
| 比特位 | 名称 | 描述 |
|---|---|---|
| 31:29 | - | - |
| 28 | SPI_ENC_EN | BROM 读取使用,使能 SPI 总线数据加密功能 |
| 27:25 | - | - |
| 24 | JTAG_LOCK | 逻辑组合后连接到 CPU 屏蔽 TDO,关闭 JTAG 调试功能,在安全方案中烧录为 1 |
| 23:21 | - | - |
| 20 | SDMC_EXT_MUX_DIV | 设置 SDMC 外部时钟选择 |
| 19:18 | SDMC_SMP_PHASE | 设置 SDMC 采样时钟的相位 |
| 17:16 | SDMC_DRV_PHASE | 设置 SDMC 驱动时钟的相位 |
| 15 | CPU_HS_EN | 1:BROM 使能 CPU 高速模式,CPU 216MHz,AXI/AHB 200MHz |
| 14 | CHECKSUM_DIS | 1:启动过程中 BROM 不检查固件的 Checksum |
| 13 | PLL_FRA0_DIS | 1:BROM 不启用 PLL_FRA0 |
| 12 | PLL_INT1_DIS | 1:BROM 不启动 PLL_INT1,USB 不能使用 |
| 11 | SPI_DMA_DIS | 1:BROM 访问 SPI 存储时,不使用 DMA |
| 10 | - | - |
| 9 | SD/eMMC_DMA_DIS | 1:BROM 访问 SD/eMMC 时,不使用 DMA |
| 8 | SKIP_SD_PHASE | 1:BROM 在访问 PRIMARY、SECONDARY 存储前不访问 SD 卡。设置为 1 影响卡量产 |
| 7:4 | SECONDARY | 指定 BROM 的次选启动设备 |
| 3:0 | PRIMARY | 指定 BROM 的首选启动设备 |
JTAG 安全保护
JTAG 使能受 SID 控制,用于对芯片做安全保护。JTAG 安全保护硬件逻辑及使用场景如下:
对于关闭 JTAG 的安全芯片方案,用户可以使用安全密钥进行认证, 认证成功后由 BROM 开启 UNLOCK 位来打开 JTAG。
注: JTAG_UNLOCK 位只在 BROM 中进行读写,通过 BROM_PRIVILEGE_LOCK
实现。
