Building Linux Userspace Applications

This application note explains how to build a Linux userspace application from the Linux-hosted cross development environment and then to deploy the built executable on the target.

  1. On the development host, install the prebuilt Yocto toolchain from here.

  2. Activate the toolchain:

    $ source /opt/st/stm32mp1-som/2.4-snapshot/environment-setup-cortexa7hf-neon-vfpv4-openstlinux_weston-linux-gnueabi $ unset CCACHE_PATH
  3. Now the CC, LD, CFLAGS and the others standard build environment variables are set for cross-compilation for the STM32MP1 platform, eg:

    $ $CC hello.c -o hello ...
  4. To deploy the build executable to the target, copy it to a USB Flash and plug in the USB Flash into any of USB connectors on the board:

    $ mount /dev/sda1 /media $ cp /media/hello /tmp $ /tmp/hello Hello from STM32MP1-SOM! $
  5. Alternatively, you could deploy your application from the host to the target using scp:

  6. Another way of deploying the binary to the target is the exporting the build directory as an NFS share. Having NFS configured on your host, run on the target: