编程指南
初始化流程
每次系统上电复位后,SID 自动读取所有eFuse 值到 SRAM,软件只需读取对应地址值即可。
注: 第一次烧写后,SRAM 值不会自动更新,需通过软件读操作将对应地址的值读到寄存器。
eFuse 烧写流程
-
检查 eFuse 控制寄存器 EFUSE_CTL 状态位,即 EFUSE_WRITE_START/ EFUSE_READ_START/EFUSE_AUTO_STATUS 字段,若为非空闲则等待,若都为空闲则继续第 2 步。
-
配置要烧写 eFuse 地址到 eFuse 地址寄存器 EFUSE_ADDR。
-
配置要烧写eFuse数据到eFuse写数据寄存器 EFUSE_WDATA。
-
配置 eFuse 控制寄存器 EFUSE_CTL 启动烧写流程。EFUSE_WRITE_START和EFUSE_OP_CODE 均需配置;
-
等待 EFUSE_WRITE_START 自动清零,硬件自动关闭 LDO。
为达到双备份目的,要求针对备份地址,即偏移256Byte地址,重复步骤1~步骤5烧写
eFuse 读取流程
-
检查 eFuse 控制寄存器 EFUSE_CTL 状态位,即 EFUSE_WRITE_START/ EFUSE_READ_START/EFUSE_AUTO_STATUS 字段,若为非空闲则等待,若都为空闲则继续第 2 步。
-
配置要读取 eFuse 地址到 eFuse 地址寄存器 (EFUSE_ADDR)。
-
配置 eFuse 控制寄存器 (EFUSE_CTL) 启动读取流程,EFUSE_READ_START 和 EFUSE_OP_CODE 都需要配置。
-
等待 EFUSE_READ_START 自动清零,读取eFuse读数据寄存器 (EFUSE_RDATA) 获得 eFuse 的值。