我们一直在使用 esp_par
tition_write/read 函数访问一个分区来存储自定义数据,没有闪存加密。
该代码需要检测是否已写入特定数据元素。之前,我们读取内容,如果字节为 0xFF,我们假设数据已被擦除且尚未写入(我们从未将 0xFF 写入该位置)。
然而,启用闪存加密后,如果分区的内容被擦除,读取数据(使用 esp_partition_read 或内存映射访问)将返回乱码数据,因为设备“解密”了 0xFF 值。
我们可以使用“esp_flash_read”来读取原始字节,但是(也许?)真实数据可能已写入闪存,恰好加密为值 0xFF。
当闪存加密打开时,是否有其他方法检测闪存扇区是否处于已擦除/未写入状态?