-
Notifications
You must be signed in to change notification settings - Fork 7.6k
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
RMT Module - Guru Meditation Error: Core / panic'ed (Cache disabled but cached memory region accessed). (IDFGH-14868) #15588
Comments
So you enabled |
So I've tried enabling the |
Actually, update on the |
I would suggest you to strip your project to only contain the RMT + stepper motor driver and get rid of the LVGL layer. |
I'll try that, thank you. |
Answers checklist.
IDF version.
ESP-IDF 5.4.0-dirty
Espressif SoC revision.
ESP32-S3
Operating System used.
Windows
How did you build your project?
VS Code IDE
If you are using Windows, please specify command line type.
PowerShell
Development Kit.
ESP32-S3-WROOM-1
Power Supply used.
USB
What is the expected behavior?
When I click a button the motor should start rotating at the expected speed using the RMT Module - When I click the button again the motor should come to a stop.
What is the actual behavior?
The motor does indeed start and stop accordingly. The issue is; sometimes, if the timing is right, during quick ON / OFF switch, I get the:
There is no clear pattern to when it happens, sometimes after few clicks, sometimes after many clicks.
Steps to reproduce.
It's really hard to clearly point out where this bug resides. The final stack line error is always at 'rmt_encoder.c:210' with few lines following below it present in the debug log.
I'll present the chain of functions that have anything to do with the error.
Here is the main task that receives a command and performs the RMT communication:
Here are the helper methods for the speed phases and the encoder creation:
I am using the ESP-IDF Stepper Motor RMT sample (in my code it's 'stepper_motor_encoder.c'):
https://github.com/espressif/esp-idf/tree/v5.2.5/examples/peripherals/rmt/stepper_motor
The only change I've made is the methods now give some kind of response to what state the motor is currently at:
And the try send callback method:
Debug Logs.
More Information.
I am using the LVGL 9.3 for the user interface with ST7796 LCD Display over SPI.
The log output has a stack from LVGL for some unknown reason, it doesn't connect to my code anywhere and to be honest I don't even know why it's started appearing there, It didn't use to, but now I can't really get rid of it, so I'm including it just in case.
I've disabled the 'CONFIG_SPI_MASTER_ISR_IN_IRAM' in case it's the problem with the LCD, I have also tried decorating every single method that I showcased here in this report with the 'IRAM_ATTR', the stack might change a little at the entry point, but the rest is the same.
I've spent days trying to fix this bug and anyone here willing to help is my last resort.
The text was updated successfully, but these errors were encountered: