0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

创龙 瑞芯微 RK3588 国产2.4GHz八核 工业开发板—Qt工程编译、GPU核心使用说明

Tronlong创龙科技 来源:Tronlong创龙科技 作者:Tronlong创龙科技 2025-09-29 14:16 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

前 言

为助力开发者高效开展创龙科技研发评估板的 Qt 应用开发,本文聚焦 Qt 工程编译与 GPU 核心应用,详解两种编译方式的配置与操作步骤,说明 Qt 程序在评估板的运行与自启动方法,同时通过案例演示 GPU 图形渲染功能,帮助开发者快速掌握相关技术要点,为评估板 Qt 应用开发与性能优化奠定基础。

本文档主要说明如何将已有Qt工程进行编译,生成可在评估板上正常运行的ARM端Qt程序镜像。

Qt开发环境主要包括Qt Creator工具、X86端Qt环境、ARM端Qt环境、交叉编译工具链等。当用户使用Qt Creator工具和X86端Qt环境编写并编译Qt工程后,生成的Qt程序镜像仅可在X86端运行。必须使用适配评估板的ARM端Qt环境、交叉编译工具链编译Qt工程,生成的Qt程序镜像方可在ARM端(即评估板)上正常运行。

LinuxSDK开发包中已提供适配评估板的ARM端Qt环境(Qt-5.15.8),请先参考Debian系统使用手册安装、编译LinuxSDK,构建适配评估板的交叉编译工具链和qmake工具。可基于命令行或Qt Creator工具对已有Qt工程进行编译,生成ARM端Qt程序镜像。

创龙科技提供的Qt工程位于产品资料“4-软件资料Demoqt-demos”目录下,其中src目录下包含Qt工程源码,bin目录下包含ARM端Qt程序镜像。请将整个qt-demos文件夹拷贝至Ubuntu工作目录下,如下图所示。

wKgZPGjaIjKAA9FTAAB9eE4yGXw305.png图 1

本文档以image_display工程为例进行演示,此工程的功能是通过显示屏在Qt界面上显示图片内容,并可实现竖屏显示功能。

基于命令行编译Qt工程

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

Host# cdqt-demos/image_display/src/

Host# source /home/tronlong/RK3588/rk3588_linux_release_v1.2.1/debian/sysroots/environment

Host# /home/tronlong/RK3588/rk3588_linux_release_v1.2.1/debian/sysroots/x86_64-linux/bin/qmake

Host# make

wKgZO2jaIj2AU9RgAAKgyDCn4gs764.png图 2

wKgZPGjaIj2AZkGTAAHzApwHgEw438.png图 3

基于QtCreator工具编译Qt工程

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

Host# source /home/tronlong/RK3588/rk3588_linux_release_v1.2.1/debian/sysroots/environment

Host# qtcreator

wKgZPGjaIlCAJ8ocAABNJlZNPNg802.png图 4

启动Qt Creator工具后,点击菜单栏"Tools->Options…"。

wKgZO2iG2sCAZkhfAAEaq9C5_4A144.png图 5

wKgZO2jaIlmAHwTFAAD1XlGB61c958.png图 6

配置交叉编译工具链

点击"Compilers->Add->GCC->C++ ->Browse…",选择平台交叉编译工具链中的aarch64-linux-gnu-g++,然后点击Open确认。具体路径为:

/home/tronlong/RK3588/rk3588_linux_release_v1.2.1/extra-tools/gcc-linaro-10.2.1-2021.01-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g+

wKgZPGjaIqGAWvabAAFA-sRLPOs962.png图 7

wKgZO2jaIqGAR0JbAAIjtlmk-LA314.png图 8

选择后,Name修改为"RK3588-GCC",ABI选择"arm-linux-generic-elf-64bit",再点击Apply,如下图所示。

wKgZO2jaIsWARvSPAAIWSMikiCY235.png图 9

配置Qt Versions

点击"Qt Versions->Add",选择平台qmake,然后点击Open确认。具体路径为:

/home/tronlong/RK3588/rk3588_linux_release_v1.2.1/debian/sysroots/x86_64-linux/bin/qmake

wKgZPGjaIs-AHNLYAACGvibnxsE835.png图 10

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

wKgZO2jaItaAWDsJAAFZa0ETaKo284.png图 11

配置Kits

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

wKgZPGjaIvOAEN53AAIay0XX9gk371.png图 12

编译Qt工程

点击"Projects ->Open"。

wKgZPGjaIvqAbZ8zAACtnJ_y-Z4905.png图 13

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

wKgZO2jaIwCADg8_AACPBXxTSEY065.png图 14

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

wKgZO2jaIwiANPxBAAF2XfM5Dr0478.png图 15

右击Qt工程,点击Build进行Qt工程编译。

wKgZO2iG22WAacKZAAF_TT29LOM122.png图 16

