AnsweredAssumed Answered

STM32F205 bootloader resets when RDP is enabled

Question asked by andyc on Mar 10, 2015
Latest reply on Mar 10, 2015 by Clive One

I have a design using an STM32F205. It needs the capability to be upgraded via the USART interface, and I'd like to be able to use the built-in bootloader for this purpose.

My application contains a command which causes a jump to the bootloader, and this works fine if I don't have readout protection (RDP) set in the option bytes. I can connect to it using the ST "Flash Loader Demonstrator" without difficulty.

However, the finished product will be going out with RDP set (level 1), and this seems to cause different behaviour. I can still jump to the bootloader from my application code OK, but as soon as the MCU receives the first 0x7F byte from the PC, it drops straight back into my application as if it's been hard reset. The expected ACK is never transmitted.

As far as I can see from the docs, the range of serial commands supported by the bootloader when in RDP protected mode is limited, but it shouldn't go so far as to lock out access from the PC entirely. I expected the MCU to ACK, and to accept commands from the PC to erase/unprotect the Flash before reprogramming it in the usual way.

The only things I can find reference to that should cause a reset, are if it thinks the USB or CAN interfaces are active but there's no HSE. In this case, there actually is a valid HSE source, and anyhow, the USB and CAN pins aren't doing anything different just because RDP is enabled.

Can anyone please suggest what might be causing a reset when RDP is enabled?