Interrupt-driven UART doesn't work with PM_DEVICE_RUNTIME

I upgraded from v2.7.0 to v2.8.0 of the nRF Connect SDK and noticed that the UART was no longer working.

It seemed the UART receives one byte and calls exit. Transmit doesn't work at all using interrupt.

The echo_bot example worked for me and I figured out the culprit was the power management configuration.

Way to reproduce:

Create echo_bot example using v2.8.0 SDK

Add to prj.conf:

CONFIG_PM_DEVICE=y
CONFIG_PM_DEVICE_RUNTIME=y
Tested on the nRF25840-DK.
 
It seems only the interrupt API is affected by this. Polling and Async API work fine.
Parents Reply
  • Thank you for your response, Jared.
    I had the same issue, and now it works. But I upgraded from SDK 2.6.1 to 2.9.1, and I lost an entire day of work trying to figure out why my firmware, which was working perfectly before, suddenly stopped communicating with a GNSS module.

    I had to test every SDK version one by one to understand that the issue occurred when moving from 2.7.0 to 2.8.0, and only then was I able to search and find this post with the solution.

    It was a lot of stress and time wasted.

Children
No Data
Related