功能描述
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
实现。