云途REGFILE、NVR介绍
GaoSheng Lv4

REGFILE 寄存器堆,这部分始终处于上电状态的域中,在掉电模式下(power down)也能保留一些关键信息值。
NVR:Nonvolatile Register 这部分我现在的理解是带特殊功能的flash

REGFILE只有32个位,但是这个掉电不丢失的特性在很多场景下都是挺适配的
image
阅读HA的RM手册可以知道,安全启动是通过REGFILE->REG0中的内容来判断是否进入Fast Wakeup Boot模式
image

在云途HA系列中,一共有5种NVR。
image

  • HCU_NVR(也有的手册上使用AES_NVR的命名)主要用于保存HCU(硬件加密单元)中使用的密钥,该部分占用1KB空间,可以存放32 x 256 bit的密钥数据。为了可以保证密钥的安全,该部分区域支持用户的擦除和写入,但是不支持读取操作。当HCU需要使用密钥的时候,软件可以直接调用Flash的命令(Load AES Key (0x20))将需要用到的Key直接载入到HCU中使用,整个过程中,软件只能选择Key(的索引)而不能读取或者修改Key(的内容)。注意,对AES Key区域的写入和擦除操作,都需要先用Customer Key解锁(向EFM_CUS_KEY寄存器中写一次0x4dff32)。
  • OTP_NVR可以用于保存一次性可编程数据,OTP(One Time Program)区域的特点是,只能一次写入,不支持擦写和二次写入。在具体应用中,可以在该区域保存产品ID信息或者永久固化的信息。注意,对该区域的读取并没有限制。
  • BOOT_NVR可用来保存与OTA升级相关的数据,例如,当前作为Block0的PFlash索引,软件应该避免对该区域进行操作。
  • CUS_NVR包含Flash擦写保护配置和调试端口禁用的特定的数据标签(相当于是配置寄存器的值),用户可以向该区域的特定地址写入特定值,以启用对Flash的擦写保护和禁用调试端口。CUS_NVR的剩余部分是用户可以自由使用的,但对CUS_NVR的读写操作需要先通过写入Customer Key来解锁。
本站由 提供部署服务