计算机系统应用教程网站

网站首页 > 技术文章 正文

562-Qt工程编译说明、GPU核心使用说明

btikc 2025-01-07 11:05:59 技术文章 19 ℃ 0 评论

1基于命令行编译Qt工程

进入image_display工程源码目录,执行qmake命令生成Makefle文件,配置交叉 编译工具链环境变量,再执行make命令编译生成可在评估板上正常运行的ARM端Qt 程序镜像,如下图所示。

Host#cd /home/tronlong/Demo/qt-demos/image_display/sre

Host#/home/tronlong/RK3562/rk3562_Iinux_sdk_release_v1.1.0/buildroot/output/rockchi p_rk3562/host/bin/qmake

Host#export PATH=/home/tronlong/RK3562/rk3562_linux_sdk_release_v1.1.0/buildroot/ output/rockchip_rk3562/host/bin:SPATH

Host#make

2基于Qt Creator工具编译Qt工程

请先自行下载、安装Qt Creator工具至Ubuntu,执行如下命令启动Qt Creator(本 次操作使用Qt Creator版本为4.11.0)。

Host#qtcreator

启动Qt Creator工具后,点击菜单栏"Took >Options."。

点击"Kits",打开配置选择页面

2.1配置交叉编译工具链

点击"Compilers ->Add>GCC >C++Browse.",选择平台交叉编译工具链中的

aarch64-buildroot-inux-gnu-g++,然后点击Open确认。具体路径为:

/home/tronlong/RK3562/rk3562_Iinux_sdk_release_y110/buldroot/outputrockchip_rk3562/host/bin/aa rch64-buildroot-inux-gnu-g+

选择后,Name修改为"3562-GCC",ABI选择”arm-Iinux-genericelf-64bit",再点击App ly,如下图所示。

2.2配置qt Versions

点击"Qt Versions Add",选择平台qmake,然后点击Open确认。具体路径为: /home/tronlong/RK3562/k3562_linu_sdk_release_y1.1.0/buildroot/output/ockchip_k3562/host/bin/q make

选择后,Version name修改为"3562-q5"再点击Apply.如下图所示。

2.3配置Kits

请参照下图配置Kits各选项。点击Kits >Add",将Name修改为3562",Device ty pe选择"Generic Linux Device",Compiler的C++选择"3562-GCC",Debugger选择"None", Qt version选择"3562-qt5",点击Apply.然后点击OK完成配置。

2.4编译Qt工程

点击"Open Project"。

选中Qt工程源码目录中.pro文件,点击Open.

勾选3562平台Kts,点击"Configure Project"进行工程配置,如下图所示。

右击Qt工程,点击Buld进行Qt工程编译

编译完成后,将生成可在评估板上运行的ARM端Qt程序镜像,如下图所示

3在评估板上运行Qt程序

评估板上电启动,进入评估板文件系统,将ARM端Qt程序镜像拷贝至评估板文件系 统任意目录下,同时将image_dsplay工程bin日录下文件名为test jpg的JPG格式图片拷 贝至相同路径。请在Qt程序镜像所在路径下执行如下命令。

(1)查看程序运行参数。

Target#/image_display

参数解释

image path:图片路径。

rotation:该参数为1,则竖屏显示

(2)横屏显示图片。

执行如下命令,点击全屏显示窗口后,显示屏将显示如下图像,按"Ctrl+C"退出程序。 备注:若打印警告信息"QStandardPaths runtime directory..",忽略该信息即可,不影响程 序运行。

Target#

./image_display ./test.jpg -platform wayland

(3)竖屏显示图片

执行如下命令,显示屏将显示如下图像,按"Crl+C"退出程序。

Target#

./Amage_display test.jpg 1-platform wayland

4Qt程序自启动说明

本章节以led_control案例为例,演示Qt程序自启动功能。led_control案例功能是通 过显示屏在Qt界面上显示LED控制按钮,用于控制LED亮灭。

请将案例bin目录下可执行程序led_control拷贝至评估板文件系统"ete/init.d/"目录。 评估板上电启动进入系统后,执行如下命令,新建一个开机自启动脚本文件。

Tar get# chmod a+x /etc/init.d/led_control Target# vi /ete/init.d/S99led_control

开机自启动脚本文件内容如下:

W/bin/sh sleep 5 .ete/profile /etc/init.d/led_control -platform wayland

添加内容完成后,请保存退出,执行如下命令修改开机自启动脚本文件权限。 Target# chmod a+x /etc/init.d/S99led_control Target# sync

请将评估板断电重启,Qt程序将会自启动:Qt程序运行成功后,可观察到HDMI显 示屏显示LED控制界面,如下图所示。

可通过鼠标点击界面控制LED亮灭,或切换为LVDS LCD、MIPI LCD等显示方式进行 测试。

如需取消评估板Qt程序自启动,请将开机自启动脚本文件删除即可 Target# rm /etc/init.d/S99led_control

5 GPU核心使用演示案例

本章节通过texture案例,演示基于Qt+OpenGL调用GPU核心进行图形渲染。

5.1案例说明

本案例使用Qt提供的OpenGL模块,该模块是对OpenGL原生API进一步的封装并支 持GUI编程,使得在Qt应用程序中使用OpenGL变得更加容易

Qt程序在调用OpenGL模块的API时,会调用官方提供的OpenGL库,该库通过底层 驱动调用GPU资源来进行图像的渲染。

5.2案例测试

进入评估板文件系统,将texture案例的ARM端Qt程序镜像拷贝至评估板文件系统 任意目录下。请在Qt程序镜像所在路径下执行如下命令。

Target# ./textures -platform waybnd

Qt程序运行后,显示界面如下,使用鼠标点击任意一个骰子,被选中的骰子将自动 进行旋转。

5.3关键代码

(1)初始化主窗口,创建6个Qopenglwidget.并开启定时器。

(2)初始化OpenGL资源。

(3)处理QMouseEvent事件

(4)使用OpenGL进行绘制。

(5)OpenGL部件大小调整时,触发resizeGL事件。




Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表