米尔NXP i.MX 93开发板的Qt开发指南

2024-06-07 21:52

本文主要是介绍米尔NXP i.MX 93开发板的Qt开发指南,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. 概述

Qt 是一个跨平台的图形应用开发框架,被应用在不同尺寸设备和平台上,同时提供不同版权版本供用户选择。米尔 NXP i.MX 93 开发板(MYD-LMX9X开发板)使用 Qt6.5 版本进行应用开发。在 Qt 应用开发中,推荐使用 QtCreator 集成开发环境,可以在 Linux PC 下开发 Qt 应用,自动化地交叉编译为开发板的 ARM 架构。 

本章使用 Yocto 构建的 SDK 工具作为交叉编译系统,配合 QtCreator 快速开发图形类应用程序。

2. 硬件资源 

  • 米尔 NXP i.MX 93 开发板(MYD-LMX9X开发板)

3. 软件资源 

  • ubuntu 20.04 64bit

  • Qt6.5

  • 交叉编译链

4. 环境准备 

需要 ubuntu 桌面系统,后续均在 ubuntu 20.04 64bit 版本下操作,桌面系统请自行安装。

5. 安装Qt6.5

从Qt下载官网https://download.qt.io/archive/online_installers/4.5/下载 qt-unified-linux-x64-4.5.2-online.run 安装包。

  • 安装 Qt 所需要的库

在安装 QtCreator 之前需要对主机的环境进行配置,请安装下列资源包

sudo apt-get update
sudo apt install --reinstall libxcb-xinerama0
sudo apt install cmake build-essential libgl1-mesa-dev libglu1-mesa-dev freeglut3-dev cmake

  • 将安装包放到 Ubuntu 下运行

sudo chmod 777 qt-unified-linux-x64-4.5.2-online.run
./qt-unified-linux-x64-4.5.2-online.run --mirror https://mirrors.tuna.tsinghua.edu.cn/qt

  • 登录

运行命令后进入安装界面,填入账号,如若没注册需要先自行注册。

图5-1. 输入账号密码

  •       选择

     开发者可选择个人开发者。

图5-2. 选择开发者

  • 禁止发送

选择禁止发送反馈内容。

图5-3. 选择禁止发送

  • 选择安装路径

选择安装路径,建议安装在目录/opt 下。

图5-4. 安装路径

  • 选择安装内容

因为我们需要安装6.5版本,所以需要勾选以下内容。

图5-5. 选择安装内容

  • 安装

选择好安装内容好连续点击下一步到安装页面。

图5-6. 等待安装完成

6. 配置交叉编译环境 

1)打开 QtCreator,请从终端执行"qtcreator.sh"来启动 QtCreator,参考如下:

2)如果运行失败则需要安装插件,命令如下

3)再次运行成功,出现选项对话框,点击 Edit ,继续点击 Preferences ,在 Kits 栏选择 Compilers 标签,如下图所示。

图6-1. 配置Compilers

4)点击右侧 Add ,弹出下拉列表后,选择 GCC->C++ ,在下面填写"Name"为"LMX9X- G++","Compiler path"点击旁边的"Browse.."按钮选择到 aarch64-poky-linux-g++ 的路径,例子中的路径是"/opt/fsl-imx-xwayland/6.1-mickledore/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-g++"。(此为米尔提供的编译链,详情请查看《MYD-LMX9X_Linux软件开发指南》2.2章节)填写完成后,点击"Apply"

图6-2. 配置GCC

5)选择"Debuggers"标签,在右侧点击"Add",在name处输入"93-gdb",在path选择路径为/opt/fsl-imx-xwayland/6.1-mickledore/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-gdb,填写完成后点击"Apply",如图6-3。

图6-3. 配置Debugger

6)选择"Qt Version"标签,在右侧点击"Add",会弹出 qmake 路径选择对话框,这里以"/opt/fsl-imx-xwayland/6.1-mickledore/sysroots/x86_64-pokysdk-linux/usr/bin/qmake"为例子。选择"qmake"文件后,点击"Open"按钮。"Version name"改为"Qt %{Qt:Version} (LM93-sytem)"。然后点击"Apply"按钮。

图6-4. 选择qmake

7) 选择左侧"Device",点击右边的"Add"按钮,填写内容"Name"为"MYIR-LM93-Board","Host name"为开发板的 IP 地址(可以暂时填写任意一个址),"Username"为"root",然后击"Apply"。(此项为可选项)

图6-5. 选择开发板

