首页 > 系统相关 >韦东山IMX6ULL Linux开发板基于Buildroot系统QT应用环境配置开发运行

韦东山IMX6ULL Linux开发板基于Buildroot系统QT应用环境配置开发运行

时间:2024-07-05 15:58:40浏览次数:22  
标签:Buildroot QT 100ask 开发板 编译 点击 imx6ull 应用环境

@

目录

一. 编译系统

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

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

具体参考第三篇第7章:烧写整个系统或更新部分系统

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

打开烧写工具烧写整个系统:

二. 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程序到开发板

(1)创建工程

在这里我们创建一个文件名为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 拷贝到开发板上:

然后执行该文件:

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

标签:Buildroot,QT,100ask,开发板,编译,点击,imx6ull,应用环境
From: https://www.cnblogs.com/weidongshan/p/18285986

相关文章

  • Qt(二)弹窗类 颜色对话框 字体对话框 资源文件
    文章目录一、QDebug类和QMessagebox类(一)QDebug类:打印调试类(二)QMessagebox类:弹窗类2.修改组件图标(1)通过ui界面(2)通过QIcon的方式(3)通过QPixmap类3.使用示例(1)实例化对象实现2.静态函数版本二、颜色对话框和字体对话框类(一)QColorDialog(二)QFontDialog三、资源文件(一)添......
  • Qt调用Matlab(一)
    目录1概述2创建Qt工程2.1增加Matlab支持3调用Matlab3.1widget.h3.2widget.cpp4运行4.1配置4.2运行1概述  MATLAB是MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融......
  • Qt实现汽车仪表盘
    在UI界面显示中,仪表盘的应用相对比较广泛,经常用于显示速度值,电压电流值等等,最终实现效果如下动态图片(文末提供给源工程下载): 主要包含以下绘制步骤:绘制画布/**绘制画布*/voidWidget::initCanvas(QPainter&painter){//消除锯齿painter.setRenderHint(QPai......
  • qt 入门常用类理解(涉及QMessageBox,Layout,Spacers,Splitter,Buuddy,LoginApp,QFile,
    1.QMessageBoxQMessageBox::Yes QApplication::quit();QMessageBox::exec用于在模态(阻塞式)对话框中显示一个消息框,并等待用户的响应。这个函数通常用于在应用程序中显示消息、警告或询问对话框,并等待用户采取适当的操作后继续执行。int QMessageBox::exec()exec 函数没有......
  • Python基于PyQt5和卷积神经网络分类模型(ResNet50分类算法)实现生活垃圾分类系统GUI界
    说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取。1.项目背景在当今社会,随着人们对环境保护意识的增强以及科技的快速发展,智能化的垃圾分类系统成为了一个热门的研究方向。结合深度学习技术,尤其是先进的图像识......
  • PyQt5入门教程:从安装到构建简单应用
    PyQt5入门教程:从安装到构建简单应用简介PyQt5是一个功能强大的Python绑定库,用于Qt应用程序框架。它允许我们使用Python语言快速开发跨平台的桌面应用程序。本教程将引导你完成PyQt5的安装、配置,并带你创建一个简单的图形用户界面(GUI)应用程序。Part1:安装PyQt5在你的开......
  • 欧拉 EulerOS是华为基于CentOS源代码,面向企业应用环境开发的一个商用Linux发行版。
    欧拉EulerOS是华为基于CentOS源代码,面向企业应用环境开发的一个商用Linux发行版。EulerOSEulerOS是华为基于CentOS源代码,面向企业应用环境开发的一个商用Linux发行版。EulerOS开发者华为技术有限公司作業系統家族Unix ,Linux,CentOS運作狀態活跃源码模式开源软件当前版本2.......
  • Qt Json详细介绍
    一.概念介绍JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,常用于前后端数据传输和存储。它具有以下特点:易读性:JSON使用人类可读的文本格式表示数据,采用键值对的方式组织数据,易于阅读和编辑。轻量级:JSON数据格式较为简洁,不包含冗余信息,适合网络传输和存......
  • QThread::run函数的使用(涉及到QThread::run, Qthread::start,protected,virtual虚函数,o
    RobotCommuServer.h#ifndefROBOTCOMMUSERVER_H#defineROBOTCOMMUSERVER_H#include<QThread>classRobotCommuServer:publicQThread{Q_OBJECTpublic:explicitRobotCommuServer(QObject*parent=nullptr);~RobotCommuServer();void......
  • MQTT专题
    什么是MqttMQTT协议 全称是(MessageQueuingTelemetryTransport),即消息队列遥测传输协议。是一种基于发布/订阅(Publish/Subscribe)模式的轻量级通讯协议,并且该协议构建于TCP/IP协议之上,我们知道TCP协议本身就具有高可靠性的特点,因此基于其上的MQTT协议同样也是具有高可靠、低开......