5.2.3. 编程指南
5.2.3.1. 初始化
根据系统配置,将 SPI ENC 模块连接到正确的 SPI 控制器。
通过设置 SPIE_CTL[13:12] 选择连接的 SPI 控制器
设置密钥
默认使用 eFuse 中的密钥数据,也通过 SPIE_DBGR, SPIE_KDBG, SPIE_NDBG 设置密钥
中断使能
通过设置 SPIE_ICR 寄存器使能相应中断
5.2.3.2. 使用流程
读写 SPI 存储时,对于命令和 SPI 器件的 OTP 读写操作,不需要进行加解密
传输时需要确保 SPIE_CTL[0] = 0(KEY_START = 0)
在进行 SPI 存储的加密数据传输时
首先要设置当前访问的数据地址 SPIE_ADDR和用于调整 Counter 值的 SPIE_TWEAK
以及设置当前传输的密文数据位置 SPIE_CPOS, SPIE_CLEN
最后开始计算分组密钥
设置 SPIE_CTL[0] = 1 (KEY_START = 1)
检查密钥是否已经产生(SPIE_ISR[0])
SPI 控制器开始传输数据
通过 SPIE_ISR 检查
加解密是否完成
读取的数据是否为空数据(全为 0xFF)