docs/zh_CN/api-guides/inc/external-ram-esp32-notes.rst
CONFIG_FREERTOS_TASK_CREATE_ALLOW_EXT_MEM 会取消 :cpp:func:xTaskCreateStatic 中的检查,允许任务栈存放在外部 RAM 中。但 不建议 使用此选项。CONFIG_SPIRAM_OCCUPY_SPI_HOST 选项可以选择使用的 SPI 主机。某些 ESP32 版本存在与外部 RAM 使用相关的问题,这些问题记录在 ESP32 系列芯⽚勘误表_ 文档中。ESP-IDF 会以下列特定方式处理上述错误:
ESP-IDF 并未针对该版芯片的错误提供解决方案,也不能将外部 PSRAM 映射到 ESP32 的主存储器映射中。
某些机器指令序列对外部内存进行操作时,该版芯片的错误会引发问题,详情请参阅 ESP32 系列芯⽚勘误表_ > CPU-3.2。为此,ESP32 GCC 编译器增加了标志 -mfix-esp32-psram-cache-issue,用于过滤这些序列,只输出可以安全执行的代码。请启用 :ref:CONFIG_SPIRAM_CACHE_WORKAROUND 选项以使用此方法。
启用此选项后,ESP-IDF 会链接到重新编译且带有额外标志的 Newlib,此外还会执行以下操作:
ESP32 rev v3.0 修复了 rev v1.0 中发现的 PSRAM 缓存问题。当 :ref:CONFIG_ESP32_REV_MIN 选项设置为 rev v3.0 时,会禁用与 PSRAM 相关的编译器解决方案。有关 ESP32 v3.0 的更多详情,请参阅 ESP32 芯⽚版本 v3.0 使⽤指南_。