cancel
Showing results for 
Search instead for 
Did you mean: 

STM32U575 PWR_S3WU IRQ

r-drage
Associate II

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

1 ACCEPTED SOLUTION

Accepted Solutions
Imen.D
ST Employee

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".
Thanks
Imen

View solution in original post

6 REPLIES 6
Imen.D
ST Employee

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".
Thanks
Imen
r-drage
Associate II

Hi Imen, thanks for your response and the welcome 😀

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)

Imen.D
ST Employee

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".
Thanks
Imen
r-drage
Associate II

Happy new year @Imen.D 😀

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.D
ST Employee

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".
Thanks
Imen
r-drage
Associate II

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

Thanks again