高效开发 | 瑞迅基于瑞芯微系列主板QT移植部署(上)

描述

 

在嵌入式开发的浪潮中,RK3568平台以其强劲性能成为诸多领域的宠儿,而QT凭借出色的跨平台特性和丰富功能,是界面开发的利器。将 QT5 移植到 RK3568 平台的深度融合,是嵌入式硬件标准化与软件开发模块化的必然趋势,这一技术组合将成为连接 “硬件算力” 与 “用户体验” 的核心纽带,推动更多智能设备从 “功能可用” 迈向 “体验卓越”。

 


 

瑞迅RK3568主板移植部署QT5技术实操如下


 

技术分享


 

一、下载QT5源码

下载地址:https://download.qt.io/archive/qt/


 

 

 

二、QT配置和编译

 

 

1.解压后进入源码路径。创建一个autoconfig.sh。编辑内容

瑞芯微


 

这里面有两个参数需要注意

-sysroot 指定目标根文件系统位置。这里可以将整个文件系统copy到sysroot指定的目录下,然后修改里面库的符号链接为相对路径,要不然编译过程中会提示无法找到相关库问题。


 

 

 

-prefix 指定编译完成后make install时的安装位置,如果系统中指定了sysroot参数,那么安装位置为sysroot+prefix。利用默认的安装位置时可以不用指定prefix参数。


 

 

 

-extprefix 这个参数和prefix 的作用差不多,只不多extprefix 指定的安装路径位置不添加sysroot指定的路径,例如:-extprefix /opt/qt5.12.11-aach64 那么make install后安装位置为编译主机的/opt/qt5.12.11-aach64目录中。


 

 

 

注:make install的具体安装位置可以在配置命令执行完成的log中看到。

 

 

瑞芯微


 

2.修改编译工具链

 

 

修改文件:qtbase/mkspecs/linux-aarch64-gnu-g++/qmake.conf。这个需要根据自己目标机器的cpu架构进行修改。我用的是arm64的cpu,这里具体用哪个文件下的qmake.conf是和配置中的-xplatform参数对应的。

 

 

瑞芯微

这里可以修改成交叉编译工具链的绝对路径。


 

 

 

3.添加QT支持OpenGL es2和eglfs库的路劲和头文件

瑞芯微


 

4.执行编译
经过上面的修改后执行下面命令执行配置和编译

 

 

瑞芯微


 

如果配置过程中出错,需要先删除config.log和config.cache在重新执行autoconfig.sh进行配置。

 

 

配置阶段无误的话下面这几项会被选择

 

 

瑞芯微


 

三、部署

 

 

make install 编译好的QT系统会被安装到extprefix指定的目录中。copy打包这个目录并把它放在目标主机中相同的目录结构下,建议用tar的方式压缩,防止丢失符号链接。

 

 

配置环境变量

 

 

修改/etc/profile文件添加下面环境变量

 

 

瑞芯微


 

QT_QPA_PLATFORM这个环境变量可以不用指定,如果想用eglfs显示可以在运行QT程序的时候增加参数“-platform eglfs”。


 

 

 

如果想在sudo命令下正确的利用eglfs插件显示还需要在 /etc/environment中添加如下两行。

 

 

瑞芯微

另外:如果需要打印更多log可以设置export QT_DEBUG_PLUGINS=1环境变量。


 

四、测试验证

QT源码中有多个例程可以用来验证3D功能。利用编译生成的qmake可以对其进行编译。下面是其中一个例程在机器上的运行效果,另外通过查看GPU的使用率,可以确定硬件加速是否使能。

 

 

瑞芯微
 


 

移植过程中难免会遇到诸多问题,下一期将介绍移植过程中问题解决,欢迎持续关注,共同探讨!

 

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分