2020-10-23 10:32 AM
I can not connect my STM32H735G board via ST-Link anymore. "no stm32 target found". I tried "connect under reset" (ST Link Utility and ST programmer) as well as connecting boot0 to VDD.
Any idea how to erase the flash and start over? Cheers Stefan
Solved! Go to Solution.
2020-10-24 08:48 AM
Powering with the STLK jumper is fine, the trick at least with the H747-DISCO was to completely disconnect the board from ALL power sources, and connect/disconnect the sole cable several times, with the BOOT0 pads solder bridged to VCC
The H7 has a weird reset methodology the NRST is not the same as the Power-On-Reset, which recovers settings/options from flash, as part of some security mechanism and starting thru ROM. If the Flash is not blank, it then transfers control.
Your code is perhaps executing, I think that putting some break-out/erase code to check a GPIO pin prior to the SMPS/LDO and VOS settings might permit simpler recovery. I'd probably use the BLUE USER button to nuke the device during future development.
2020-10-24 01:30 AM
The BOOT0 High trick requires that you power cycle the board several times, a reset is not sufficient. When the H7 is recognized you need to erase the broken user code.
2020-10-24 08:20 AM
Thx clive1; so I did change the power supply to the USB adapter (did power with the ST Link before). Therefore I could keep the ST-Link attached and did cycle the power while Boot0 was high (SW1 in SysMem position). Howerver I could not establish a connection to get to erase the flash. What could I possibly miss? I had no problems to recover my STM32F4s in the past...
2020-10-24 08:48 AM
Powering with the STLK jumper is fine, the trick at least with the H747-DISCO was to completely disconnect the board from ALL power sources, and connect/disconnect the sole cable several times, with the BOOT0 pads solder bridged to VCC
The H7 has a weird reset methodology the NRST is not the same as the Power-On-Reset, which recovers settings/options from flash, as part of some security mechanism and starting thru ROM. If the Flash is not blank, it then transfers control.
Your code is perhaps executing, I think that putting some break-out/erase code to check a GPIO pin prior to the SMPS/LDO and VOS settings might permit simpler recovery. I'd probably use the BLUE USER button to nuke the device during future development.
2020-10-25 06:31 AM
Clive, thank you; I got it to work the way you described. But not with the ST Utility but with the ST Programmer.
However a bit awkward the whole thing... Thx, Stefan
2020-10-25 07:17 AM
Yes, ST has been advised to improve how the recovery of this type of situation is handled. I had an early 747I and bricked the board very quickly. The unresponsiveness of the device was very disconcerting.
One of the related threads so I can find later
https://community.st.com/s/question/0D50X0000BqBA6TSQW/error-to-connect-to-target-stm32h747idisco
https://community.st.com/s/question/0D50X0000Bh5aWoSQI/stm32h747-discovery-kit-not-debugprogrammer
2021-01-18 06:39 AM
Thought I'd add my 2c since I have the same issue.
My method to recover is as follows:
2023-11-09 09:45 PM
Thanks for the hint about ST-Programmer, I too was unable to get it to work with ST-Link
2024-05-06 04:17 AM
Thanks @Tesla DeLorean . Works like a breeze even for H735 discovery board. Apparently this deadlock happens if power settings in firmware are different from that of hardware. This issue is most likely to occur when programming the discovery board for the first time. The board gets detected, user flashes some program (with incorrect power settings in the firmware, without noticing), it works, but cannot connect it to STLink from the next time. Just follow section 6.2.4 in UM (for H735 disc)
2024-05-06 02:27 PM
Thanks, I'm glad these things are still proving useful after 4 years..
Yes usually a disagreement with LDO vs SMPS at a board vs software level.
Compounded as some board variants use different modes, H745I-DISCO vs H750-DK as I recall