User space CDT project

< How to debug a user space application with STM32CubeIDE
Revision as of 15:30, 13 March 2023 by Registered User
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Applicable for STM32MP13x lines, STM32MP15x lines

This article describes how to create, build and debug a Linux® user space application for STM32 MPU, using the standard Eclipse® CDT™ wizard.

Warning DB.png Important
This article has been written with the example of STM32MP15x lines More info.png. Nevertheless, it is applicable to any lines present in applicability field displayed on the top of this article

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 Prepare Debug Configuration[edit]

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

CubeIDELinuxConsole.png


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

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

Target Status - green


Check How to set up proxy and P2P Ethernet connection with STM32CubeIDE if you have some proxy problem.


4 Set 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[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