What is the correct procedure to recover an STM32L4x that has been put in Shutdown and experiences a brown out or POR. it shows the correct flags after reset, but the same flags appear after subsequent Shutdown periods.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-02-17 06:45 PM
This is the sequence of events:
- Enter Shutdown with RTC Wake up timer enabled (5 seconds)
- Brown out, remove and restore power
- POR Reset occurs, correct PWR->CSR = 0x0C000600
- Clear CSR flags by writing 1 to RMVF in CSR
- Read CSR flags and confirm they are clear
- Enter Shutdown with RTC Wake up timer enabled (5 seconds)
- Reset occurs from Wake up timer, incorrect PWR->CSR = 0x0C000600
- Labels:
-
STM32L4 Series
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-02-18 01:36 PM
Which 'L4 exactly? Is this some "known good" hardware like Nucleo/Disco? Is there any battery/capacitor on VBAT? Is the supply removal complete (VDD shoes hard to ground)? Is the power supply voltage high enough and stable during second wake-up? Is the behaviour different without the brownout?
JW
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-02-18 01:41 PM
I'm seeing this on STM32L475VGT and STM32L475VET. I've demonstrated the issue on the B-L475E-IOT01A Discovery kit as well as my own hardware. Powered by battery or a power supply.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-02-19 12:24 AM
Is the behaviour different without the brownout?
JW
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-02-19 08:02 AM
Yes, for example if you give a low going pulse on the NRST pin, you get the PINRST flag for the corresponding wake/reset. The following wake the flag is cleared as it should be.