-
Notifications
You must be signed in to change notification settings - Fork 7.4k
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
ESP32S2 - RISC-V crashes with ESP_SLEEP_WAKEUP_COCPU_TRAP_TRIG (IDFGH-6186) #7863
Comments
Thanks for reporting, the fix on master branch is available at 0eafe4d, we are also back porting this fix to release/4.4, thanks. |
@Alvin1Zhang |
Hello @AxelLin, The change made under this commit was reverted under the commit 9c4a12b as it was no longer needed. The issue reported under this ticket is not observed after some subsequent ULP fixes which have been backported duly. Therefore, this particular commit needn't be backported to other IDF release branches as of now. In case the issue is seen again, we will have a new investigation on the same. |
Hello @sudeep-mohanty , If ulp dont wake up main processor after using i2c, ESP_SLEEP_WAKEUP_COCPU_TRAP_TRIG still occurr. but without i2c working, ulp can work.
|
this is my esp idf version.
|
Hi @yangdx2022 Thanks for reporting the issue. |
thanks for your help, i will try to fix it using the patch. |
sorry, it dont work, with the patch, when ulp first halt , ESP_SLEEP_WAKEUP_COCPU_TRAP_TRIG ocurrs.
diff --git a/components/ulp/ulp_riscv/ulp_riscv.c b/components/ulp/ulp_riscv/ulp_riscv.c
|
Thanks for trying out @yangdx2022. Would you mind opening a new GH issue for us to investigate this behaviour further? It would be great if you could share your target platform details, sample code (main CPU and ULP) and your sdkconfig as well for us to reproduce the issue at our end. Thanks! |
thanks for your help, i has opened a new issue, its url is #10482. do you need any info? |
Thanks for opening the issue @yangdx2022. I have everything to investigate the issue. |
Environment
Problem Description
A program ends with deepsleep and waits for the next ulp-riscv-wakeup. It works fine as long the ulp-riscv-programm ends with a wake of the main-processor.
If ulp-programm don't wakeup the main (because the measurement result isn't different from the last one), an exception raises after some ulp-runs and the mainproc start with "ESP_SLEEP_WAKEUP_COCPU_TRAP_TRIG".
But it only happens when the power-domain "rtc-periph" is switched on before deepsleep
Expected Behavior
The ULP-RiscV wakes, runs and goes to halt in the predefined wakeup-loop. The MainProc sleeps until a wake is triggered from the RiscV
Actual Behavior
The MainProc booted after some RiscV-loops with reset-cause 11.
But only when the rtc-perith is switched ON before deepsleep in mainproc.
Steps to reproduce
Use from idf-examples:
"examples/system/ulp_riscv/ds18b20_onewire"
insert in main-code:
esp_sleep_pd_config(ESP_PD_DOMAIN_RTC_PERIPH, ESP_PD_OPTION_ON);
run the program and monitor the uart
// If possible, attach a picture of your setup/wiring here.
Code to reproduce this issue
hope it helps
The text was updated successfully, but these errors were encountered: