Skip to main content
Associate
December 17, 2023
Solved

STM32U575 PWR_S3WU IRQ

  • December 17, 2023
  • 6 replies
  • 3852 views

I am developing an application for the STM32U575, and am currently testing on the Nucleo-U575ZI-Q. As per the reference manual (Rev. 4) Section 10.9 PWR Interrupts, Table 110 Note 1: "The PWR_S3WU interrupt is generated only when the device is in Stop 3 mode (not applicable in Run, Sleep, Stop 0, Stop 1, and Stop 2 modes)."

However this is not the behaviour I am observing. I have found that the PWR_S3WU interrupt is generated whenever the Stop 3 mode is configured as the Deep Sleep Mode (i.e. PWR_CR1 LPMS[2:0] = 0b011), even if the stop mode is never entered.

Can I please get confirmation what behaviour I can expect, for the nucleo and my target hardware (STM32U575VIT6Q)

image.png

This topic has been closed for replies.
Best answer by Imen.D

Hi @r-drage,

It seems that the note below in the RefMan RM0456 is wrong:
1. The PWR_S3WU interrupt is generated only when the device is in Stop 3 mode (not applicable in Run, Sleep, Stop 0, Stop 1, and Stop 2 modes).

We are updating the note as below:
1. The PWR_S3WU interrupt is generated only when STOP3 mode is selected (LPMS=011 in PWR_CR1 register, not applicable in Run, Sleep, Stop 0, Stop 1, and Stop 2 modes)

As a SW workaround, you can push this activation only just before entering STOP3 mode.
Can you please try this change to your application and please keep me updated on this.

6 replies

Technical Moderator
December 18, 2023

Hello @r-drage and welcome to the Community :)

This can be caused by the limitation detailed in the STM32U575 errata sheet.

2.2.14 The PWR_S3WU interrupt is generated for internal wakeup sources (WUSELx = 11)

ImenD_0-1702931077816.png

 

"When your question is answered, please close this topic by clicking ""Accept as Solution"".ThanksImen"
r-drageAuthor
Associate
December 19, 2023

Hi Imen, thanks for your response and the welcome :grinning_face:

I had read that note in the errata and did not think it applied to my case - I should have specified but the WU selections I have made are external pins. (WUSELx != b11)

Technical Moderator
January 4, 2024

Hi @r-drage and Happy new year :)

We tried to reproduce your behavior, but we have found that the PWR_S3WU interrupt is generated only when the system is in STOP3 mode.

Can you please share your code to reproduce the observed behavior?

 

"When your question is answered, please close this topic by clicking ""Accept as Solution"".ThanksImen"
r-drageAuthor
Associate
January 8, 2024

Happy new year @Imen.D :grinning_face:

I have attached a basic example. It is a basic blinky app for the Nucleo u575 board that goes to Stop3 mode every 5 green LED blinks (10 seconds), and then can be woken up using the blue user button. The blue LED is set up to toggle with the PWR_S3WU interrupt.

After the first wake up, I see the blue LED toggle every time I press the button, but I am expecting it to only toggle waking up from Stop 3.

 

Imen.DAnswer
Technical Moderator
January 25, 2024

Hi @r-drage,

It seems that the note below in the RefMan RM0456 is wrong:
1. The PWR_S3WU interrupt is generated only when the device is in Stop 3 mode (not applicable in Run, Sleep, Stop 0, Stop 1, and Stop 2 modes).

We are updating the note as below:
1. The PWR_S3WU interrupt is generated only when STOP3 mode is selected (LPMS=011 in PWR_CR1 register, not applicable in Run, Sleep, Stop 0, Stop 1, and Stop 2 modes)

As a SW workaround, you can push this activation only just before entering STOP3 mode.
Can you please try this change to your application and please keep me updated on this.

"When your question is answered, please close this topic by clicking ""Accept as Solution"".ThanksImen"
r-drageAuthor
Associate
January 25, 2024

Thanks Imen, this works. I'm glad to here the Ref Manual note will be updated :)

Thanks again