【北京迅为】《STM32MP157开发板使用手册》-第十四章 QtE5.12应用开发

iTOP-STM32MP157开发板采用ST推出的双核cortex-A7+单核cortex-M4异构处理器,既可用Linux、又可以用于STM32单片机开发。开发板采用核心板+底板结构,主频650M、1G内存、8G存储,核心板采用工业级板对板连接器,高可靠,牢固耐用,可满足高速信号环境下使用。共240PIN,CPU功能全部引出:底板扩展接口丰富底板板载4G接口(选配)、千兆以太网、WIFI蓝牙模块HDMI、CAN、RS485、LVDS接口、温湿度传感器(选配)光环境传感器、六轴传感器、2路USB OTG、3路串口,CAMERA接口、ADC电位器、SPDIF、SDIO接口等


第五部分 Qt应用开发

第十章 QtE5.12应用开发

14.1 安装QtCreator

注意,如果使用我们已经搭建好的ubuntu系统,不再需要安装QtCreator,安装目录路径为/opt/Qt5.12.10(但是14.5小节直接编译ARM架构程序需要自行配置)。

注意在使用安装好的QtCreator时可能会有以下报错:

需要使用以下命令来安装对应的库。

sudo apt-get install libxcb-xinerama0

将“iTOP-STM32MP157开发板网盘资料汇总\03_文件系统源码和镜像\03_QT5.12文件系统\04_qtcreater软件\qt-opensource-linux-x64-5.12.10.run”拷贝到ubunt18.04虚拟机任意文件夹下,使用命令 “chmod 777 qt-opensource-linux-x64-5.12.10.run”赋予其可执行权限,之后直接使用命令 “./qt-opensource-linux-x64-5.12.10.run”,按提示安装即可。

安装步骤如下: 

点击“Next”。 

我们登录自己的账号或者注册新的账号,如上图所示,填写完成之后点击Next。(这里注册页面可能会出现问题,Next不成功可能需要先点击Back,再点击Next才能进入下一步) 

点击“Next”。 

 

选择安装的路径,点击“Next”。 

 尽可能的够勾选上,点击“Next”。

点击同意协议,然后点击“Next”。 

 等待安装完成。

点击“完成”。

14.2在PC上运行Helloworld

在使用qtcreater软件之前,需要使用以下命令安装几个依赖包,否则可能在接下来的过程中会出现一些问题:

sudo apt-get install g++ build-essential mesa-common-dev libxcb-xinerama0 libglu1-mesa-dev  

 

 使用如下命令进入qtcreator安装目录:

cd Qt5.7.0S/Tools/QtCreator/bin/

然后使用命令“./qtcreator”运行qtcreater :

如下图所示,弹出编译环境。

 

进行如下的选择新建一个工程,如下图所示: 

按上图选择,点击“choose”。 

 

如上工程命名为“helloworld”,重新定义了工程存储目录(用户根据个人习惯设置工程目录)。然后单击“Next”,继续。 

默认为qmake,不用修改,点击Next 

 如上图所示,填写对应的信息,然后点击Next/

如上图所示,不用进行任何修改,直接点击Next下一步即可。

如上图所示,选择支持 Ubuntu 的 GCC 64 位编译器。单击“下一步”,继续。 

 点击“完成”后如下图,新建工程完成。

 

点击“mainwindow.ui”,开始设计UI

Qtcreater的使用可以参考B站视频 【北京迅为】嵌入式学习之QT学习篇_哔哩哔哩_bilibili

我们在设计界面使用“lable”,输入helloworld 并调整到合适大小。

 

做好之后保存,点击运行如下图: 

 

 

14.3 命令行交叉编译Helloworld

qte 的应用移植使用 qmake 前需要先编译 qte 源码,参考第十三章。

接上一小节,如下图,在工程目录下有两个文件夹,一个是直接在 PC 上运行的代码以及应用程序,另外一个是源码。

现在进入如上右边的源码文件夹进行下面几步,就容易理解“为什么 Qt 跨平台非常方便”。 

这个 helloworld 应用相当于已经在 PC 机上调试通过了,现在我们只需要做简单的几步就可以将其移植到开发板iTOP_STM32MP157平台上。

如下图,在第十二章中我们编译生成了“/opt/qt-5.12.10-arm”,这个文件夹包含了移植所需要的最重要的工具 qmake。进入“/opt/qt-5.12.10-arm/bin”,可以看到 qmake 文件。

 

 查看了 qt-5.12.10-arm 的 qmake 之后,再进入 helloworld 的源码文件夹,如下图所示。

