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 所示。

../../../_images/sid_function_map.png

图 5.8 eFuse和SRAM空间映射

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 可自定义使用

注:
ROTPK: Root Of Trust Public Key
SSK: Symmetric Secure Key
HUK: Hardware Unique Key
PNK: Part Number Key
PSK: Partner Secret Key

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实现)。

../../../_images/sid_function_jtag.png

图 5.9 JTAG安全保护硬件逻辑及使用场景