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.10 所示。
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 |
128 |
20~2F |
8~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,合作伙伴密钥 |
NV CNTR |
128 |
90~9F |
36~39 |
CSTM |
安全,固件版本,仅 BROM 可写 |
||
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区域定义
偏移地址: 0x20
比特位 |
名称 |
描述 |
备注 |
---|---|---|---|
31:24 |
THS_ENV_TEMP |
THS 环境温度 |
FT测试烧录 |
23:12 |
THS1_ADC_VAL |
THS ADC1采样值 |
FT测试烧录 |
11:0 |
THS0_ADC_VAL |
THS ADC0采样值 |
FT测试烧录 |
偏移地址: 0x24
比特位 |
名称 |
描述 |
备注 |
---|---|---|---|
31:20 |
MEM_RESERVE |
DDR FLASH etc. |
FT测试烧录 |
19:16 |
CP_THS_ENV_TEMP |
THS 环境温度 |
CP测试烧录 |
15:8 |
USB0_RES_VAL |
USB0电阻校准值 |
CP测试烧录 |
7:0 |
USB1_RES_VAL |
USB1电阻校准值 |
CP测试烧录 |
偏移地址: 0x28
比特位 |
名称 |
描述 |
备注 |
---|---|---|---|
31:25 |
DDR_RES_VAL |
DDR 电阻校准值 |
CP测试烧录 |
24:16 |
EPHY_RES_VAL |
EPHY 电阻校准值 |
CP测试烧录 |
15:8 |
LDO25_BG_CTRL |
LDO25 BG校准值 |
CP测试烧录 |
7:0 |
LDO30_BG_CTRL |
LDO30 BG校准值 |
CP测试烧录 |
偏移地址: 0x2C
比特位 |
名称 |
描述 |
备注 |
---|---|---|---|
31:25 |
- |
- |
CP测试烧录 |
24 |
CP_VALID |
CP eFuse已烧写 |
CP测试烧录 |
23:12 |
THS1_ADC_VAL |
THS ADC1采样值 |
CP测试烧录 |
11:0 |
THS0_ADC_VAL |
THS ADC0采样值 |
CP测试烧录 |
5.3.2.4. BROM 区域定义
比特位 |
名称 |
描述 |
---|---|---|
31 |
USB_CALI_EN |
1: BROM 读取 eFuse CALI 区域 USB0 的校准值,并且设置 |
30 |
PLL_CINT_EN |
1: BROM 读取 PLL_CINT_CFG 的值,并且设置到 CMU 相关寄存器 |
29:26 |
- |
- |
25:22 |
PLL_CINT_CFG |
CMU PLL_INT1_CFG 寄存器 PLL_CINT[5:2] 的值 |
21 |
MD5_VERI_DIS |
1: BROM 不使用 MD5 进行固件的校验 |
20 |
SDMC_EXT_MUX_DIV |
设置 SDMC 外部时钟选择 |
19:18 |
SDMC_SMP_PHASE |
设置 SDMC 采样时钟的相位 |
17:16 |
SDMC_DRV_PHASE |
设置 SDMC 驱动时钟的相位 |
15 |
SPI_BOOT_INTF |
0:使用 SPI0 启动,1:使用 SPI1 启动 |
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 |
SD/eMMC_4_LINE_EN |
1:BROM 访问 SD/eMMC 时,使用4线 |
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区域定义
比特位 |
名称 |
描述 |
---|---|---|
31:24 |
- |
- |
24 |
PBP_ENC_EN |
BROM读取使用,使能 PBP(PreBootProgram)的加密功能 |
23:20 |
- |
- |
19 |
SPI_ENC_EN |
BROM读取使用,使能SPI总线数据加密功能 |
18 |
ANTI_ROLLBACK_EN |
BROM读取使用,使能固件防回滚功能,需要同时使能安全启动 |
17 |
ENCRYPT_BOOT_EN |
BROM读取使用,使能固件加密启动功能 |
16 |
SECURE_BOOT_EN |
BROM读取使用,使能安全启动功能 |
15 |
DDR_APB_LOCK |
逻辑组合后连接到总线译码,屏蔽对DDR APB的读写操作,芯片出厂烧录为1 |
14 |
TEST_DIS |
预留位,用于关闭模块的一些调试功能 |
13:10 |
- |
- |
9 |
PWMCS_DIS |
连接到CMU PWMCS APB时钟使能,强制关闭PWMCS模块 |
8 |
DE_DIS |
连接到CMU DE APB时钟使能,强制关闭DE模块 |
7:1 |
- |
- |
0 |
JTAG_LOCK |
逻辑组合后连接到CPU屏蔽TDO,关闭JTAG调试功能,在安全方案中烧录为1 |
5.3.2.6. JTAG安全保护
JTAG使能受SID控制,用于对芯片做安全保护。 硬件逻辑及使用场景如 图 5.11 所示。
在关闭JTAG的安全芯片方案中,客户可以使用安全密钥进行认证, BROM在认证成功后开启UNLOCK位来打开JTAG, 注意JTAG_UNLOCK位只在BROM中进行读写(通过BROM_PRIVILEGE_LOCK实现)。