Skip to main content
Visitor II
December 17, 2023
Solved

STM32U575 PWR_S3WU IRQ

  • December 17, 2023
  • 6 replies
  • 2268 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

     

    r-drageAuthor
    Visitor II
    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?

     

    r-drageAuthor
    Visitor II
    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.

    r-drageAuthor
    Visitor II
    January 25, 2024

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

    Thanks again