C

STM32MP1 Quick Start Guide

Qt offers all the necessary tools to design, develop, build, and deploy your application onto the target.

This guide describes how to use the GUIs of Qt tools to develop Linux applications on an STM32MP157F-DK2 or STM32MP157F-EV1. It describes the overall process and provides step-by-step instructions for the following tasks:

Note: Qt for Device Creation requires a license. If you don't have one, you can request a free trial.

Overview

The following figure illustrates the basic concept of the software development process when you're using Qt tools and Boot to Qt Software Stack.

  • Development Host is a development computer running Qt tools on Windows, Linux, or macOS.
  • Qt tools includes development tools such as Qt Creator and Qt Design Studio, and quality assurance (QA) tools such as Squish.
  • QBSP SDK contains a cross-compilation toolchain that is integrated into Qt Creator, and a device image that can be used to boot your device using Boot to Qt Software Stack.
  • Target Device is your development target that runs your embedded Linux application.
  • Upload and debug an application (via Ethernet, Wi-Fi, or USB). Use Qt Creator to upload and debug your application on the target device.
  • Flash a QBSP image represents ways (such as SD card) to install Linux on the target device.

Applicable STM32MP1 Target Devices

The instructions in this guide apply to the following STM32MP1 target devices:

  • STM32MP157F-DK2 (Discovery kit)
  • STM32MP157F-EV1 (Evaluation board)

Note: For more details on the supported target devices and development hosts, see Supported Target Devices and Development Hosts.

Installing Qt

Follow the procedures in this guide to get all the required resources, including Qt Creator and Qt Design Studio.

  1. Sign in to Qt Customer Portal to download Qt Online Installer.
  2. The installer is available for the following hosts:
    • Linux on ARM
    • Linux x86
    • macOS
    • Windows

    Download the installer package that matches your host.

  3. Open the installer.
  4. Continue to Installation Folder and select Custom installation.
  5. Select Next.
  6. In Select Components, select Qt 6.8.0. The required developer and designer tools (such as Qt Creator and Qt Design Studio) are preselected in the installer.
  7. Select Next.
  8. Continue to Ready to Install and select Install.

Note: If you have Qt already installed, use Qt Maintenance Tool to install the missing tools.

Installing Boot to Qt Software Stack Using Qt Maintenance Tool

To install Boot to Qt Software Stack for STM32MP157F-DK2 (Discovery kit), do the following:

  1. Open Qt Maintenance Tool.
  2. Continue to Select Components and open the top-level Boot to Qt Software Stack dropdown menu.
  3. Open the correct Qt release -specific Boot to Qt Software Stack dropdown menu.
  4. Select STM32MP15 Discovery.
  5. Continue to Ready to Install and select Install.

Note: You can also develop the required QBSP file yourself. For more details, see How to Create Boot to Qt Image.

Installing Boot to Qt on the Target Device

Before you can test your Qt applications on the target device, you must flash the target device with an image containing the Boot to Qt Software Stack. After you have successfully flashed your device, Boot to Qt Demo Launcher appears on the screen when you power on the device.

Flashing Boot to Qt Image to a microSD Card

The Boot to Qt image contains the Boot to Qt Software Stack for the STM32MP1 device. Flash the image to a microSD card as follows:

  1. Insert a microSD card into your host PC.
  2. Open Qt Creator.
  3. Select Tools > Flash Boot to Qt Device.
  4. Select Next.

After you have flashed the image to a microSD card, insert the card into your target HW and turn on your device.

The STM32MP1 device starts with Boot to Qt Demo Launcher application by default. If you want to check the IP address of the device, open Get Started with Boot to Qt via Boot to Qt Demo Launcher. The IP address is shown if the device is connected to an Ethernet or Wi-Fi network, or to the host computer via USB OTG.

Note: If your target device does not start, check that microSD card is defined as the Boot mode.

Connecting the Target Device

Create a connection between the target device and Qt Creator to run, debug, and analyze applications on it. The sections below describe how to set up a device using either USB, Ethernet, or Wi-Fi connectivity.

Connecting the Target Device via USB

The target device can be connected to the host via USB On-the-Go (OTG). Once connected via a USB network, the device is automatically added to the Devices in Qt Creator.

