将QT移植到IMX6ULL开发板

文章目录

  • 前言
  • 一、编译系统
    • 1.设置交叉编译工具链
    • 2.编译系统
    • 3.烧写
  • 二、Linux中下载QT
    • 1.安装 Qtcreator
    • 2.创建第一个程序
    • 3.配置 QtCreator 开发环境
      • (1)打开选项界面
      • (2)选择编译器
      • (3)设置编译器
      • (4)添加 QT 版本
      • (5)配置 kit 标签
    • 4.移植第一个QT程序到IMX6ULL开发板
      • (1)创建 imx6ull_hello_button 工程
      • (2)在开发板运行 Qt 程序

前言

在这里使用的是韦东山老师的IMX6ULL开发板,接下来我将演示如何移植QT程序到该开发板。

一、编译系统

1.设置交叉编译工具链

export ARCH=arm
export CROSS_COMPILE=arm-buildroot-linux-gnueabihf-
export PATH=$PATH:/home/book/100ask_imx6ull-sdk/ToolChain/arm-buildroot-linux-gnueabihf_sdk-buildroot/bin

2.编译系统

cd /home/book/100ask_imx6ull-sdk/Buildroot_2020.02.x
make clean
make 100ask_imx6ull_pro_ddr512m_systemV_qt5_defconfig
make all -j4

在这里插入图片描述

编译成功后文件输出路径为 output/images

3.烧写

把上面编译出来的 100ask-imx6ull-pro512d-systemv-v1.img重命名为emmc.img(或sdcard.img),把emmc.img(或sdcard.img) 放到“100ask_imx6ull 烧写工具”的 files 目录里,就可以使用工具烧写到 EMMC(或 SD/TF 卡)。

连接 USB OTG 线,设置USB启动:

在这里插入图片描述

打开烧写工具烧写整个系统:
在这里插入图片描述
在这里插入图片描述

二、Linux中下载QT

1.安装 Qtcreator

QtCreator 下载网址:https://download.qt.io/official_releases/qtcreator/

这里我使用的 qtcreator 版本为 5.12.9:

此安装过程类似 Windows 下应用的安装方法,一路点击下一步即可。

chmod +x qt-opensource-linux-x64-5.12.9.run
sudo ./qt-opensource-linux-x64-5.12.9.run

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
在这里插入图片描述
在这里插入图片描述

安装成功后打开QT,可以直接打开,也可以通过命令打开,命令如下:

./qtcreator.sh &

这里的“&”符号代表后台运行, 不占用控制命令终端

在这里插入图片描述
在这里插入图片描述

2.创建第一个程序

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

测试成功:

在这里插入图片描述

3.配置 QtCreator 开发环境

在这里我们配置 QtCreator 开发环境主要是为了方便将测试程序移植到Linux开发板上。

(1)打开选项界面

在 QtCreator 界面中,依次点击 tools -> options:

在这里插入图片描述

(2)选择编译器

在出现的选项对话框中,在左边点击 Kits,右边选择 Compilers 标签,并点击 Add 选择 Custom->C++:

在这里插入图片描述

(3)设置编译器

在弹出的对话框中填写以下内容: Compiler path , Make path 和 ABI; 填写完成后,点击 Apply 进行保存。

在这里插入图片描述

(4)添加 QT 版本

假设你已经按照上面编译出了 QT 的 SDK。 以 IMX6ULL 为例,你已经做了这些事情: 在执行“make 100ask_imx6ull-qt_defconfig”配置后,再执行“make all”可以编译出 QT 的 SDK 包。
可以在/home/book/100ask_imx6ull-sdk 下执行这个命令找到 qmake,记住它的目录:

find -name qmake

在这里插入图片描述

添加qmake路径:在 QT 设置界面中,选择 Qt Version 标签,在右侧点击“Add…”,会弹出对话框,切换目录到选择 qmake 文件后,点击 open 按钮,设置完成之后,点击 Apply 按钮保存。

注意:qmake 文件是 buildroot 编译根文件系统后生成的,文件在 buildroot 目录下。

在这里插入图片描述

(5)配置 kit 标签

继续选择上边的 Kits 标签,点击右侧 Add,填写相应内容如下图:

在这里插入图片描述

配置时发现上面有红色感叹号,鼠标放在上面看看哪里出错。

error:编译器为不同的ABls生成代码,那我们就按照它的提示修改成相同的试试,结果是修改后就不报错了。
在这里插入图片描述

修改如下:

在这里插入图片描述

配置完成后点击 apply,点击 OK。

4.移植第一个QT程序到IMX6ULL开发板

(1)创建 imx6ull_hello_button 工程

在这里我们创建一个文件名为imx6ull_hello_button的工程,完成IMX6ULL开发板显示文本hello和一个按钮button就算测试成功。

