Skip to main content
Stefan Meyre
Associate III
October 23, 2020
Solved

Get STM32H735G-DK out of deadlock!

  • October 23, 2020
  • 5 replies
  • 4216 views

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

    Best answer by Tesla DeLorean

    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.

    5 replies

    Tesla DeLorean
    Guru
    October 24, 2020

    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.​

    Tips, Buy me a coffee, or three.. PayPal Venmo (See Profile) Up vote any posts that you find helpful, it shows what's working..
    Stefan Meyre
    Associate III
    October 24, 2020

    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...

    Tesla DeLorean
    Tesla DeLoreanBest answer
    Guru
    October 24, 2020

    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.

    Tips, Buy me a coffee, or three.. PayPal Venmo (See Profile) Up vote any posts that you find helpful, it shows what's working..
    Stefan Meyre
    Associate III
    October 25, 2020

    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

    Tesla DeLorean
    Guru
    October 25, 2020

    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

    Tips, Buy me a coffee, or three.. PayPal Venmo (See Profile) Up vote any posts that you find helpful, it shows what's working..
    Arno1
    Senior
    January 18, 2021

    Thought I'd add my 2c since I have the same issue.

    My method to recover is as follows:

    1. unplug the board (I power through the single USB cable, on ST Link connector)
    2. Hold reset button
    3. while holding the reset button, plug back in
    4. computer indicates a new USB device (I'm on Kubuntu, YMMV)
    5. connect with STM32CubeProgrammer
    6. release reset button
    7. Erase first few sectors (somehow a full flash erase does not work)
    8. board should be fine for now
    MJ042
    Associate
    May 6, 2024

    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)

    Tesla DeLorean
    Guru
    May 6, 2024

    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

    Tips, Buy me a coffee, or three.. PayPal Venmo (See Profile) Up vote any posts that you find helpful, it shows what's working..