wKgZO2jaIxOADy3pAAVq_zJ60dQ246.png图 17

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

wKgZO2jaIy6Acl13AABOtDqheaI939.png图 18

在评估板上运行Qt程序

评估板默认支持HDMI显示,请通过HDMI线将HDMI显示屏与评估板HDMI OUT接口连接。如需全屏显示,请将鼠标与评估板USB2.0 HOST双层任一接口连接,点击窗口栏放大即可。

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

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

Target# ./image_display

参数解释

imagepath:图片路径。

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

wKgZPGjaIziAVQJOAAAPtD_CG74721.png图 19

(2)横屏显示图片。

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

Target# ./image_display ./test.jpg

wKgZPGjaIz-AHuWmAAAJ9O3R0WA124.png图 20

wKgZO2jaIz-AM23vAAHB3WEuBnE086.png图 21

(3)竖屏显示图片。

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

Target# ./image_display test.jpg 1

wKgZO2jaI26AI5iYAAAJ-xwKVl0036.png图 22

wKgZO2jaI26AS0a7AAD0wQpEWQc428.png图 23

Qt程序自启动说明

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

将案例bin目录下可执行程序拷贝至评估板文件系统"/root/"目录下。进入评估板文件系统执行如下命令,在"/etc/default/"目录下新建qtapp文件,并添加如下内容设置Qt程序运行依赖环境变量。

Target# vi /etc/default/qtapp

wKgZPGjaI4CAV8tiAAAGmztZJhE898.png图 24

wKgZO2jaI4CAeyaAAAAg6iXWqWs945.png图 25

UNTIME_DIR=/run/user/0

DISPLAY=":0"

QT_ROOT=/usr/lib/qt-5.15.8

QT_QPA_FONTDIR=/usr/share/fonts

QT_QPA_PLATFORM_PLUGIN_PATH=/usr/lib/qt-5.15.8/plugins

QT_PLUGIN_PATH=/usr/lib/qt-5.15.8/plugins

LD_LIBRARY_PATH=/usr/lib/qt-5.15.8/lib:/usr/lib/qt-5.15.8/plugins/platform

执行如下命令,在"/etc/systemd/system/"目录下新建qtapp.service文件,并添加如下内容设置Qt程序自启动服务依赖关系以及Qt程序的路径。

Target# vi/etc/systemd/system/qtapp.service

wKgZPGjaI8OAZEyDAAAHAJbFKC4238.png图 26

wKgZPGjaI8OAMSQrAAAkMm0Hnmc564.png图 27

[Unit]

Description=Qt App Service

Requisite=display-manager.service

After=display-manager.service

[Service]

EnvironmentFile=-/etc/default/qtapp

ExecStart=/root/led_control -n 2

Restart=always

[Install]

WantedBy=multi-user.target

执行如下命令使能qtapp.service,然后执行reboot命令重启系统,即可从HDMI显示屏看到Qt程序自启动成功。

Target# systemctl enable qtapp

Target# reboot

wKgZPGjaI-mAA19IAAARBrfsZYs001.png图 28

wKgZPGjaI96ALK6eAAAsn11CTe4109.png图 29

如需禁止Qt程序自启动,请执行如下命令。

Target# systemctl disable qtapp

wKgZO2jaI_aAXeA4AAANx_m8eOg631.png图 30

GPU核心使用演示案例

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

案例说明

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

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

wKgZPGjaI_2AfKz4AACpvfGm3VM476.png图 31

案例测试

评估板默认支持HDMI显示,请将HDMI显示器与评估板HDMIOUT接口连接,同时将鼠标与评估板USB2.0 HOST双层任一接口连接。

评估板上电启动,将textures案例的ARM端Qt程序镜像拷贝至评估板文件系统。并执行如下命令运行Qt程序。

Target# ./textures

wKgZO2jaJASAbdYpAAAJytv_mdg134.png图 32

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

wKgZO2jaJAyARhCdAAEugWtGDUI786.png图 33

关键代码

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

wKgZO2jaJBOAIquAAAEIuOkVCgg222.png图 34 window.cpp

(2)初始化OpenGL资源。

wKgZPGjaJBqAEHwSAAFMdrFkoMk883.png图 35 glwidget.cpp

(3)处理QMouseEvent事件。

wKgZO2jaJCGALxDyAADm3BJeetI692.png图 36 glwidget.cpp

(4)使用OpenGL进行绘制。

wKgZO2jaJCeACCNsAAFcMPo0YvA301.png图 37 glwidget.cpp

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

wKgZPGjaJC6Ac0dnAAA5DnNjsvk842.png图 38 glwidget.cpp