运行 QtCreator 后,在菜单栏选择 File -> New File or Project,或者直接快捷键 crtl + n,然后依次选择 Application(Qt) -> Qt Widgets Application ,最后点击 Choose。

在这里插入图片描述

设置命名和存放路径,然后点击 Next 进入下一步:

在这里插入图片描述

设置构建系统,然后点击 Next 进入下一步:

在这里插入图片描述

选择基类,当前的的应用继承自哪种 Widget,默认选择 QMainWindow,然后点击 Next 进入下一步:
在这里插入图片描述

默认none,继续点击next:

在这里插入图片描述

选择之前添加好的 Kits(100ask_imx6ull),继续点击next:

在这里插入图片描述

默认:

在这里插入图片描述

点击绘制ui:添加Hello文本和Button按键

在这里插入图片描述
在这里插入图片描述

点击菜单栏 Build -> Build Project hellowrld,开始编译、构建项目。

在这里插入图片描述

imx6ull_hello_and_button 项目构建成功后,编译好的二进制文件存放在刚刚设置的目录中,可以使用 file 命令查看该 APP 是否被编译为 ARM 架构:

在这里插入图片描述

(2)在开发板运行 Qt 程序

使用 ssh 远程登陆开发板,将生成的 QT 程序的可执行文件 helloworld 拷贝到开发板上:
在这里插入图片描述

然后执行该文件:

在这里插入图片描述

开发板显示如下:测试通过

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/866084.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

电脑回收站删除的文件怎么恢复?5个恢复方法详解汇总!

电脑回收站删除的文件怎么恢复?在我们日常使用电脑的过程中,难免会遇到误删文件的情况。一旦发现自己误删文件了,先不要着急,还是有很多方法可以找回的。市面上还是有很多好用的文件恢复软件可以使用,具体介绍如下。 本…

学习伦敦金技术分析的具体步骤是什么?

技术分析是我们分析伦敦金市场的重要工具,刚入市就面对时涨时跌的市场应该如何交易呢?投资者如果不掌握技术分析的方法,恐怕对这个问题会没有头绪。入场都没有,盈利就更加无从谈起了。而学习技术分析,是有不同的阶段、…

Linux之文本三剑客

Linux之三剑客 Linux的三个命令,主要是用来处理文本,grep,sed,awk,处理日志的时候使用的非常多 1 grep 对文本的内容进行查找 1) 基础用法 语法 grep 选项 内容|正则表达式 文件选项: -i 不区分大小写 -v 排除,反选 -n 显示行号 -c 统计个数查看文件里包含有的内容 [roo…

PE文件学习

一、介绍 PE文件,即Portable Executable文件,是一种标准的文件格式,主要用于微软的Windows操作系统上。这种格式被用来创建可执行程序(如.exe文件)、动态链接库(.DLL文件)、设备驱动&#xff0…

每日一练:攻防世界:Hidden-Message

追踪UDP数据流,没有任何隐藏信息: WP: 观察流量包 每个流的唯一的区别就是UDP的源地址srcport的最后一位在变化 都提取出来就是二进制序列 用tshark提取一下 //使用tshark过滤出源端口,使用cut裁取端口的最后一位 tshark -r 8…

金融(基金)行业信创国产化特点及统一身份认证解决方案

金融业在政策支持及自主驱动下,金融信创取得快速发展。从2020年开始,三期试点已扩容至5000余家,进入全面推广阶段。而基金行业信创建设与银行、证券、保险这些试点行业相比,进展较为缓慢。 基金行业信创当前面临的问题 与多家基…

开源的基于图像识别本地实名认证系统(本项目不借助任何api) v1.0

前言: 本项目主要是代替昂贵的实名认证服务api或者sdk,目前仍然存在很多缺点 一、具体介绍 1.组成: 人脸识别服务器分为两部分: (1)、http服务端 server.py共有四个函数: DrawFaceinIdCard:用户上传身份证图片后,服务端会对身份证进行抠人像和ocr处理…

基于改进高斯-拉普拉斯滤波器的一维时间序列平滑与降噪(MATLAB)

以图像处理为例,拉普拉斯算子是基于图像的二阶导数来找到边缘并搜索过零点,传统的拉普拉斯算子常产生双像素宽的边缘,对于较暗区域中的亮斑进行边缘检测时,拉普拉斯运算就会使其变得更亮。因此,与梯度算子一样&#xf…

Linux高并发服务器开发(十一)UDP通信和本地socket通信

文章目录 1 TCP和UDP的区别2 UDPAPI流程服务端流程客户端流程 代码服务端客户端 3 本地socket通信服务端客户端客户端代码 1 TCP和UDP的区别 2 UDP API 流程 服务端流程 客户端流程 代码 服务端 #include<sys/socket.h> #include<stdio.h> #include<arpa/in…

二叉树与堆相关的时间复杂度问题

目录 满二叉树与完全二叉树高度h和树中节点个数N的关系 向上调整算法&#xff1a; 介绍&#xff1a; 复杂度推导&#xff1a; 向下调整算法&#xff1a; 介绍&#xff1a; 复杂度推导&#xff1a; 向上调整建堆&#xff1a; 介绍&#xff1a; 复杂度推导&#xff1a;…

利用Arcgis绘制克吕金插值图

工作中我们常用到克吕金插值图&#xff0c;下面简单介绍下使用Arcmap绘制克吕金插值图的方法及注意事项&#xff0c;希望能帮到大家。 一、准备工作 软件&#xff1a;Arcgis 数据&#xff1a;点图层、研究范围 二、操作步骤 1 添加数据 打开Arcmap&#xff0c;从添加位置将…

JAVA数字化产科管理平台源码:涵盖了孕妇从建档、产检、保健、随访、分娩到产后42天全流程的信息化管理

JAVA数字化产科管理平台源码&#xff1a;涵盖了孕妇从建档、产检、保健、随访、分娩到产后42天全流程的信息化管理 智慧产科管理系统是基于自主研发妇幼信息平台&#xff0c;为医院产科量身打造的信息管理系统&#xff0c;涵盖了孕妇从建档、产检、保健、随访、分娩到产后42天全…

企商在线出席2024全球数字经济大会城市副中心论坛

2024年7月3日&#xff0c;2024全球数字经济大会城市副中心论坛“数字基础设施绿色创新发展分论坛”在北京市通州区成功举办。企商在线产品及解决方案总监孙杰受邀出席本次会议&#xff0c;并参与圆桌对话环节&#xff0c;分享“绿色”发展思路与经验。 2024全球数字经济大会城市…

身边有填报志愿需求别错过!张雪峰透露今年志愿填报技巧:报专业,别报行业!(文末附稳定高薪专业推荐)

高考填报志愿是每个考生和家长都要面对的重大抉择。在当前就业形势日趋严峻、部分行业发展前景不明朗的大背景下,考生在填报志愿时更需要全面了解各个专业的就业前景,理性权衡自身兴趣特长与社会需求&#xff0c;而不是盲目跟风报考所谓的"热门专业"。 今天跟大家分…

期权开户零门槛怎么操作?期权不满50w的开户方式

今天带你了解期权开户零门槛怎么操作&#xff1f;期权不满50w的开户方式。在股票期权市场上&#xff0c;期权交易是一种非常受欢迎的投资方式。它不仅可以增加投资组合的多样性&#xff0c;还可以为投资者提供一定的保护和利润机会&#xff0c;比如通过买入认股期权做空对冲大盘…

如何选择视频号矩阵系统:打造高效短视频内容生态的指南

在短视频内容创作和分发的热潮中&#xff0c;视频号矩阵系统作为一种高效的管理工具&#xff0c;受到了越来越多创作者和品牌的青睐。它通过集中管理多个视频号&#xff0c;优化内容发布流程&#xff0c;帮助用户提升工作效率和内容影响力。本文将探讨如何选择一个合适的视频号…

振弦采集仪的工程安全监测实践与案例分析

振弦采集仪的工程安全监测实践与案例分析 振弦采集仪是一种常用的工程安全监测仪器&#xff0c;通过测量被监测结构的振动频率与振型&#xff0c;可以实时监测结构的安全状况。本文将结合实践经验和案例分析&#xff0c;探讨振弦采集仪在工程安全监测中的应用。 一&#xff0c…

欢乐钓鱼大师游戏攻略:在什么地方掉称号鱼?云手机游戏辅助!

《欢乐钓鱼大师》是一款融合了休闲娱乐和策略挑战的钓鱼游戏。游戏中的各种鱼类不仅各具特色&#xff0c;而且钓鱼过程充满了挑战和乐趣。下面将为大家详细介绍如何在游戏中钓鱼&#xff0c;以及一些有效的钓鱼技巧&#xff0c;帮助你成为一个出色的钓鱼大师。 实用工具推荐 为…

io_contextttttttttttt

创建上下文——io_context_t 它是一个上下文结构&#xff0c;在内部它包含一个完成队列&#xff0c;在线程之间是可以共享的。 提交请求——iocb io回调数据结构&#xff0c;和io_submit配合使用。 处理结果 通过io_event处理结果&#xff0c; struct io_event {void *data…

【刷题汇总--Fibonacci数列、单词搜索、杨辉三角】

C日常刷题积累 今日刷题汇总 - day0041、Fibonacci数列1.1、题目1.2、思路1.3、程序实现 2、单词搜索2.1、题目2.2、思路2.3、程序实现 3、杨辉三角3.1、题目3.2、思路3.3、程序实现 - 蛮力法3.4、程序实现 - vector3.5、程序实现 - dp 4、题目链接 今日刷题汇总 - day004 1、…