cancel
Showing results for 
Search instead for 
Did you mean: 

STM32CubeIDE hangs at “Performing pre-launch check” and fails to proceed beyond stlinkserver REFRESH_DEVICE_LIST

bugiii
Associate II

 

I'm experiencing an issue when attempting to debug a project in STM32CubeIDE v1.19.0 using a NUCLEO-H753ZI board and ST-LINK V3 (FW: V3J16M9). The debugger appears to hang during the early initialization phase and fails to proceed with device enumeration commands.


Behavior

When I launch a debug session, the IDE displays:

 

Launching: Performing pre-launch check...

It remains stuck at this message indefinitely. The only way to cancel is to terminate the stlinkserver.exe process manually using Task Manager. Once the server is killed, the IDE regains control and exits the debug attempt.

To investigate further, I manually started stlinkserver.exe using:

 
stlinkserver.exe -a -p 7184 -d 5
The server successfully detects the ST-LINK device:
 
STLK: Add to stlink USB list: VID 0x0483, PID 0x3754, serial [REDACTED_SN]
...
TCPCMD REFRESH_DEVICE_LIST : return 1
However, no subsequent commands are issued — GET_NB_DEV, GET_DEV_INFO, and OPEN_DEV are all missing. The server enters an idle state and repeats "No connections/data in the last 30 seconds."

Verification

I’ve confirmed the ST-LINK and target MCU are working correctly:

  • STM32_Programmer_CLI.exe connects successfully and reports correct voltage, device ID, and memory size.

  • I can also connect via arm-none-eabi-gdb using:

target remote :7184

This works without issues, which suggests:

  • USB and driver layers are functioning

  • stlinkserver is operating correctly

  • GDB remote protocol is working end-to-end

This leads me to believe the problem is isolated to CubeIDE's internal debugger initialization sequence, which appears to fail immediately after establishing the initial TCP connection.


System Environment

  • CPU: AMD Ryzen 9 3950X (16 cores, 32 threads)

  • Chipset: X580-based motherboard

  • RAM: 64GB

  • OS: Windows 11 Pro 23H2 (clean installation, not upgraded)

  • All drivers and firmware are up to date.

Importantly, I tested the exact same board and project on another laptop with an Intel CPU, and there the issue does not occur. The debug session starts normally, and stlinkserver proceeds with the expected command sequence.

This raises the question of whether the issue could be related to USB host controller compatibility, driver timing differences, or chipset-level interactions on AMD platforms.


Attempts and Workarounds

  • Clean workspace in CubeIDE

  • Fresh install of STM32CubeIDE and STM32CubeProgrammer

  • Tried multiple reset modes (software, hardware, connect-under-reset)

  • Verified use of correct internal stlinkserver.exe in the plugin directory

  • Attempted external ST-LINK server mode on 127.0.0.1:7184

  • Replaced stlinkserver.exe with version from CubeProgrammer v2.20 — no change

  • Reproduced the same issue even after OS reinstall


Expected Behavior

Normally, after REFRESH_DEVICE_LIST, the following should occur:

GET_NB_DEV GET_DEV_INFO OPEN_DEV ...

None of these appear in the log when using CubeIDE on the Ryzen-based system.


Questions

  1. Is this a known issue in CubeIDE v1.19.0 or with ST-LINK server integration?

  2. Could this be caused by USB compatibility issues on certain chipsets (e.g., AMD X580)?

  3. Is there any debug flag or configuration to force enumeration or provide verbose output from the debugger layer?

  4. Would rolling back to an earlier version of CubeIDE or CubeProgrammer help?

I'm happy to provide logs or additional test results if needed. Any insight into this behavior would be appreciated.

Thank you.

0 REPLIES 0