审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开发板
    +关注

    关注

    25

    文章

    6121

    浏览量

    113140
  • 瑞芯微
    +关注

    关注

    27

    文章

    699

    浏览量

    53451
  • RK3588
    +关注

    关注

    8

    文章

    491

    浏览量

    7045
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    RK3588 国产2.4GHz 工业开发板—视频图像处理框架

    龙科技研发的 TL3588-EVM 评估依托 RK3588/RK3588J SoC 强大的视频图像处理能力,可满足多场景图像应用需求。为
    的头像 发表于 10-16 11:45 540次阅读
    <b class='flag-5'>创</b><b class='flag-5'>龙</b> <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b> <b class='flag-5'>RK3588</b> <b class='flag-5'>国产</b><b class='flag-5'>2.4GHz</b><b class='flag-5'>八</b><b class='flag-5'>核</b> <b class='flag-5'>工业</b><b class='flag-5'>开发板</b>—视频图像处理框架

    RK3588 国产2.4GHz 工业开发板—调试工具安装

    本文围绕龙科技研发的 RK3588 工业开发板
    的头像 发表于 09-16 14:35 478次阅读
    <b class='flag-5'>创</b><b class='flag-5'>龙</b> <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b> <b class='flag-5'>RK3588</b> <b class='flag-5'>国产</b><b class='flag-5'>2.4GHz</b><b class='flag-5'>八</b><b class='flag-5'>核</b> <b class='flag-5'>工业</b><b class='flag-5'>开发板</b>—调试工具安装

    迅为RK3588开发板Linux安卓麒麟国产工业AI人工智能

    迅为RK3588开发板Linux安卓麒麟国产工业
    发表于 07-14 11:23

    迅为iTOP-3588S开发板核心板引脚240PIN全部引出8GB内存32GBEMMC存储

    性能强 iTOP-3588S开发板采用RK3588S处理器,是全新一代AloT高端应用芯片
    发表于 06-23 11:19

    iTOP-3588S开发板核心架构GPU内置GPU可以完全兼容0penGLES1.1、2.0和3.2。

    性能强 iTOP-3588S开发板采用RK3588S处理器,是全新一代AloT高端应用芯片
    发表于 05-15 10:36

    迅为iTOP-3588开发板/核心板

    性能强 iTOP-3588开发板采用RK3588处理器,是全新- -代AloT高端 应用芯
    发表于 04-16 17:02

    迅为iTOP-RK3588S开发板/核心板RK3588S处理器6TOPS算力内置NPU

    性能强 iTOP-3588S开发板采用RK3588S处理器,是全新一代AloT高端应用芯片
    发表于 04-10 11:13

    iTOP-3588开发板采用RK3588处理器四核心架构GPU内置独立NPU强大的视频编解码

    性能强 iTOP-3588开发板采用RK3588处理器,是全新- -代AloT高端 应用芯
    发表于 04-09 16:09

    国产RK35882.4GHzAI 6T NPU 8K麒麟)工业核心板规格书

    核心板简介龙科技SOM-TL3588是一款基于RK3
    的头像 发表于 03-11 09:12 2575次阅读
    全<b class='flag-5'>国产</b>!<b class='flag-5'>RK3588</b>(<b class='flag-5'>2.4GHz</b><b class='flag-5'>八</b><b class='flag-5'>核</b>AI 6T NPU 8K麒麟)<b class='flag-5'>工业</b><b class='flag-5'>核心板</b>规格书

    迅为iTOP-RK3588S开发板/核心板6TOPS的NPU算力视频编解码8K编码+8K解码

    性能强 iTOP-3588S开发板采用RK3588S处理器,是全新一代AloT高端应用芯片
    发表于 02-20 14:24

    Banana Pi开源社区基于RK3588开发板,DeepSeek开发利器

    BPI-AIM7采用 RK3588,新一代旗舰64位处理器,主频高达
    发表于 02-19 18:27

    Banana Pi开源社区基于RK3588开发板,DeepSeek开发利器

    Banana Pi开源社区基于RK3588开发板,DeepSeek开发利器
    的头像 发表于 02-19 18:25 3201次阅读
    Banana Pi开源社区基于<b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b><b class='flag-5'>RK3588</b><b class='flag-5'>开发板</b>,DeepSeek<b class='flag-5'>开发</b>利器

    迅为RK3588S开发板/核心板介绍

    性能强 iTOP-3588S开发板采用RK3588S处理器,是全新一代AloT高端应用芯片
    发表于 02-13 14:40

    迅为RK35883588S开发板/核心板选型硬件的区别

    S开发板采用RK3588S处理器,是全新一代AloT高端应用芯片,搭载
    发表于 12-20 15:40

    迅为iTOP-RK3588开发板商业级/工业级/国产化/国产化工业级/邮票孔版本以及LPDDR5版本性能首选

    Buildroot等嵌入式系统。 配合全国产版本核心板,实现产品从“硬”到“软”全部国产化。 RK3588-资料赋能 自2022年发布以来,iTOP-
    发表于 12-06 11:15