on 2022-04-04 01:07 AM
STM32CubeMX
STM32CubeProgrammer
STM32CubeIDE
The easiest and only way to prevent connection issues using CubeMX is to make sure that your debug pins are Free, Reserved for Debug or Used by the Debug.
Generally, SWD is mapped on PA13 (SWDIO) and PA14 (SWCLK). This is the default state after reset.
Taking the example of Serial Wire Debugging for a NUCLEO-U575ZI-Q
Free | Reserved for Debug | Used by the Debug |
---|---|---|
It is always recommended to activate the debug interface in MX, this will protect the IO pins from being used by another IP.
In CubeMX interface, the Debug section can be found under System Core > SYS IP for the legacy products.
In case, one of the debug pins have been set accidently to any other signal than SWDIO and SWCLK. Then you generated the code and loaded it in the MCU.
During Debug, the message “Target is not responding, retrying...” will keep showing up in the IDE console and eventually the connection will be lost.
In this case, the only way to take back the control of the board is by connecting it under reset using the NRST pin.
Debug pins must be overwritten by the debugger to achieve the communication, this can be done using STM32CubeProgrammer or the IDE (CubeIDE, MDK-ARM or EWARM).
Reset and Connection modes can be selected in the ST-LINK configuration Panel.
Once connected, Mass erase the Chip
The Mass Erase function erases the full memory, A message “Mass erase successfully achieved” will be displayed in case of success.
After doing these steps, the board will be able to communicate with the debugger.
Return to CubeMX and activate the Debug.
After code re-generation, open debug configuration
And change the Reset behavior type to “Connect Under Reset”
Click on Apply, then debug the board.
STM32CubeMX install link
STM32CubeProgrammer install link
STM32CubeIDE install link