然后,在该文件夹中运行 qmake 使用“ /opt/qt-5.12.10-arm/bin/qmake”,如下图所示。 

 如下图,多了一个 Makefile 文件。

然后,执行编译命令“ make”,如下图所示。 

 

生成了“helloworld”。 

 

然后,使用 file 命令测试一下。如下图,“ file helloworld”,可以看到 helloworld 应用文件的基本信息,它是属于 ARM 平台的。 

然后,测试一下 X86 上位机平台的文件,如下图所示,可以观察到明显的不同。 

 

14.4 开发板运行Helloworld

下面介绍一下如何在开发板上运行 编译好的helloworld。

开发板烧写好QtE5.12文件系统,通过nfs或者U盘将helloworld 拷贝到开发板。

然后,如下图所示,在超级终端中,先修改权限“ chmod 777 helloworld”

 

 然后再运行“ ./helloworld -qws”。

 

开发板的屏幕显示如下所示,helloworld 程序就可以开发板上运行了。 

 

14.5 QtCreator直接编译ARM架构程序 

除了通过上一小节通过命令行的操作来编译在开发板上运行的程序, 还可以直接在 qtcreator 上设置,然后每次编译的程序都可以在开发板上运行。

如下图所示,打开 qtcreater 如下图操作。

 

 添加 GCC 编译器,如下图所示。

添加编译器路径,点击 apply 如下图。编译器选择,QTE5.12.10的编译器gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf。 

 

选择 Qt 版本,如下图。 

 

选择 qt5.12.10 的 qmake 路径点击 apply,如下图。 

选择构建套件,如下图。 

配置 QT5.12.10如下图。 

到此配置完成,下面举例。新建工程,起名helloqt

如下图选择 Qt5.12.10。

 

编辑并运行: 

新建终端打开工程目录,ls 查看如下图:

输入“file untitled”查看文件属性,如图:

 

使用nfs或者U盘拷贝到开发板如下图: 

 

使用命令“./untitled”,运行结果如下所示: 

 

 

14.6 Qt5.7测试例程

应用源码请参考网盘“ iTOP-STM32MP157开发板网盘资料汇总\04_测试例程\02_QtE5.12应用例程”中的压缩包。

QtE5.12 例程源码如下:

压缩包“iTOP-STM32MP157-QtE5.12-adc 模数转换_V1.0.zip”,ADC 模数转换测试的例程。

压缩包“iTOP-STM32MP157-QtE5.12-audio 声卡_V1.0.zip”,声卡测试例程。

压缩包“iTOP-STM32MP157-QtE5.12-can 总线_V1.0.zip”,can 总线测试例程。

压缩包“iTOP-STM32MP157-QtE5.12-helloworld_V1.0.zip”,helloworld 测试例程。

压缩包“iTOP-STM32MP157-QtE5.12-photo2 相册_V1.0.zip”,数码相册测试例程。

压缩包“iTOP-STM32MP157-QtE5.12-QTcalculator 计算器_V1.0.zip”,计算器测试例程。

压缩包“iTOP-STM32MP157-QtE5.12-qtclock 时钟_V1.0.zip”,时钟测试例程。

压缩包“iTOP-STM32MP157-QtE5.12-QTsnakegame 贪吃蛇_V1.0.zip”,游戏贪吃蛇测试例程。

压缩包“iTOP-STM32MP157-QtE5.12-QTtextedit 文本阅读器_V1.0.zip”,文本阅读器测试例程。

压缩包“iTOP-STM32MP157-QtE5.12-rtc 实时时钟_V1.0.zip”,实时时钟测试例程。

压缩包“iTOP-STM32MP157-QtE5.12-TCP 通信例程_V1.0.zip”,网络 TCP 通信测试例程。

压缩包“iTOP-STM32MP157-QtE5.12-testfonts 中文字体_V1.0.zip”,中文字体显示测试例程。

压缩包“iTOP-STM32MP157-QtE5.12-Timer 定时器_V1.0.zip”,定时器测试例程。

压缩包“iTOP-STM32MP157-QtE5.12-tuixiangzi 推箱子_V1.0.zip”,游戏推箱子测试例程。

压缩包“iTOP-STM32MP157-QtE5.12-uart 串口_V1.0.zip”,串口测试例程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值