on
2020-11-09
12:23 AM
- edited on
2025-08-01
3:17 AM
by
Laurids_PETERSE
Power consumption in low power mode is higher than expected. Problem remains after reset, but is solved by power cycling the MCU. What is the problem? Issue can be caused by debug in low power mode option. When developers debug their code in low-power mode, they use debug in low-power option. It can be enabled by using an option in IDE or manually by setting register bits. Those bits are located in Debug MCU configuration register (DBG_CR).
Debug MCU configuration register (DBG_CR):
Register contains 3 bits
When some of these bits are active, the debug module and some of the internal clocks are active during low-power mode and this causes increased power consumption.
When developers reset or reprogram MCU with release version of firmware they still remain active if the MCU didn’t go through power reset.
Register is reset only during power-on reset (POR). Thus, issue can be solved by manually clearing debug bits in DBG_CR or reset using power cycling of MCU.
Thanks for this explanation, I will investigate the datasheet to see of these debug registers are indeed not being reset by pulling RESET low and so need a power-on reset.
I was clearly observing this with 1mA extra consumption on an STM32WLE5 and have made a screenshot of the PowerProfilerKit2 output :
The application wakes up from RTC tick every 5 seconds, and you can see the 10ms activity spikes on top of a 1.4 mA consumption.
Then when I remove the debug-probe, consumption drops to 1 mA,
When I reset the MCU, (after the 5s initialization), the MCU returns again to 1mA, even if SWO debug is not being initialized because the application does not detect the debug probe anymore.
Then when powercycling the MCU, it finally goes down to ~5uA (typical consumption of my board).
Then when
Yes, the datasheet mentions it. It's easy to miss it, as I assumed that only the RTC stuff was not reset by the reset pin...