Revision as of 10:19, 26 January 2021 by Registered User (Created page with " ==Create a "user space" project== *Open new C Project wizard: ''File -> New -> Project... C Project''. <br> *In first window, choose '''''OpenSTLinux SDK''''' File:CubeID...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Create a "user space" project[edit source]

  • Open new C Project wizard: File -> New -> Project... C Project.
  • In first window, choose OpenSTLinux SDK
  • then Next and Advanced settings...
  • Setup SDKPATH variable into Project Properties > C/C++ Build > Environment
    • select first the configuration you want to use Debug or Release,
    • then Edit variable > Variables
  • If SDK installation is embedded inside STM32CubeIDE then toolchain is located under (e.g. with STM32CubeIDE v1.4.2) :<InstallDir>/plugins/com.st.openstlinux.sdk.openstlinux_5.4_dunfell_mp1_20_06_24_5.4.0.202007020712/tools/
  • In case SDK is installed on your disk, give its installation path :
File:CubeIDE-UserSpace-CreatePrj4.png
SDKPATH setup - local disk
  • To populate this project with "main.c" file, select project, right click: New -> File -> main.c and fill it with some C code.

1. Build[edit source]

  • Select your project, right-click and then Build Project.
File:CubeIDE-UserSpace-Build1.png
User space project build


2. Preparing Debug Configuration[edit source]

Your target must be Linux booted and network connected. In order to check it, please, start Target Status widget on the bottom right.

Target Status - green

Target Status widget creates MPU SSH in Connections view (Window > Show View > Other… Connections > Connections) to be used in Debug Configuration

3. Debug Configuration[edit source]

  • Select your project, right-click Debug as... > Debug Configurations.
  • Then create a C/C++ Remote Application debug configuration, double clicking on it.

3.1. Main tab[edit source]

  • Fill a destination directory, for example: /tmp/UserSpaceExe
  • Select a connection: MPU SSH 
File:CubeIDE-UserSpace-Debug3.png
Debug configuration - main

3.2. Debugger tab[edit source]

Now set-up GDB Client with SDK one

  • For SDK embedded and installed inside STM32CubeIDE (e.g. with STM32CubeIDE v1.4.2) :<Stm32CubeIDEInstallDir>/plugins/com.st.openstlinux.sdk.openstlinux_5.4_dunfell_mp1_20_06_24_5.4.0.202007020712/tools/sysroots/x86_64-ostl_sdk-linux/usr/bin/arm-ostl-linux-gnueabi/arm-ostl-linux-gnueabi-gdb
  • For SDK installed on disk : <SdkInstallDir>/sysroots/x86_64-ostl_sdk-linux/usr/bin/arm-ostl-linux-gnueabi/arm-ostl-linux-gnueabi-gdb
File:CubeIDE-UserSpace-Debug4.png
Debug configuration - debugger


4. Debug[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,
Info white.png Information
in case of error; please check if GDBServer is still running on the target.