-
Notifications
You must be signed in to change notification settings - Fork 7.6k
(SOLVED) Guru Meditation Error: Core 1 panic'ed (Cache disabled but cached memory region accessed) ESP32 VSC Platformio #3634
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
Comments
Ok, it can be closed. FROM:#if (RH_PLATFORM == RH_PLATFORM_ESP8266)
// interrupt handler and related code must be in RAM on ESP8266,
// according to issue #46.
#define INTERRUPT_ATTR ICACHE_RAM_ATTR
#else
#define INTERRUPT_ATTR
#endif TO:#if (RH_PLATFORM == RH_PLATFORM_ESP8266)
// interrupt handler and related code must be in RAM on ESP8266,
// according to issue #46.
#define INTERRUPT_ATTR ICACHE_RAM_ATTR
#elif (RH_PLATFORM == RH_PLATFORM_ESP32)
#define INTERRUPT_ATTR IRAM_ATTR
#else
#define INTERRUPT_ATTR
#endif |
did you get any solution to this problem... i am suffering the same problem... IQ3/mtbd_haa/cmd/DO1 Backtrace: 0x40080f92:0x3ffbe750 0x4008109e:0x3ffbe780 0x40081125:0x3ffbe7b0 0x40085099:0x3ffbe7d0 0x4008734c:0x3ffba190 0x400834b3:0x3ffba1b0 0x400894a5:0x3ffba1d0 Rebooting... rst:0x3 (SW_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) |
@minhaz005 Perhaps open your own issue and provide actual code. This error typically will only occur if you have an interrupt routine that runs while accessing flash (ie:spiffs) |
If you are asking me, then I would suggest to decode the guru mediation, to see where the issue comes from. For guru mediation please refer to:
Best |
thank you so much sir for you your quick response |
Exactly, I have an interrupt routine and on parallel when I try to write to SPIFF it's getting crashed. What might be the solution? For temporarily I am disabling timerAttachInterrupt while accessing the SPIFF and enabling back after doing the operation. Does anyone suggest something better? |
One thing I've found is that if you press on the CPU, it gives you that error. |
if you are using the interrupt then you have to assign the IRAM_ATTR to your ISR. |
Hardware:
Board: ESP32 Dev Module node32
IDE name: Platform.io on Visual Studio Code
Computer OS: Ubuntu?
Description:
Decoding Guru Meditation does not provide a place of the issue.
The system reads sensor data over simple 433Mhz ASK routine ( RFReceiver or RadioHead ) and updates a web page on ESPAsyncWebServer. There is also a routine to read the time from NTP server.
If I don't initialize 433Mhz radio objects, failure of the WiFi does not influence the system. If WiFi will be available again the system recovers the WiFI connection and works as design.
With an active radio object and failure of the WiFi after few seconds system reboots with guru meditation:
The reboots happen also even if the transmitter is switched off and actually there is no reason to call any radio method.
I read here1 and here2 that a part of the code within interrupt routine must always be in the ESP32's IRAM - is that correct?
I tried to add IRAM_ATTR to few function handling radio parts without any success.
Question1:
Can i somehow disable (taking into consideration a slowdown of the performance) the caching? Is there something similar in Arduino / Platformio config to disable SPI_MASTER_ISR_IN_IRAM in ESP32 config settings?
Question2:
Or how can I identify a function, which requires to stay in IRAM (if it is the solution of my problem)?
Sketch:
Sketch main.h:
Sketch index.h:
The text was updated successfully, but these errors were encountered: