idf同时配置的“FLASH 模式”与“PSRAM 模式”组合120MHz
9 2025-10-15 12:50
这个编译报错:
error: static assertion failed: "FLASH and PSRAM Mode configuration are not supported"
意思是:你当前同时配置的“FLASH 模式”与“PSRAM 模式”组合,在 ESP-IDF v5.4.1 里被官方直接禁止,于是编译器在
esp_assert.h
里用 static_assert
拦住你。🔍 一句话原因
sdkconfig 里 FLASH 模式 和 PSRAM 模式 搭配错了,两种模式“八字不合”。
sdkconfig 里 FLASH 模式 和 PSRAM 模式 搭配错了,两种模式“八字不合”。
✅ 最简解决办法
-
打开工程目录下的 sdkconfig(或用
idf.py menuconfig
)。 -
把两项都改成 DIO(最稳、几乎全平台通杀):
表格
复制
配置项 | 路径 | 推荐值 |
---|---|---|
Flash SPI Mode | Serial Flash Config ---> Flash SPI Mode |
DIO |
SPI RAM Mode | Component config ---> ESP32-specific ---> SPI RAM config ---> SPI RAM Mode |
DIO |
-
保存后重新编译:
bash
复制
idf.py fullclean
idf.py build
⚠️ 常见“踩雷”组合(ESP32 经典系列)
-
Flash 选 QIO + PSRAM 选 QIO → ❌ 被禁
-
Flash 选 QIO + PSRAM 选 DIO → ❌ 部分芯片也被禁
统一先设成 DIO 就能过。
📌 总结
把 FLASH 和 PSRAM 的模式都改成 DIO → 保存 → 重新编译,报错即可消失。
如果后续想追求更高速度,再根据自己芯片型号(ESP32、ESP32-S3、ESP32-P4 等)慢慢调。
把 FLASH 和 PSRAM 的模式都改成 DIO → 保存 → 重新编译,报错即可消失。
如果后续想追求更高速度,再根据自己芯片型号(ESP32、ESP32-S3、ESP32-P4 等)慢慢调。
全部评论