Edit online

编程指南

29 May 2024
Read time: 1 minute(s)

开始之前

开始配置之前,确保 SPI ENC 模块已经初始化。初始化步骤如下:
  1. 根据系统配置,将 SPI ENC 模块连接到正确的 SPI 控制器。

    通过设置 SPIE_CTL[13:12] 选择连接的 SPI 控制器。

  2. 设置密钥。默认使用 eFuse 中的密钥数据,也可通过 SPIE_DBGR、SPIE_KDBG 和 SPIE_NDBG 设置密钥。
  3. 通过设置 SPIE_ICR 寄存器使能相应中断。

关于此任务

SPI_ENC 模块的配置步骤如下:

过程

  1. 读写 SPI 存储,传输时确保 SPIE_CTL[0] = 0 (KEY_START = 0)。
    读写 SPI 存储时,不需要对命令和 SPI 器件的 OTP 读写操作进行加解密。
  2. 设置以下参数进行 SPI 存储的加密数据传输。
    • SPIE_ADDR:当前访问的数据地址
    • SPIE_TWEAK:用于调整 Counter 值
    • SPIE_CPOS, SPIE_CLEN:当前传输的密文数据位置
  3. 设置 SPIE_CTL[0] = 1 (KEY_START = 1) 值,开始计算分组密钥。
    产生密钥 (SPIE_ISR[0])。

    确保密钥已经产生。如密钥产生,则 SPI 控制器开始传输数据。

  4. 通过 SPIE_ISR 检查加解密是否完成,并查看读取的数据是否为空数据(全为 0xFF)。