cancel
Showing results for 
Search instead for 
Did you mean: 

STM32H755: ST Bootloader not working on Bank 2

northh_sven
Associate II

I have a board that relies on flashing the MCU using the integrated bootloader via UART1.

While this works well for the M7 (Bank 0x08000000), flashing the M4's Bank at 0x08100000 is not successfull.

While most bytes are written okay, a small block in the beginning is always 0xFF, ranging from 0x08100040 to 0x081005BF.

This is different than the binary that is written.

Also, the M4 doesn't start with this binary code.

When flashing the M4 using SWD, binary and flash match and M4 will run just fine.

Debugging the M4 with Keil shows a program pointer at 0x0000000 and show the M4 running but ultimately crashing, writing 0xA05F0001 to all registers...

I've tried different flashing tools (stm32loader.py, stm32flash, STCubeProgrammer 2.1 and 2.4) and the issue is always the same.

I couldn't find this issue or something similar reported and I'm out of Ideas...

I would appreciate any help!

Thank you in advance!

3 REPLIES 3
northh_sven
Associate II

Taking the chance, I tried it on a virgin chip and was able to flash properly.

So, I went back to my original chip and did a full erase and afterwards flashed WITHOUT erasing.

Et Voilà, the flash was successfull!

So for future reference;

TL;DR: CubeProgrammer or the H7 are in some way broken. Erase the whole chip and than skip flash erase before programming!

Uwe Bonnes
Principal III

My retition to add an option to restore the fuses to factory default is also still pending.

Hi 

how to make skip flash erase before programming. I checked STM32CUBEIDE but couldn't find.