The USB access to the target device supports two different USB protocols. The default RNDIS protocol can be used when connecting the target device to either a Linux or Windows host. When you want to connect the target device to a macOS host, you need to change to the CDC-ECM protocol.

Note: You can change the protocol from the Get Started with Boot to Qt.

For more information on connecting a device via USB, see Setting Up USB Ethernet on Target Device.

Connecting the Target Device via Ethernet or Wi-Fi

Connect your target device to network either via Ethernet or Wi-Fi connectivity. After the target device is connected and has an IP address, you can set it up to be used in Qt Creator with the following steps:

  1. Open Qt Creator.
  2. Select Edit > Preferences.
  3. In the Preferences window:
    1. Select Devices.
    2. Select Add > Boot2Qt Device > Start Wizard.
  4. In the Boot2Qt Network Device Setup window:
    1. Enter the Device name.
    2. Enter the Device address (IP address of the STM32MP1 device).
    3. Select Finish.
  5. On the Devices tab:
    • Select OK.

Note: You can also set up a Wi-Fi connection from the Get Started with Boot to Qt

Note: Qt Creator uploads the application over the IP network, so the STM32MP1 device has to be in the same network as your development host PC.

Creating an Application UI in Qt Design Studio

You can use Qt Design Studio to create a cross-platform UI, also for embedded Linux applications.

  1. Open Qt Design Studio.
  2. Select Create Project.
  3. In Presets, select General.
    • Name your project (also notice the project path to open it with Qt Creator).
    • Adjust display resolution and orientation to suit your display.
  4. Make sure your Target Qt Version matches the version of Qt installed on your machine.
  5. Select Create.

Now you can modify your UI as you wish. Once it's ready, select Save All to make sure that you can open your UI project in Qt Creator.

Configuring and Building an Application in Qt Creator

  1. Open Qt Creator.
  2. Navigate to the project you created with Qt Design Studio.
  3. Select CMakeLists.txt to open the project.
  4. In the Configure Project window:
    1. Select your STM32MP15 kit.
    2. Select Configure Project.

Finally, select Build > Build Project to build the project you configured.

Running an Application on the Target Device

After setting up your device, you can upload and start your application on the STM32MP1 device.

  1. Open Qt Creator.
  2. Select File > Open File or Project.
  3. Navigate to the project you configured earlier and select Open.
  4. In the Projects window:
    1. Edit the Run Settings if necessary.
    2. Select Run.

Note: To make changes to your application, you can update it on the device simply by running it again.

Debugging an Application

For more information on using Qt Creator to debug an application, see Debugging.

Using a STM32MP1 Device With QBSP

You can use Qt Maintenance Tool to install the latest Qt and QBSP releases for your STM32MP1 device.

Note: You can also download a QBSP from your Qt Account page.

For details on how to customize and build QBSPs from sources, see How to Customize a Boot to Qt Image.

For more information on how to add QBSP support for a new device, see How to Add Support for New Device.

Customizing Boot to Qt for an STM32MP1 device

Boot to Qt for embedded Linux is built using the tools and resources from the Yocto Project. For more information on how to set up a building environment for building Boot to Qt, see Setting Up Environment for Building Boot to Qt.

This section provides an example on how to build Boot to Qt for an STM32MP1 device.

For more information on how to create a custom Boot to Qt image, see How to Create Boot to Qt Image.

  1. Initialize the build environment from the manifest repository.
    cd <BuildDir>
    repo init -u https://code.qt.io/yocto/boot2qt-manifest -m st/v6.8.0.xml
    repo sync

    Note: In the example above 6.8.0.xml refers to a specific Boot to Qt version, but you can use any version that is compatible with your target device.

  2. Configure the build environment for Linux.
    export MACHINE=stm32mp15-disco && source ./setup-environment.sh
  3. Start building a QBSP for Boot to Qt.
    bitbake meta-b2qt-embedded-qbsp

    After the build has been completed, you can find the QBSP file at boot2qt/build-stm32mp15-disco/tmp/deploy/qbsp/meta-b2qt-embedded-qbsp-x86_64-stm32mp15-disco-6.8.0.qbsp.

Troubleshooting

If you have any issues with your STM32MP1 device, such as how to setup boot switches or connect the debug terminal, turn to ST Community for more information.

For more information on troubleshooting Boot to Qt, see Troubleshooting.

Available under certain Qt licenses.
Find out more.