WurthElektronik / WirelessConnectivity-SDK_STM32

Software development kit for Würth Elektronik eiSos wireless connectivity products (implementation for STM32 microcontrollers).
Other
7 stars 6 forks source link

Overrun error is not cleared, potentially starving processor time #4

Closed Mayerch1 closed 3 months ago

Mayerch1 commented 3 months ago

Enabling RX interrupts will also enable overrun interrupts (see RM0377 24.7, table 124). However, low level interrupt handling is not clearing the overrun bit, resulting in a deadlock of the processor if a single overrun is detected.

This is common when stopping the core with a debugger.

https://github.com/WurthElektronik/WirelessConnectivity-SDK_STM32/blob/7faf9c8aaaa09c94a8b786f1ca0002861eedea74/WCON_SDK/WCON_Drivers/global/global_L0xx.c#L532-L539

The issue was detected with an STM32L0 but should be present with F4 as well.

wm-eisos commented 3 months ago

Hey Mayerch1,

We checked out the issue and you are right. Enabling the control bit RXNEIE will cause both events (RXNE, ORE) to generate an interrupt.

This issue will be fixed in the upcoming release and i will close the issue for now.

Best Regards Wajdi