User space CDT project

< How to debug a user space application with STM32CubeIDE

This article proposes to manage a Linux® user space application for STM32 MPU, using the standard Eclipse® CDT™ wizard.

BackToNavigationTree button.png

1 Create a "user space" project[edit]

  • Open the new C project wizard: File -> New -> Project... C Project.
New C project wizard
  • In the first window, choose OpenSTLinux SDK
New C project wizard
  • Then Next to set up configuration
New C project wizard
  • and Next to choose the SDK version
New C project wizard
  • To populate this project with file "main.c", first select project, then right-click New -> File -> main.c, and then fill it with some C code.

2 Build[edit]

  • Select your project, right-click and then Build Project.
C project build

3 Preparing Debug Configuration[edit]

In order to debug user space application, your target must be Linux® booted and network connected.

You can check boot messages via Linux® console opened with butterfly icon, but remember this console cannot be shared outside STM32CubeIDE (minicom,...).


In order to check network connection, start the Target Status widget in the bottom right corner of the window.

Target Status - green

Please also check How to set up proxy and P2P Ethernet connection with STM32CubeIDE if you are in that case.

4 Debug Configuration[edit]

  • Select your project, right-click Debug as... > Debug Configurations.
  • Then create an STM32 Cortex-A Remote Application debug configuration, and double-click on it.
C Project debug

5 Debug on STM32 MPU device[edit]

Click on Debug:

  1. Executable is downloaded to the target,
  2. GDBServer is launched on the target,
  3. GDBClient is launched on the workstation and can exchange via network with GDBServer.
C project debug
Info white.png Information
In case of error; check if GDBServer is still running on the target.

BackToNavigationTree button.png