AnsweredAssumed Answered

Fail to program STM32F413 using ST-Link Utility (Sector 1 is erased automatically)

Question asked by Stefan W on Apr 12, 2017
Latest reply on Jul 19, 2017 by waclawek.jan



I want to program the STM32F413 with the ST-Link Utility (CLI and UI has the same issue). We have two hex-files. One for the bootloader in the first sectors and one for the firmware in other sectors. Of course no overlapping. Programming always fails. The ST-Link Utility does not report any errors, but when checking the memory after programming both files, sector 1 is always erased. After loading the first hex-files it looks fine, but after loading the second, it is reset to all 1. The other sectors are all okay.


Not an alternative for us, but I also tried to put both hex-files into one. This does not work either. 


Programming the controller with OpenOCD works fine.


To reproduce the behavior:

  • Connect to a STM32F413 via ST-Link Utility v4.0
  • Set the values of the following addresses to zero: 0x08003FFC, 0x08004000, 0x08007FFC, 0x08008000
  • Program a simple hex-file to another sector (like test.hex in attachment)
  • Check the values at the addresses above

In my case the values in sector 1 (0x08004000 and 0x08007FFC) are reset to all 1. The values outside of sector 1 (0x08003FFC and 0x08008000) are still set to zero.


Here some version information:

STM32 ST-LINK Utility.exe   v4.0.0.0

STLinkUSBDriver.dll             v4.4.0.0

ST-Link_CLI.exe                   v3.0.0.0

Firmware Version:                 V2.J27.S0 STM32 Debugger


Any ideas? Could someone please try to reproduce this problem?