Skip to main content
AlexLATH
Associate
March 8, 2021
Question

STM32WB55 - SRAM2a not retained after reset from standby mode

  • March 8, 2021
  • 3 replies
  • 1413 views

Hi,

I would like to use StandbyMode + RTC + Sram2a (backup).

From the STM32WB55RG datasheet, the Sram2a can be retained after reset from standby mode.

"Standby mode with SRAM2a retention when bit RRS is set in the PWR control

register 3 (PWR_CR3). In this case, SRAM2a is supplied by the low-power"

Before low power mode, I have to do :

/* Enable SRAM2a retention */
HAL_PWREx_EnableSRAMRetention();
 
/* Set the lowest low-power mode for CPU2: shutdown mode */
LL_C2_PWR_SetPowerMode(LL_PWR_MODE_SHUTDOWN);
 
/* Enter the standbyMode mode for CPU1 */
HAL_PWR_EnterSTANDBYMode();

and to place datas in sram2a :

static tDataFormat _t_Data __attribute__((section("MB_MEM2")));

But when device reseting from standyMode, SRAM2a (and _t_Data) is empty.

Thank for your help.

This topic has been closed for replies.

3 replies

lizerd
Associate III
November 4, 2021

Same problem, did you solve it ?

AlexLATH
AlexLATHAuthor
Associate
November 4, 2021

Hello lizardboy,

Indeed, enable SRAM retention wasn't enough.

You also need to check SRAM RESET flag in option bytes.

From P90 of RM0434 Reference manual
 
Bit 25 SRAM2_RST: SRAM2 and PKA RAM erase when system reset
0: SRAM2 and PKA RAM erased when a system reset occurs
1: SRAM2 and non-secure PKA RAM not erased when a system reset occurs
#define FLASH_OPTR_SRAM2RST FLASH_OPTR_SRAM2RST_Msk /*!< SRAM2 erase option when system reset */

Let me know if you need more help.

lizerd
Associate III
November 4, 2021

Wow !! super thanks for the help.

that was not easy to find.

It did work, and its simple to explain why it did not work.

Big thanks