Incompatible settings for CONFIG_FREERTOS_UNICORE and CONFIG_SPIRAM (IDFGH-10359) #11617
Closed
3 tasks done
Labels
Resolution: Won't Do
This will not be worked on
Status: Done
Issue is done internally
Type: Bug
bugs in IDF
Answers checklist.
IDF version.
v5.0.2
Operating System used.
Windows
How did you build your project?
Command line with Make
If you are using Windows, please specify command line type.
None
Development Kit.
Custom Board
Power Supply used.
USB
What is the expected behavior?
A 2nd stage bootloader built with single-core mode and PSRAM disabled should be able to boot into application firmware built with dual-core mode and PSRAM enabled.
What is the actual behavior?
The application firmware crashes on an IllegalInstruction.
Steps to reproduce.
CONFIG_SPIRAM is not set
andCONFIG_FREERTOS_UNICORE=y
.sdkconfig-original.txt
CONFIG_SPIRAM=y
andCONFIG_FREERTOS_UNICORE is not set
. The rest seem to be automatically updated based on those two.sdkconfig-diff.txt
Flash all three binaries and reset the ESP32.
Below is the output log from the serial port.
output_log.txt
More Information.
Our project is using multiple components: Secure Boot v2, encrypted flash, encrypted NVS partition, FAT partition, PSRAM, Ethernet, WiFi, lwIP, MQTT, Modbus, and OTA firmware updates. The crash shown above seems to happen very early before it reaches any of our actual application code in app_main().
If the bootloader is rebuilt using the same sdkconfig as the application firmware, the crash does not occur. Incidentally, I noticed that
CONFIG_ESP32_ECO3_CACHE_LOCK_FIX=y
is added automatically whenCONFIG_SPIRAM=y
andCONFIG_FREERTOS_UNICORE is not set
are configured. Is this related to the issue?The text was updated successfully, but these errors were encountered: