C
NXP i.MX 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 NXP i.MX device. It describes the overall process and provides step-by-step instructions for the following tasks:
- Designing a simple UI using Qt Design Studio.
- Creating a project in Qt Creator and utilizing the ready-made Boot to Qt image for the NXP i.MX device.
- Building and debugging the project on the target device.
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 NXP i.MX Target Devices
The instructions in this guide apply to the following NXP i.MX target devices:
- i.MX 8M Mini LPDDR4 EVK
- i.MX 8M Nano LPDDR4 EVK
- i.MX 8M Plus LPDDR4 EVK
- i.MX 8MQuad EVK
- i.MX 8QuadMax MEK
- i.MX 93 11x11 LPDDR4X EVK
Note: For more details on the supported target devices and development hosts, see Supported Target Devices and Development Hosts.
Boot to Qt NXP i.MX Quick Start Guide Video
To get started, view the following video along with the instructions below:
Installing Qt
Follow the procedures in this guide to get all the required resources, including Qt Creator and Qt Design Studio.
- Sign in to Qt Customer Portal to download Qt Online Installer.
- The installer is available for the following hosts:
- Linux on ARM
- Linux x86
- macOS
- Windows
Download the installer package that matches your host.
- Open the installer.
- Continue to Installation Folder and select Custom installation.
- Select Next.
- In Select Components, select Qt 6.8.1. The required developer and designer tools (such as Qt Creator and Qt Design Studio) are preselected in the installer.
- Select Next.
- 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 NXP i.MX 8MQuad EVK, do the following:
- Open Qt Maintenance Tool.
- Continue to Select Components and open the top-level Boot to Qt Software Stack dropdown menu.
- Open the correct Qt release -specific Boot to Qt Software Stack dropdown menu.
- Select NXP i.MX 8MQuad EVK.
- Continue to Ready to Update and select Update.
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 NXP i.MX device. Flash the image to a microSD card as follows:
Note: Make sure that the SD card size is at least 8 GB.
- Insert a microSD card into your host PC.
- Open Qt Creator.
- Select Tools > Flash Boot to Qt Device.
- Select Next.
After you have flashed the image to a microSD card, insert the card into your target device and turn it on.
The NXP i.MX 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:
- Open Qt Creator.
- Select Edit > Preferences.
- In the Preferences window:
- Select Devices.
- Select Add > Boot2Qt Device > Start Wizard.
- In the Boot2Qt Network Device Setup window:
- Enter the Device name.
- Enter the Device address (IP address of the NXP i.MX device).
- Select Finish.
- 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 NXP i.MX 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.
- Open Qt Design Studio.
- Select Create Project.
- 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.
- Make sure your Target Qt Version matches the version of Qt installed on your machine.
- Select Create.
- Select File > Export Project > Enable CMake Generator. With the resulting CMakeLists.txt file, you can open your project via Qt Creator.
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
- Open Qt Creator.
- Navigate to the project you created with Qt Design Studio.
- Select CMakeLists.txt to open the project.
- In the Configure Project window:
- Select your NXP i.MX kit.
- 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 NXP i.MX device.
- Open Qt Creator.
- Select File > Open File or Project.
- Navigate to the project you configured earlier and select Open.
- In the Projects window:
- Edit the Run Settings if necessary.
- Select Run.
Note: To make changes to your application, you can update it on the device simply by running it again.
For more information on how to deploy Qt projects to the device, see Tutorial: Deploying Your First Project with Boot to Qt.
Debugging an Application
For more information on using Qt Creator to debug an application, see Debugging.
Customizing Boot to Qt for an NXP 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 NXP device.
For more information on how to create a custom Boot to Qt image, see How to Create Boot to Qt Image.
- Initialize the build environment from the manifest repository.
cd <BuildDir> repo init -u https://code.qt.io/yocto/boot2qt-manifest -m v6.8.1.xml repo sync
Note: In the example above
6.8.1.xml
refers to a specific Boot to Qt version, but you can use any version that is compatible with your target device. - Configure the build environment for Linux.
export MACHINE=imx8mq-evk && source ./setup-environment.sh
- 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-imx8mq-evk/tmp/deploy/qbsp/meta-b2qt-embedded-qbsp-x86_64-imx8mq-evk-6.8.1.qbsp
.
Troubleshooting
If you have any issues with your NXP i.MX device, such as how to setup boot switches or connect the debug terminal, turn to NXP Community for more information.
For more information on troubleshooting Boot to Qt, see Troubleshooting.
Available under certain Qt licenses.
Find out more.