2026-05-13 2:26 AM
Device: STM32H7A3LIH6Q (TFBGA225) Tools: STM32CubeProgrammer v2.22, STLINK-V3MINIE, OpenOCD 0.12.0 IDE: STM32CubeIDE / HAL Custom PCB, 4 boards affected identically
After approximately 20 successful flash/debug cycles, all 4 of our custom boards became permanently unreachable via SWD. The MCU continues to run user code normally (UART/VCP output visible), VCAP voltage is nominal, but the ST-LINK cannot connect in any mode. The UART bootloader is functional and we can flash via UART. SWD remains dead even after mass erase with blank flash.
Our firmware was using the wrong power supply configuration:
// Wrong — was in our code:
HAL_PWREx_ConfigSupply(PWR_SMPS_1V8_SUPPLIES_EXT_AND_LDO);
// Correct for our hardware topology:
HAL_PWREx_ConfigSupply(PWR_SMPS_1V8_SUPPLIES_LDO);Our hardware is a standard SMPS-feeds-LDO topology (VLXSMPS → 2.2µH → VDDLDO). The EXT_AND_LDO setting sets SMPSEXTHP in PWR_CR3, which configures the SMPS for a high-power external load that does not exist on our PCB.
1. Why does SWD remain permanently dead even after mass erase with blank flash, when the UART bootloader works perfectly?
This rules out software as the cause after erase. The DAP appears to be non-functional while the CPU core is completely healthy.
2. Can the PWR_SMPS_1V8_SUPPLIES_EXT_AND_LDO misconfiguration on SMPS-feeds-LDO hardware cause permanent damage to the internal DAP/debug port circuitry after repeated power cycles, even though ST documentation states the device can tolerate LDO+SMPS conflict without damage?
We observed VCAP at 1.3V during every user firmware boot cycle for ~20 cycles. The LDO output was elevated above nominal. Is there a known failure mode where the debug port is damaged while the CPU core survives?
3. Is there any known recovery path for a STM32H7A3 where the UART bootloader is functional but SWD/DAP is permanently unresponsive, short of chip replacement?
We have confirmed via UART: RDP=0xAA, no protection active, blank flash — and SWD still fails. We are not aware of any remaining software explanation.
4. Does the STM32H7A3 DAP have an independent power domain or supply path that could be damaged independently of the CPU core?
2026-05-13 2:31 AM
Maybe it's something in your code that's blocking SWD - and the "~20 programming cycles" is just a coincidence with when that was introduced ... ?
Have you tried reverting to an older version of your software - something that you were using before those "~20 programming cycles" ?
Or maybe just a simple blinky?
2026-05-13 3:01 AM
Thank you for the suggestion. However we already performed a full mass erase via UART bootloader, confirmed blank flash, and SWD still fails. With blank flash there is no user code running at all — the chip sits in the ROM bootloader. The UART bootloader connects and works perfectly on the same hardware. Also if we are in the ROM bootloader the SWD also fails to connect.
2026-05-13 4:38 AM
Same problem here: Critical Hardware Failure: STM32H743IIT6 Permanent Damage and Overcurrent Issues - by @Amir2647m ?
2026-05-14 10:42 PM
Update — SWD Pins Shorted to GND
Following up on this thread with a new finding.
After exhausting all software recovery options (mass erase via UART bootloader, option bytes confirmed clean — RDP=0xAA, no WRP, no PCROP), we measured the resistance between GND and the SWD pins on the damaged board with the board fully powered off and all connections removed.
Finding:
This is essentially a short on both SWD pins. This explains why every recovery attempt failed — the SWD interface was physically shorted, not locked by software.
Questions:
We could not find any recommendation in ST's official documentation regarding protection of SWD/JTAG lines on the PCB — specifically:
We want to understand the correct hardware design practice to prevent this from happening on future PCB revisions. Any official documentation or confirmed community experience would be greatly appreciated.
2026-05-14 11:29 PM
> This is essentially a short on both SWD pins. This explains why every recovery attempt failed — the SWD interface was physically shorted, not locked by software.
I would highly recommend to review the schematics, and the connection to the debug pod you are using.
Most probably, protective components of the involved SWD/GPIO pins are blown due to overload.
We’re moving the ST Community to a new platform to give you a better and more reliable community experience.