User space GTK library project

Revision as of 17:05, 28 January 2021 by Registered User

This article proposes to address the Create a simple hello-world application with STM32CubeIDE.


1. Create GtkHelloWorld user space project[edit source]

In context of Cortex-A7 sub-project, MP157C-DK2_CA7 here, right click and select Create a userspace Project..

User space project wizard shortcut

We select here Executable project type, in C language. Note that our user space project will use by default the SDK version associated to Cortex-A7 sub-project.


User space project creation wizard'


2. Update GtkHelloWorld project sources & properties[edit source]

Hereafter we update main.c source code with gtk_hello_world.c as defined in Create a simple hello-world application article.
Proposal in order to reference Gtk library is to use pkg-config command to update compiler & linker flags, just like it is done in Makefile of article Create a simple hello-world application. This properties update is done inside menu GtkHelloWorld properties: C/C++ Build > Settings > Tool Settings.

  • main.c update and C flag: `pkg-config --cflags gtk+-3.0`
GtkHelloWorld project source & properties update


  • linker flags update: `pkg-config --libs gtk+-3.0`
GtkHelloWorld project source & properties update


  • Select your project, right-click and then Build Project.
GtkHelloWorld project source & properties update

3. Preparing Debug Configuration[edit source]

Your target must be Linux booted and network connected. Please, start Target Status widget on the bottom right and check for the green light.

Target Status - green


4. Debug Configuration[edit source]

Select your project, right-click Debug as... > Debug Configurations, then select STM32 Cortex-A Remote Application'.

Debug configuration shortcut

4.1. Main tab[edit source]

The default Connection proposed is "MPU SSH", corresponding to the target IP address discovered by Target Status. The default destination directory is /home/root.

User space debug configuration - main tab

5. Debug: stepping into myStaticLib[edit source]

Click 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,
User space static library debug
Info white.png Information
in case of error; please stop any GDBServer running on the target before launching a new debug session.
No categories assignedEdit