Edit online

功能描述

9 Jan 2025
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 空间映射所示。


sid-function

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~2F CALI 128 8~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 NV CNTR 128 36~39 - - CSTM 安全,固件版本,仅 BROM 可写
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 区域定义

1. 偏移地址: 0x20
比特位 名称 描述 备注
31:24 THS_ENV_TEMP THS 环境温度 -
23:12 THS1_ADC_VAL THS ADC1 采样值 -
11:0 THS0_ADC_VAL THS ADC0 采样值 -
2. 偏移地址: 0x24
比特位 名称 描述 备注
31:20 - - -
19:16 CP_THS_ENV_TEMP THS 环境温度 -
15:8 USB0_RES_VAL USB0 电阻校准值 -
7:0 USB1_RES_VAL USB1 电阻校准值 -
3. 偏移地址: 0x28
比特位 名称 描述 备注
31:25 DDR_RES_VAL DDR 电阻校准值 配置到0x044 DDR_REXT RES_CAL_VAL
24:16 - - -
15:8 LDO25_BG_CTRL LDO25 BG 校准值 配置到0x024 LDO25_CFG BG_CTRL
7:0 LDO30_BG_CTRL LDO30 BG 校准值 配置到0x020 LDO30_CFG BG_CTRL
4. 偏移地址: 0x2C
比特位 名称 描述 备注
31:25 - - -
24 CP_VALID CP eFuse 已烧写 -
23:12 THS1_ADC_VAL THS ADC1 采样值 -
11:0 THS0_ADC_VAL THS ADC0 采样值 -

BROM 区域定义

5. 偏移地址: 0x30
比特位 名称 描述
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 的首选启动设备

SECURE 区域定义

6. 偏移地址: 0x38
比特位 名称 描述
31:25 - -
24 PBP_ENC_EN BROM 读取使用,使能 PBP 程序加密功能。
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 逻辑组合后连接到总线译码,屏蔽对 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。

JTAG 安全保护

JTAG 使能受 SID 控制,用于对芯片做安全保护。JTAG 安全保护硬件逻辑及使用场景如下:



2. 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