Toolchain with QT Creator (TX8M)

Note

This guide was tested and wirtten for Yocto version 4.14.98-2.3.0-sumo on Ubuntu 16.04.

1. Requirements

For creating the QT5 toolchain a complete Yocto build environment is required.

If you need to setup one see our Setup. Make sure you will use the branch 4.14.98-2.3.0-sumo. You only have to follow till “BSP Checkout” is done.

2. Building the SDK

Hint

To compile a working SDK, the SDK has to be created from the same image like the one running on your board.

Setup the build-directory:

cd ~/karo-yocto/fsl-imx-sumo
DISTRO=fsl-imx-xwayland MACHINE=tx8m-xxxx source karo-nxp-release.sh -b build-qt5-toolchain

Build the image for your board. To flash the image use uuu. We documented examples at UUU - Universal Update Utility.

bitbake fsl-image-qt5-validation-imx

Populate the SDK:

bitbake -c populate_sdk fsl-image-qt5-validation-imx

3. Install the SDK

To install the previously built SDK on your host, simply run:

<your-build-directory>/tmp/deploy/sdk/fsl-imx-xwayland-glibc-x86_64-fsl-image-qt5-validation-imx-aarch64-toolchain-4.14-sumo.sh

4. Using the SDK

For using the SDK inside a shell session, you can run the following command. We will need this later.

source <your-sdk-install-path>/fsl-imx-xwayland/4.14.98-sumo/environment-setup-aarch64-poky-linux

5. Installing QT Creator

Download the QT Creator offline installation for Linux from https://www.qt.io/offline-installers and execute the .run file. This will install the QT Creator for you.

6. Setup QT Creator

6.1. SDK

Start QT Creator, go to Tools -> Options and select the Kits section.

Configure QT, Compilers, Debuggers, and CMake as shown in the following screenshots. Of course you have to fit the paths for your SDK.

../../_images/qt-versions.png

QT Versions

../../_images/compilers-1.png

C Compilers

../../_images/compilers-2.png

C++ Compilers

../../_images/debuggers.png

Debuggers

../../_images/cmake.png

CMake

6.2. Device

Go to section Devices and configure your TX8M StarterKit as shown below. To find out the IP of our board, run ifconfig -a on it.

../../_images/devices.png

Devices

Now - in Kits section again - setup the Kit itself with the previously configured parameters.

../../_images/kits.png

Complete Kits

7. Using QT Creator

Press APPLY and Exit QT Creator.

Open a terminal application and source the cross compiling environment setup with:

source <your-sdk-install-path>/fsl-imx-xwayland/4.14.98-sumo/environment-setup-aarch64-poky-linux

In the current session open QT Creator from terminal (e.g.):

$HOME/sdks/Tools/QtCreator/bin/qtcreator

Create a new project, e.g. select “Qt Quick Application - Empty” and name the project “HelloWorld”.

Hint

When stepping through the New-Project creation, you should choose QT minimum version <= 5.10. Above will not be supported by the TX8M StarterKit as you will notice in further steps.

8. Running HelloWorld

Once created, you need to run your “HelloWorld” project on your StarterKit.

Append the projects HelloWorld.pro file with this line:

target.path=/home/root

To get your application running, you have to customize the project’s Run Settings.

    1. Go into the Project Mode (Ctrl-4)
    1. For your Kit choose the “Run Settings”, and edit the “Deployment” section
    1. Disable or delete the step “Upload files via SFTP”
    1. “Add Deploy Step” -> “Custom Process Step”
    1. Use Command: scp
    1. Use Arguments: <local-file-path> root@<tx8m-board-ip>:/home/root

Run this configuration and you should see your “HelloWorld” Window appearing on your screen.