功能描述
16 Aug 2024
Read time: 6 minute(s)
eFuse 和 SRAM 空间映射
软件读写 eFuse 空间,在 4Kbit 范围内以 32 bits 为单位读写。
为提升可靠性,采用双备份方案,在对 eFuse 进行烧写时,建议先后往 eFuse word[n] 和 word[64+n] 写入相同的值。
开机时,硬件自动读取 eFuse Cell 到 eFuse Buffer 空间,针对两个 word 空间进行按位或操作, 任意一位为 1 则 eFuse Buffer 对应位结果为 1,起到双备份的目的, 如 eFuse Cell 和 eFuse Buffer 空间映射所示。
2Kbit 空间映射定义
地址 | 用途 | 位数 | 禁止位 | 禁写 | 禁读 | 归属 | 备注 |
---|---|---|---|---|---|---|---|
0~7 | DIS RD | 64 | 0~1 | Y | - | CSTM | eFuse 读禁止配置区域 |
8~F | DIS WR | 64 | 2~3 | - | - | - | eFuse 写禁止配置区域 |
10~1F | CHIP ID | 128 | 4~7 | Y | - | AIC | 芯片主编号 |
20~27 | CHIP LOCK | 64 | 8~9 | Y | - | AIC | 芯片规格锁定 |
28~2F | CALI | 64 | 10~11 | Y | - | AIC | 模拟校准使用 |
30~37 | BROM | 64 | 12~13 | Y | - | CSTM | BROM 参数配置区域 |
38~3F | SECURE | 64 | 14~15 | Y | - | CSTM | 安全和调试功能开关 |
40~4F |
ROTPK1 |
128 | 16~19 | Y | - | CSTM | 安全,RSA 公钥的 Hash 值 |
50~5F |
SSK2 |
128 | 20~23 | Y | Y | CSTM | 安全,连接到 CE,对称密钥 |
60~6F | HUK3 | 128 | 24~27 | Y | Y | AIC | 安全,连接到 CE,硬件唯一密钥 |
70~77 | PSK04 | 64 | 28~29 | Y | Y | CSTM | 安全,连接到 CE,合作伙伴密钥 |
78~7F | PSK1 | 64 | 30~31 | Y | Y | CSTM | 安全,连接到 CE,合作伙伴密钥 |
80~87 | PSK2 | 64 | 32~33 | Y | Y | CSTM | 安全,连接到 CE,合作伙伴密钥 |
88~8F | PSK3 | 64 | 34~35 | Y | Y | CSTM | 安全,连接到 CE,合作伙伴密钥 |
90~9F | Reserved | 128 | 36~39 | - | - | AIC | AIC 可自定义使用 |
A0~AF | SPI_ENC KEY | 128 | 40~43 | Y | Y | CSTM | 安全,连接到 SPI_ENC,对称密钥 |
B0~B7 | SPI_ENC NONCE | 64 | 44~45 | Y | Y | CSTM | 安全,连接到 SPI_ENC,随机数 |
B8~BF | PNK5 | 64 | 46~47 | Y | Y | AIC | 安全,连接到 CE,型号唯一密钥 |
C0~FF | Reserved | 512 | 48~63 | - | - | CSTM | OEM 可自定义使用 |
CALI 区域定义
比特位 | 名称 | 描述 | 备注 |
---|---|---|---|
31:24 | THS_ENV_TEMP | THS 环境温度 | - |
23:12 | THS1_ADC_VAL | THS ADC1 采样值 | - |
11:0 | THS0_ADC_VAL | THS ADC0 采样值 | - |
比特位 | 名称 | 描述 | 备注 |
---|---|---|---|
31:20 | - | - | - |
19:16 | CP_THS_ENV_TEMP | THS 环境温度 | - |
15:8 | USB0_RES_VAL | USB0 电阻校准值 | - |
7:0 | USB1_RES_VAL | USB1 电阻校准值 | - |
比特位 | 名称 | 描述 | 备注 |
---|---|---|---|
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 振荡器校准值有效 | - |
1 | USB_RES_VALID | USB 电阻校准值有效 | - |
0 | AVCC_BG_VALID | AVCC BG 校准值有效 | - |
比特位 | 名称 | 描述 | 备注 |
---|---|---|---|
31:24 | THS_ENV_TEMP | THS 环境温度 | - |
23:12 | THS1_ADC_VAL | THS ADC1 采样值 | - |
11:0 | THS0_ADC_VAL | THS ADC0 采样值 | - |
BROM 区域定义
比特位 | 名称 | 描述 |
---|---|---|
31:27 | - | - |
26:22 | PLL_CINT_CFG | CMU PLL_INT1_CFG 寄存器 PLL_CINT[6:2] 的值 注: 此值由 BROM 直接写入 PLL_CINT 相关位,不对
PLL_CINT bit4、bit6 进行交换。
|
21 | PLL_CINT_EN | 1: BROM 读取 PLL_CINT_CFG 的值,并且设置到 CMU 相关寄存器 |
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 216 MHz,AXI/ AHB 200 MHz |
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 | MD5_VERI_DIS | 1:BROM 不使用 MD5 进行固件的校验 |
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 的首选启动设备 |
SECURE 区域定义
比特位 | 名称 | 描述 |
---|---|---|
31:25 | - | - |
24 | PBP_ENC_EN | BROM 读取使用,使能 PBP 程序加密功能。 |
23:20 | - | - |
19 | SPI_ENC_EN | BROM 读取使用,使能 SPI 总线数据加密功能。 |
18 | - | - |
17 | ENCRYPT_BOOT_EN | BROM 读取使用,使能固件加密启动功能。 |
16 | SECURE_BOOT_EN | BROM 读取使用,使能安全启动功能。 |
15:1 | - | - |
0 | JTAG_LOCK | 逻辑组合后连接到 CPU 屏蔽 TDO,关闭 JTAG 调试功能,在安全方案中烧录为 1。 |
JTAG 安全保护
JTAG 使能受 SID 控制,用于对芯片做安全保护。JTAG 安全保护硬件逻辑及使用场景如下:
对于关闭 JTAG 的安全芯片方案,用户可以使用安全密钥进行认证, 认证成功后由 BROM 开启 JTAG_UNLOCK 位来打开 JTAG。
注: JTAG_UNLOCK 位只在 BROM 中进行读写。BROM 退出时,会配置
BROM_PRIVILEGE_LOCK 为 1,此时对 JTAG_UNLOCK 进行写操作无效。。
1 Root Of Trust Public Key
2 Symmetric Secure Key
3 Hardware Unique Key
4 Partner Secret Key
5 Part Number Key