Skip to main content
Associate
November 15, 2025
Question

Rdp = 1, locks backup register

  • November 15, 2025
  • 1 reply
  • 350 views

I’m working on an STM32WLE5 device and I’m facing a reproducible issue when enabling Read-Out Protection level 1 (RDP = 1).

 

When RDP = 0, everything works as expected: i can write/read RTC Backup registers, my initialization sequence behaves correctly.

However, as soon as I set RDP = 1, the firmware can no longer access the backup domain: Any attempt to write Backup registers fails, even with SWD completely disconnected

 

 

The strange part: If I disconnect VBAT (short it to GND to fully drop the backup supply), everything works again — even with RDP = 1.

After removing VBAT and letting the backup domain fully reset, my firmware can again access backup registers normally.

This strongly suggests that the Backup Domain remains in a “protected” or “locked” state after enabling RDP, and can only be reset by removing VBAT.

My problem is that we have a supercap soldered on the vbat pin, and we cannot shortcircuit it during production. 

Any help? Thank you

1 reply

MM..1
Chief III
November 15, 2025

Try forced once sw reset 

__HAL_RCC_BACKUPRESET_FORCE();

 

Associate
November 15, 2025

Hi,

I have tried to call 

__HAL_RCC_BACKUPRESET_FORCE

And just after the release function, but the backup registers are still not working.

It's seems like the backup domain demands a full reset after the activstion of the RDP, and with the presence of a supercap is not possible. 

AScha.3
Super User
November 15, 2025

Hi,

- i am not sure about , but try -

do regression to rdp level 0 , full chip erase. 

Then it should work....and you can set rdp level 1 again.

from ds / rm :

When the Readout Protection (RDP) level is set to 1 on STM32 devices, access to backup registers is restricted. Specifically:

  • Allowed: Backup registers can be read and written when the device is booting from user flash memory (normal application execution).
  • Denied: Access to backup registers is blocked if the device is booted from other sources (such as RAM or system bootloader) or if debug access is detected.

+

  • RDP Level 1:
    • Forbids external access (read, erase, program) to flash memory and SRAM2 via debug features.
    • Allows internal application access.
    • Backup registers and SRAM are protected from unauthorized access through debug or bootloader methods.
"If you feel a post has answered your question, please click ""Accept as Solution""."