-
Notifications
You must be signed in to change notification settings - Fork 7.3k
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
Missing IRAM_ATTR for esp_timer_is_active() and esp_timer_restart() (IDFGH-9122) #10522
Comments
For esp_timer_is_active(): For esp_timer_restart(): |
Any update? Can you check if this needs fix? |
Hi @AxelLin! |
There is a way how to workaround this issue with missed IRAM_ATTR for esp_timer_is_active() and esp_timer_restart(). You need to add a linker.lf into the project and mention there these functions. From our perspective, we do not want to increase IRAM usage if there is a way to customize it on the user side using linker.lf.
But there is another way for us, to add a Kconfig option under esp_timer to do the same. |
For https://github.com/espressif/esp-nimble/blob/56ff5b83337697895997a39bf6593255cdc37268/porting/npl/freertos/src/npl_os_freertos.c#L852-L860 If you want to add Kconfig option, you have to make sure you handle the dependency correctly. |
Any update for the fix @KonstantinKondrashov ? Guru Meditation Error: Core 0 panic'ed (Store access fault). Exception was unhandled. Stack dump detected 0x4038b834: xTaskRemoveFromEventList at /home/axel/esp/esp-idf/components/freertos/FreeRTOS-Kernel/tasks.c:3900 TP : 0x3fc65ef0 T0 : 0x4005890e T1 : 0x0000000f T2 : 0x40382dcc S0/FP : 0x3fc9ce8c S1 : 0x0000007c A0 : 0x3fc9cea4 A1 : 0x3fc9cea4 0x40382ece: npl_freertos_callout_remaining_ticks at /home/axel/esp/esp-idf/components/bt/host/nimble/nimble/porting/npl/freertos/src/npl_os_freertos.c:888 0x40381f9e: npl_freertos_callout_get_ticks at /home/axel/esp/esp-idf/components/bt/host/nimble/nimble/porting/npl/freertos/src/npl_os_freertos.c:879 0x40382ec2: npl_freertos_callout_is_active at /home/axel/esp/esp-idf/components/bt/host/nimble/nimble/porting/npl/freertos/src/npl_os_freertos.c:856 MSTATUS : 0x00001881 MTVEC : 0x40380001 MCAUSE : 0x00000007 MTVAL : 0x000a0012 MHARTID : 0x00000000 |
Answers checklist.
General issue report
esp_timer_is_active() should has IRAM_ATTR.
It just calls timer_armed() which has IRAM_ATTR.
Question about the IRAM_ATTR usage with uart ISR esp-nimble#50 (comment)
It's strange that esp_timer_start_periodic() and esp_timer_stop() have IRAM_ATTR but esp_timer_restart() does not has IRAM_ATTR.
Question about the IRAM_ATTR usage with uart ISR esp-nimble#50 (comment)
The text was updated successfully, but these errors were encountered: