Skip to main content
VMkhi.1
Visitor II
October 27, 2021
Question

Hi everyone, I am trying to make a firmware update sequence for my product and have an issue with readout protection enable/disable.

  • October 27, 2021
  • 3 replies
  • 1140 views

MCU : STM32F415

I enable readout protection successfully (customer requirement). Then in case of a new software update, I jump to the UART bootloader from my code. However, when in the bootloader I need to disable RDP. When I send RDP disable command and the device erases all firmware (as expected), disable RDP and exists bootloader.

The question is is it possible to prevent the MCU from resetting or exiting bootloader

This topic has been closed for replies.

3 replies

TDK
Super User
October 27, 2021

No, changing RDP from level 1 to level 0 in the bootloader causes a reboot. The actual option bytes are stored in flash and a reboot is required to reprogram them.

At the end of the Readout Unprotect command, the bootloader transmits an ACK and generates a system reset to take into account the new configuration of the option byte.

You'll need a method to get back into the bootloader when it reboots which on that family requires a hardware solution to hold BOOT0 high.

"If you feel a post has answered your question, please click ""Accept as Solution""."
MM..1
Chief III
October 27, 2021

With custom bootloader isnt problem upgrade fw and have RDP=1. System bootloader dont support this ???

Pavel A.
Super User
October 28, 2021

Why do you disable RDP? In-app flash erase and rewrite should work with RDP enabled.

Do not confuse it with WRP.

Make  your own bootloader instead the built-in one.