8) 点击左侧"Build & Run"回到"Kits"标签下,"Name"设置为"LM93-dev-kit","Device"选择"MYD-LM93-Board"选项了。"Sysroot"选择目标设备的系统目录,这里以"/opt/fsl-imx-xwayland/6.1-mickledore/sysroots/x86_64-pokysdk-linux"例。"Compiler"选择之前配置的名称"93-GCC","Qt version"选择之前配置的名称"Qt6.5.0 (LM93-System)","Qtmkspec"填写为"linux-oe-g++"。其它默认即可,最后点击"Apply"和"OK"按钮。

图6-6. Kits配置

9)将 MXAPP-Qt6.tar.gz 拷贝到 Ubuntu 下的一个工作目录中并解压出源代码。配置为相应的编译工具套件,就可以编译此例程。在菜单栏选择"File"->"Open File or Project",在打开的对话框中,浏览到"mxcpp"例程的目录下,选择"mxcpp.pro"文件,点击"Open"按钮。项目打开后,在左侧菜单列中,选择"Projects"图标,右侧界面切换为 manage kits 管理界面,在"Build & Run"标签下,选择"LM93"选项的 kit,这样项目就会使用"LM93 "的相关配置 kit 构建应用。然后右键选择"mxapp2"点击 Build 。

图6-7. 开始编译

图6-8. 编译完成

QtCreator 构建 mxapp 项目后,编译好的二进制文件存放在指定的目录下。然后将 mxapp 文件拷贝到开发板下运行即可

图6-9. 保存路径

7. 参考资料

  • 下载桌面版Ubuntu

https://ubuntu.com/download/desktop

  • QT开发指导

Qt | Tools for Each Stage of Software Development Lifecycle

这篇关于米尔NXP i.MX 93开发板的Qt开发指南的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1040404

相关文章

JDK21对虚拟线程的几种用法实践指南

《JDK21对虚拟线程的几种用法实践指南》虚拟线程是Java中的一种轻量级线程,由JVM管理,特别适合于I/O密集型任务,:本文主要介绍JDK21对虚拟线程的几种用法,文中通过代码介绍的非常详细,... 目录一、参考官方文档二、什么是虚拟线程三、几种用法1、Thread.ofVirtual().start(

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

一文详解Python如何开发游戏

《一文详解Python如何开发游戏》Python是一种非常流行的编程语言,也可以用来开发游戏模组,:本文主要介绍Python如何开发游戏的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、python简介二、Python 开发 2D 游戏的优劣势优势缺点三、Python 开发 3D

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

使用Java填充Word模板的操作指南

《使用Java填充Word模板的操作指南》本文介绍了Java填充Word模板的实现方法,包括文本、列表和复选框的填充,首先通过Word域功能设置模板变量,然后使用poi-tl、aspose-words... 目录前言一、设置word模板普通字段列表字段复选框二、代码1. 引入POM2. 模板放入项目3.代码

macOS彻底卸载Python的超完整指南(推荐!)

《macOS彻底卸载Python的超完整指南(推荐!)》随着python解释器的不断更新升级和项目开发需要,有时候会需要升级或者降级系统中的python的版本,系统中留存的Pytho版本如果没有卸载干... 目录MACOS 彻底卸载 python 的完整指南重要警告卸载前检查卸载方法(按安装方式)1. 卸载

Java中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例解析

《Java中的分布式系统开发基于Zookeeper与Dubbo的应用案例解析》本文将通过实际案例,带你走进基于Zookeeper与Dubbo的分布式系统开发,本文通过实例代码给大家介绍的非常详... 目录Java 中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例一、分布式系统中的挑战二

C++中处理文本数据char与string的终极对比指南

《C++中处理文本数据char与string的终极对比指南》在C++编程中char和string是两种用于处理字符数据的类型,但它们在使用方式和功能上有显著的不同,:本文主要介绍C++中处理文本数... 目录1. 基本定义与本质2. 内存管理3. 操作与功能4. 性能特点5. 使用场景6. 相互转换核心区别

Python动态处理文件编码的完整指南

《Python动态处理文件编码的完整指南》在Python文件处理的高级应用中,我们经常会遇到需要动态处理文件编码的场景,本文将深入探讨Python中动态处理文件编码的技术,有需要的小伙伴可以了解下... 目录引言一、理解python的文件编码体系1.1 Python的IO层次结构1.2 编码问题的常见场景二

Oracle Scheduler任务故障诊断方法实战指南

《OracleScheduler任务故障诊断方法实战指南》Oracle数据库作为企业级应用中最常用的关系型数据库管理系统之一,偶尔会遇到各种故障和问题,:本文主要介绍OracleSchedul... 目录前言一、故障场景:当定时任务突然“消失”二、基础环境诊断:搭建“全局视角”1. 数据库实例与PDB状态2