5.3.2. 功能描述
5.3.2.1. eFuse和SRAM空间映射
软件读写eFuse空间,在4K bit范围内以32bit为单位操作。为保证可靠性,建议采用双备份方式,即写eFuse word[n]也写word[64+n]。
开机硬件自动读取eFuse空间到SRAM空间,针对两个word空间进行按位或操作, 任意一位为1则SRAM结果为1,起到双备份的目的, 如 图 5.8 所示。
5.3.2.2. 2Kbit空间映射定义
用途 |
位数 |
地址 |
禁止位 |
禁写 |
禁读 |
归属 |
备注 |
---|---|---|---|---|---|---|---|
DIS RD |
64 |
0~7 |
0~1 |
V |
CSTM |
eFuse 读禁止配置区域 |
|
DIS WR |
64 |
8~F |
2~3 |
eFuse 写禁止配置区域 |
|||
CHIP ID |
128 |
10~1F |
4~7 |
V |
AIC |
芯片主编号 |
|
CALI |
64 |
28~2F |
10~11 |
V |
AIC |
模拟校准使用 |
|
BROM |
64 |
30~37 |
12~13 |
V |
CSTM |
BROM 参数配置区域 |
|
SECURE |
64 |
38~3F |
14~15 |
V |
CSTM |
安全和调试功能开关 |
|
ROTPK |
128 |
40~4F |
16~19 |
V |
CSTM |
安全,RSA公钥的MD5 Hash值 |
|
SSK |
128 |
50~5F |
20~23 |
V |
V |
CSTM |
安全,连接到CE,对称密钥 |
HUK |
128 |
60~6F |
24~27 |
V |
V |
AIC |
安全,连接到CE,硬件唯一密钥 |
PSK0 |
64 |
70~77 |
28~29 |
V |
V |
CSTM |
安全,连接到CE,合作伙伴密钥 |
PSK1 |
64 |
78~7F |
30~31 |
V |
V |
CSTM |
安全,连接到CE,合作伙伴密钥 |
PSK2 |
64 |
80~87 |
32~33 |
V |
V |
CSTM |
安全,连接到CE,合作伙伴密钥 |
PSK3 |
64 |
88~8F |
34~35 |
V |
V |
CSTM |
安全,连接到CE,合作伙伴密钥 |
Reserved |
128 |
90~9F |
36~39 |
AIC |
AIC 可自定义使用 |
||
SPI_ENC KEY |
128 |
A0~AF |
40~43 |
V |
V |
CSTM |
安全,连接到 SPI_ENC,对称密钥 |
SPI_ENC NONCE |
64 |
B0~B7 |
44~45 |
V |
V |
CSTM |
安全,连接到 SPI_ENC,随机数 |
PNK |
64 |
B8~BF |
46~47 |
V |
V |
AIC |
安全,连接到CE,型号唯一密钥 |
Reserved |
512 |
C0~FF |
48~63 |
CSTM |
OEM 可自定义使用 |
5.3.2.3. CALI区域定义
偏移地址: 0x28
比特位 |
名称 |
描述 |
备注 |
---|---|---|---|
31:24 |
OSC24_OUT_TR |
24MHz振荡器校准值 |
FT CMU 0x00A4 PLL_IN OSC_OUT_TR |
23:16 |
USB_RES_VAL |
USB电阻校准值 |
CP SYSCFG 0x048 USB_REXT RES_CAL_VAL |
15:8 |
AVCC_BG_CTRL |
AVCC BG校准值 |
FT SYSCFG 0x020 LDO25_CFG BG_CTRL |
7:4 |
- |
- |
- |
3 |
THS_VAL_VALID |
THS烧写值有效 |
CP测试烧录 |
2 |
OSC24_OUT_VDLID |
24MHz振荡器校准值有效 |
FT测试烧录 |
1 |
USB_RES_VALID |
USB电阻校准值有效 |
CP测试烧录 |
0 |
AVCC_BG_VALID |
AVCC BG校准值有效 |
FT测试烧录 |
偏移地址: 0x2C
比特位 |
名称 |
描述 |
备注 |
---|---|---|---|
31:24 |
THS_ENV_TEMP |
THS 环境温度 |
CP测试烧录 |
23:12 |
THS_ADC_VAL |
THS1 采样值 |
CP测试烧录 |
11:0 |
THS_ADC_VAL |
THS0 采样值 |
CP测试烧录 |
偏移地址: 0x34
比特位 |
名称 |
描述 |
备注 |
---|---|---|---|
31:24 |
THS_ENV_TEMP |
THS 环境温度 |
FT测试烧录 |
23:12 |
THS_ADC_VAL |
THS1 采样值 |
FT测试烧录 |
11:0 |
THS_ADC_VAL |
THS0 采样值 |
FT测试烧录 |
5.3.2.4. BROM 区域定义
偏移地址: 0x30
比特位 |
名称 |
描述 |
---|---|---|
31:27 |
- |
- |
26:22 |
PLL_CINT_CFG |
CMU PLL_INT1_CFG 寄存器 PLL_CINT[6:2] 的值,注意:这里的值 BROM
直接写入 PLL_CINT 相关位,不对 PLL_CLINT 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 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 |
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 的首选启动设备 |
5.3.2.5. SECURE区域定义
偏移地址: 0x38
比特位 |
名称 |
描述 |
---|---|---|
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 |
5.3.2.6. JTAG安全保护
JTAG使能受SID控制,用于对芯片做安全保护; 硬件逻辑及使用场景如 图 5.9 所示。
在关闭JTAG的安全芯片方案中,客户可以使用安全密钥进行认证, BROM在认证成功后开启UNLOCK位来打开JTAG, 注意JTAG_UNLOCK位只在BROM中进行读写(通过BROM_PRIVILEGE_LOCK实现)。