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 v18.104.22.168
Firmware Version: V2.J27.S0 STM32 Debugger
Any ideas? Could someone please try to reproduce this problem?