所有错误描述

[English]

[CPU-718] PSRAM 先写后读一致性问题

影响版本: v0.0 v0.1 v1.0

描述

当 CPU 通过 CACHE 或 DMA 对 PSRAM 进行随机读写时,如果满足以下任一条件,可能会出现 CPU 访问 PSRAM 的数据一致性问题:

  • PSRAM 加密或解密已启用,或

  • 通过 DMA 访问 PSRAM 时,AHB_DMA_OUT_DATA_BURST_MODE_SEL_CHn 配置为 0 或 1

原因

MSPI 硬件负责管理 CPU 对 PSRAM 的读写请求,并且内部存在缓存。因此,MSPI 接收到的 CPU 读写请求并不一定会立即作为 SPI 事务提交到 PSRAM。

如果 CPU 在很短时间内先对某一 PSRAM 物理地址执行写操作,又立即对相同地址执行读操作,先发出的写操作可能因 MSPI 内部缓存或加解密延迟而尚未完成;结果 MSPI 可能先执行后发出的读操作,导致读取到过期或不一致的数据。

示例

  • 当 CACHE 从启用加解密的 PSRAM 区间读取且发生 cache miss 时,回写的数据可能不一致。

  • 在 DMA 写入 PSRAM 完成后,随即进行的 DMA 读或 CACHE 读同一 PSRAM 区域可能返回不一致的数据。

变通方法

  • 针对因加解密导致的 cache miss 引起的数据一致性问题:在存在随机读写访问的场景下,不建议启用 PSRAM 加密功能。

  • 针对 CPU 通过 DMA 访问时出现的数据一致性问题:在 DMA 写入完成后,或在 CPU 读取相同物理地址之前,增加延时,以确保 MSPI 已实际完成对 PSRAM 的写入操作。

解决方案

已在芯片版本 v1.2 中修复。

[SRAM-436] 数字外设电源域掉电导致内部 SRAM 内容可能被改写

影响版本: v1.0

描述

在部分 ESP32-C5 v1.0 芯片中,当启用数字外设电源域掉电功能时,可能出现内部 SRAM 的部分内容被改写的情况,从而导致 CPU_LOCKUP 复位或系统挂死。

变通方法

在 ESP-IDF v5.5 及以上版本中,ESP32-C5 v1.0 已禁用数字外设电源域掉电功能。

解决方案

已在芯片版本 v1.2 中从硬件层面修复。

[HUK-576] HUK 不可用

影响版本: v0.0 v0.1 v1.0

描述

在 ESP32-C5 芯片中,上电瞬间的电流冲击可能导致 HUK 首次恢复存在一定概率失败。

在受影响的芯片版本中,ROM 在上电后直接使用 HUK 恢复得到的数据来派生后续基于密钥管理器的 flash 加解密密钥(ESP-IDF v5.5.2 新增功能)。在 HUK 恢复失败的情况下,可能导致密钥派生失败。

变通方法

无。

解决方案

已在芯片版本 v1.2 中修复。

通过更新 ROM,在 HUK 恢复失败时支持重新对 HUK 上电并再次执行恢复流程。

[FLASH-938] CPU 频率为 240 MHz 时 flash 手动加密失败

影响版本: v1.0 v1.2

描述

在 ESP32-C5 芯片中,由于内部功耗波动,在 CPU 频率为 240 MHz 时执行 flash 手动加密可能会失败。

变通方法

在执行 flash 手动加密时,将 CPU 频率降低至 160 MHz 或更低。

解决方案

暂无 修复计划。