-
Notifications
You must be signed in to change notification settings - Fork 7.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Incompatible settings for CONFIG_FREERTOS_UNICORE and CONFIG_SPIRAM (IDFGH-10359) #11617
Comments
Just following up on this issue to see if it's still worth pursing a solution for. Would you agree with the expected behavior described in my original post? Or is there something about the design/architecture of the ESP32/ESP-IDF that would make this an invalid configuration in the first place?
|
Hi @derrick-senva! |
Hi @derrick-senva! |
I close this issue for now. Feel free to re-open if the fix did not help your case. |
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: