User space CDT project

< How to debug a user space application with STM32CubeIDE
Revision as of 08:43, 31 January 2023 by Registered User

Applicable for STM32MP13x lines, STM32MP15x lines

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]

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 debug user space application, your target must be Linux® booted and network connected.

CubeIDELinuxConsole.png

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