2021-02-05 08:11 AM
Hi,
I am developing some code for a display interface on a NUCLEO-H755ZI-Q, I debug some basic code and the STM32 seem to have crashed.
Now I can not connect anymore to it, not even with the CubeProgrammer V2.5.
Is there a way to recover the Nucleo board from this?
Solved! Go to Solution.
2021-02-05 01:26 PM
Most likely a SMPS/LDO or VOS setting.
Solder a two pin header between VDD and BOOT0 (BT0) pin, and use one of the spare jumpers parked on the back of the board.
Jumper VDD to BOOT0 connect/disconnect the board a couple of times (cycles power) until STM32 Cube Programmer can see the H7, and then erase the user code off it.
2021-02-05 10:02 AM
Double check jumpers, check and exchange cable and hubs.
2021-02-05 01:26 PM
Most likely a SMPS/LDO or VOS setting.
Solder a two pin header between VDD and BOOT0 (BT0) pin, and use one of the spare jumpers parked on the back of the board.
Jumper VDD to BOOT0 connect/disconnect the board a couple of times (cycles power) until STM32 Cube Programmer can see the H7, and then erase the user code off it.
2021-02-08 05:31 AM
Amazing thanks,
it worked at the first attempt!
What does this trick do?
I am looking at pag 143-145 of the reference manual
The option bytes used will be from the TCM ram, is it just that?
Thanks,
Marco
2021-02-08 07:54 AM
The H7 is an odd bird.
NRST doesn't work as a complete chip level reset, and the device remembers things like LDO and SMPS settings across uses.
Watch very carefully the code you have in SystemClock_Config(), and especially unbounded while() loops. The code might actually be running by dies in a way you can't recover. The BOOT ROM (System Loader) provides a safe-harbour from which to connect from, and to resolve settings issues.
The method described earlier was used in the H747I-DISCO to recover it, there have been several topics about that, and H7's in general. I broken mine early by using H743ZI startup code rather than H747I-DISCO compatible code.