QT Development Guide for NXP i.MX 93 Development Board by MYIR
2024-08-16
450
1. Overview
Qt is a cross-platform graphical application development framework that is applied to devices and platforms of different sizes, while providing different license versions for users to choose from. The MYD-LMX9X development board from MYIR is based on NXP’s i.MX 93 processor and uses Qt 6.5 for application development. In Qt application development, it is recommended to use QtCreator integrated development environment, which allows for the development of Qt applications on Linux PCs and automatically cross-compiles them for the ARM architecture of the development board.
This chapter uses the SDK tool built with Yocto as a cross-compilation system, in conjunction with QtCreator for rapid development of graphical applications.
2. Hardware resource
MYIR’s MYD-LMX9X Development Board based on NXP i.MX 9352 processor
3. Software resource
- ubuntu 20.04, 64-bit
- Qt6.5
- Cross-compilation chain
4. Environmental preparation
A Ubuntu desktop system is required, and all subsequent operations will be carried out under Ubuntu 20.04 64-bit version. Please install the desktop system yourself.
5. Install Qt6.5
Download the qt-unified-linux-x64-4.5.2-online.run installation package from Qt official website https://download.qt.io/archive/online_installers/4.5/
- The libraries required for installing Qt
Before installing QtCreator, it is necessary to configure the host's environment. Please install the following resource packages
1 sudo apt-get update
2 sudo apt install --reinstall libxcb-xinerama0
3 sudo apt install cmake build-essential libgl1-mesa-dev libglu1-mesa-dev freeglut3-dev cmake
- Run the installation package under Ubuntu
1 sudo chmod 777 qt-unified-linux-x64-4.5.2-online.run
2 ./qt-unified-linux-x64-4.5.2-online.run --mirror https://mirrors.tuna.tsinghua.edu.cn/qt
- Sign in
After running the command, you will enter the installation interface. Enter your account information. If you haven't registered yet, you will need to register first.
Figure 5-1 Enter account and password
- Choice
Developers can choose individual developer options.
Figure 5-2 Select Developer
- Disable sending
Select Disable sending
Figure 5-3 Select disable sending
- Select installation path
Select the installation path, it is recommended to install it in the directory/opt
Figure 5-4 Installation path
- Select installation content
Because we need to install version 6.5, we need to check the following options.
Figure 5-5 Select installation content
- Install
Select the installation content and click 'Next' continuously to go to the installation page.
Figure 5-6 Waiting for installation to complete
6. Configure cross-compilation environment
1) Open QtCreator, please start QtCreator from the terminal by executing "qtcreator. sh" from the terminal to start QtCreator, as shown below:
2) If the operation fails, the plugin needs to be installed. The command is as follows:
sudo apt-get install qt5-default qtcreator
3) Successfully run it again, an options dialog box will appear. Click Edit, continue clicking Preferences, and select the Compilers tab, as shown in the following figure.
Figure 6-1 Configure Compilers
4) Click on "Add" button, and a dropdown list will pop up. Select "GCC ->C++" and fill in the "Name" field with "LMX9X-G++". Click on "Browse..." button next to "Compiler path" to select the path to “aarch64-poky-linux-g++”. In the example, the path is "/opt/fsl-imx-xwayland/6.1-mickledore/sysroots/x86_64-pokysdk-linux/us/bin/aarch64-poky-linux/arch64-poky-linux-g++". (This is the compilation chain provided by MYIR. For details, please refer to Chapter 2.2 of the MYD-LMX9X_Linux Software Development Guide.) After completing the information, click "Apply".
Figure 6-2 Configure GCC
5) Select "Debuggers", click "Add" on the right, enter "93 gdb" in the name field, and choose the path “/opt/fsl imx xwayland/6.1-mickledore/sysroots/x86_64 pokysdk linux/us/bin/aarch64 poky-linux/arch64 poky-linux-gdb”, and click "Apply" when finished, as shown in Figure 6-3.
Figure 6-3 Configure the debugger
6) Select "Qt Version", click "Add" on the right, and a qmake path selection dialog box will pop up. Here is an example of "/opt/fsl imx xwayland/6.1-mickledore/sysroots/x86_64-pokysdk-linux/us/bin/qmake". After selecting the “qmake” file, click “Open”, and change “Version name” to “Qt% {Qt: Version} (LM93 styem)”. Then click the 'Apply' button.
Figure 6-4 Choose qmake
7) Select "Device", click the "Add" button on the right, fill in the "Name" as "MYIR-LM93-Board", "Host name" as the IP address of the development board (you can temporarily fill in any address), "Username" as "root", and then click "Apply". (This is optional)
Figure 6-5 Select development board
8) Click on "Build&Run" on the left to return to the "Kits" tab, set "Name" to "LM93 dev kit", and select the "MYD-LM93 Board" option for "Device". Select the system directory of the target device as' Sysroot ', using'/opt/fsl imx xwayland/6.1-mickledore/sysroots/x86_64 pokysdk Linux 'as an example. Select the previously configured name "93-GCC" for "Compiler", select the previously configured name "Qt6.5.0 (LM93 System)" for "Qt version", and fill in "linux-oe-g++" for "Qtmkspec". Other defaults are fine, finally click the "Apply" and "OK" buttons.
Figure 6-6 Kits configuration
9) Copy MXAPP-Qt6.tar.gz to a working directory on Ubuntu and extract the source code. Configure it as the corresponding compilation toolkit to compile this routine. Select "File" ->"Open File or Project" in the menu bar, navigate to the directory of the "mxcpp" routine in the opened dialog box, select the "mxcpp. pro" file, and click the "Open" button. After opening the project, select the "Projects" icon in the left menu column, and the right interface will switch to the manage kits management interface. Under the "Build&Run" tab, select the "LM93" option kit, and the project will use the relevant configuration kit of "LM93" to build the application. Then right-click and select "mxapp2" and click Build.
Figure 6-7 Start compiling
Figure 6-8 Compilation completed
Figure 6-9 Save Path
6. Reference materials
- Download the desktop version of Ubuntu
https://ubuntu.com/download/desktop
- QT Development Guide
https://www.qt.io/
MYC-LMX9X System-On-Module and MYD-LMX9X Development Board
- Tiny SOM measuring just 37mm x 39mm, with a 218-pin LGA expansion interface for easy integration and customization
- NXP i.MX 9352 Application Processor based on 1.7 GHz Dual Arm Cortex-A55 and 250MHz Cortex-M33 Cores
- Integrated 0.5 TOPS Neural Processing Unit (NPU), enabling cost-effective and lightweight AI applications
- 1GB/2GB LPDDR4, 8GB eMMC Flash, 32KB EEPROM
- 2x USB 2.0 Host, 1x USB 2.0 OTG, 1x Micro SD Card Slot, CAN/RS485/RS232
- 2x Gigabit Ethernet, 1x 4G/5G Module Interface, 1x WiFi Module
- Supports HDMI and LVDS Display, Camera Interface (MIPI-CSI), Audio Input and Output
- Supports Working Temperature Ranging from -40°C to 85°C
- Supports for Linux 6.1 and Debian 12
Top-view of MYD-LMX9X Development Board
Bottom-view of MYD-LMX9X Development Board
2024-09-23
Ethernet Driver Porting Guide Based on MYIR's NXP i.MX.93 Development Board
Ethernet Driver Porting Guide Based on MYIR's NXP i.MX.93 Development Board MYD-LMX9X
2024-06-16
Application Notes | Setting up OTA Functionality on MYIR's NXP i.MX 93 Development Board
1. OverviewOver-the-Air Technology (OTA) is a technology that enables remote management of mobile terminal equipment and SIM card data via the air interface of mobile communication. In this article, O
2024-06-13
Ubuntu System Porting Guide for Renesas RZ/G2L-based Remi Pi
1. OverviewLinux system platform has a variety of open source system building frameworks, which facilitate the developer in building and customizing embedded systems. Currently, some of the more commo
2024-05-22
Boosting the Power Industry: Notes on Porting the IEC61850 Protocol to the MYD-YF13X
Part 1: OverviewIEC 61850 is an international standard for communication systems in Substation Automation Systems (SAS) and management of Decentralized Energy Resources (DER). Through the implementati
2023-12-07
Developing AIGC using DNN through MYIR's Renesas RZ/G2L based Board
This evaluation report is provided by developer "ALSET" from MYIR’s forum. This article will introduce how to develop AIGC image using Deep Neural Networks (DNN) through MYIR’s Renesas RZ/G2
2023-10-31
How to Select MYIR's STM32MP1 based SOMs?
Choosing a suitable processor is a difficult problem that every engineer may face in the early stage of development. How do you choose a processor that fits into product development? Today, we will an
2023-10-18
Bring up the STM32MP135x - ST Training Course based on MYD-YF13X (Ⅲ)
This article will take MYIR’s MYD-YF13X and STM32MP135F-DK as examples, and continue to explain how to use STM32CubeMX combined with the developer package to implement the booting of the minimal syste
2023-09-26
Bring up the STM32MP135x - ST Training Course based on MYD-YF13X (II)
This article will take MYIR’s MYD-YF13X and STM32MP135F-DK as examples, and continue to explain how to use STM32CubeMX combined with the developer package to implement the booting of the minimal syste
2023-09-21
Take Great Advantages of SemiDrive's Super Powerful D9-Pro Processor
MYIR has launched the MYC-JD9360 System-On-Module and MYD-JD9360 development board based on SemiDrive’s D9-Pro processor in August. The D9-Pro is a super powerful MPU with six Arm Cortex-A55 cores (up