RK3562 单板机图形用户界面开发完全手册:Qt Creator 配置与 LVGL 案例详解(一)
前言本文档提供基于Qt和LVGL的图形用户界面(GUI)的开发说明。其中Qt开发包含基于命令行和QtCreator的开发方式,以及Qt程序的开机自启动方法;LVGL开发仅提供基于命令行的开发方式。Qt和LVGL在跨平台支持和开源特性上有相似之处,但在目标平台、资源占用、编程语言、功能丰富度、授权方式和应用场景等方面存在明显差异,具体如下。
https://file1.elecfans.com/web3/M00/4C/23/wKgZPGmfvIyAT39CAABklIJ2i6I721.png
开发环境Windows开发环境:Windows10 64bit、Windows7 64bit
Linux开发环境:VMware16.2.5、Ubuntu20.04.6 64bit
系统版本:Tronlong-Desktop 20.04(类Ubuntu)、Linux-5.10.209、U-Boot-2017.09
sysroot:rk3562-Tronlong-Desktop-20.04-sysroot-[版本号].tar.gz
应用开发交叉编译工具:gcc-aarch64-linux-gnu_9.4.0.tar.gz
LVGL版本:8.3.0
Qt版本:5.15.10
备注:本文基于2GByte LPDDR4X、16GByte eMMC配置单板机进行演示。
术语表为便于阅读,下表对文档出现的关键术语进行解释;对于广泛认同释义的术语,在此不做注释。
https://file1.elecfans.com/web3/M00/4C/23/wKgZO2mfvJOACvWrAAArB5XFpHU427.png
Qt组件支持Qt组件支持情况如下,详情请查看产品资料“4-软件资料\Linux\Filesystem\rootfs-feature-support”文件。
https://file1.elecfans.com/web3/M00/4C/23/wKgZPGmfvJmAFrGaAAA8hQMoJL4576.png
注意事项无特殊说明情况下,本文默认从eMMC启动系统,使用DEBUG作为调试串口,使用欣瑞达的XT070YTA23R_A6 LVDS电阻屏作为显示输出。
https://file1.elecfans.com/web3/M00/4C/23/wKgZO2mfvKSAbe4EARJRR1SxJM4852.png图1
如需使用网络调试Qt工程,请将单板机通过路由器与PC机进行网络连接,并确保上位机Ubuntu系统可正常访问互联网。
1 Qt开发说明Qt开发环境主要包括Qt Creator工具、X86端Qt环境、ARM端Qt环境、交叉编译工具链等。当用户使用Qt Creator工具和X86端Qt环境编写并编译Qt工程后,生成的Qt程序镜像仅可在X86端运行。必须使用适配单板机的ARM端Qt环境、交叉编译工具链编译Qt工程,生成的Qt程序镜像方可在ARM端(即单板机)上正常运行。
我司提供的rk3562-Tronlong-Desktop-20.04-sysroot-[版本号].tar.gz压缩包已提供适配单板机的ARM端Qt环境(Qt 5.15.10,含qmake工具),请先参考《应用开发手册》的“开发环境搭建说明”章节安装应用开发交叉编译工具链、sysroot压缩包。可基于命令行或Qt Creator工具对已有Qt工程进行编译,生成ARM端Qt程序镜像。
我司提供的Qt工程位于产品资料“4-软件资料\Demo\qt-demos\”目录下,其中src目录下包含Qt工程源码,bin目录下包含ARM端Qt程序镜像。请将整个qt-demos文件夹拷贝至Ubuntu工作目录下,如下图所示。
https://file1.elecfans.com/web3/M00/4C/23/wKgZO2mfvWGAPEumAABYhOogezU118.png图2
1.1 基于Qt Creator开发1.1.1 安装Qt Creator工具Qt Creator是一款专为Qt框架设计的跨平台集成开发环境(IDE),提供代码编辑、调试、项目管理和界面设计等功能,支持高效开发Qt应用程序。
执行如下命令,安装Qt Creator。
Host# sudo apt install qtcreator
https://file1.elecfans.com/web3/M00/4C/23/wKgZO2mfvWuAK6hHAAE4yusWSkk076.png图3
https://file1.elecfans.com/web3/M00/4C/23/wKgZPGmfvWuAPRCxAABVY8ndNYA359.png图4
执行如下命令,查看Qt Creator版本。
Host# qtcreator -version
https://file1.elecfans.com/web3/M00/4C/23/wKgZPGmfvYiAQNibAAB01ejgfRI681.png图5
执行如下命令,安装GNU调试器。
Host# sudo apt install gdb-multiarch
https://file1.elecfans.com/web3/M00/4C/23/wKgZO2mfvdWAcfICAAEt193iGqI240.png图6
执行如下命令,查看调试器版本。
Host# gdb-multiarch --version
https://file1.elecfans.com/web3/M00/4C/23/wKgZO2mfvd6ABiuqAAB9PZUiD58562.png图7
执行如下命令,加载环境变量。
Host# source /home/tronlong/RK3562/environment
https://file1.elecfans.com/web3/M00/4C/24/wKgZPGmfwACAFi9mAAAoXdR1Fcs874.png图8
1.1.2 配置交叉编译工具链执行如下命令启动QtCreator。
Host# qtcreator
https://file1.elecfans.com/web3/M00/21/B1/wKgZO2hk1eSAYdcxAAARo3XYpH0492.png图9
启动Qt Creator工具后,点击菜单栏"Tools -> Options…"。
https://file1.elecfans.com/web3/M00/4C/24/wKgZPGmfwBCAdIE0AAFbNTHUmWw505.png图10
点击"Kits",打开配置选择页面。
https://file1.elecfans.com/web3/M00/21/B1/wKgZO2hk1gWAIZDKAAEImCfM-iQ268.png图11
点击"Compilers -> Add -> GCC -> C++ -> Browse…",选择平台交叉编译工具链中的aarch64-linux-gnu-g++,然后点击Open确认。具体路径为:
/usr/bin/aarch64-linux-gnu-g++
https://file1.elecfans.com/web3/M00/1C/A6/wKgZO2g5YPOASTgRAAGiUrH7HUU034.png图12
https://file1.elecfans.com/web3/M00/4C/24/wKgZO2mfwC-AX4CBAAJ5q5ZhMnY370.png图13
选择后,Name修改为"RK3562-GCC",ABI选择"arm-linux-generic-elf-64bit",再点击Apply,如下图所示。
https://file1.elecfans.com/web3/M00/4C/24/wKgZO2mfwDiABerwAAHSgbn8tIE847.png图14
1.1.3 配置Debuggers点击"Debuggers -> Add -> Browse…",选择GNU调试器,然后点击Open确认。具体路径为:
/usr/bin/gdb-multiarch
https://file1.elecfans.com/web3/M00/4C/24/wKgZPGmfwD6AGU24AAF2jFBMAvE629.png图15
https://file1.elecfans.com/web3/M00/4C/24/wKgZO2mfwEWAH_l1AAJew_9cJi0733.png图16
选择后,Name修改为"gdb-multiarch",再点击Apply,如下图所示。
https://file1.elecfans.com/web3/M00/4C/24/wKgZPGmfwE2ASsrgAAGQ7DXz-Bo238.png图17
1.1.4 配置Qt Versions点击"Qt Versions -> Add",选择平台qmake,然后点击Open确认。具体路径为:
/home/tronlong/RK3562/sysroots/x86_64-linux/bin/qmake
https://file1.elecfans.com/web3/M00/4C/24/wKgZO2mfwFaAReuHAAErZmoaL-A587.png图18
https://file1.elecfans.com/web3/M00/4C/24/wKgZPGmfwF6ANhstAACha0gD-no369.png图19
选择后,Version name修改为"RK3562-qt5"再点击Apply,如下图所示。
https://file1.elecfans.com/web3/M00/4C/24/wKgZO2mfwGaAFFuuAAFt9ZyRc2c332.png图20
1.1.5 配置Kits请参照下图配置Kits各选项。点击"Kits -> Add",将Name修改为"RK3562",Device type选择"Generic Linux Device",Compiler的C++选择"RK3562-GCC",Debugger选择"gdb-multiarch",Qt version选择"RK3562-qt5",点击Apply,然后点击OK完成配置。
https://file1.elecfans.com/web3/M00/4C/24/wKgZPGmfwIWAMzNwAAH71tv44fM382.png图21
1.1.6 编译Qt工程本章节以led_control案例为例,演示基于Qt Creator工具开发Qt程序的方法。
请在Qt Creator界面,点击"Open"。
https://file1.elecfans.com/web3/M00/4C/24/wKgZPGmfwI6ARCVqAAEgS3GIlRw475.png图22
选中Qt工程源码目录的led_control.pro文件,点击Open。
https://file1.elecfans.com/web3/M00/4C/24/wKgZPGmfwJSAH14_AACcQgvpyFE911.png图23
勾选RK3562平台Kits,点击"Browse…"选择Qt程序镜像生成的路径,选择好后点击"Open",如下图所示。
https://file1.elecfans.com/web3/M00/4C/24/wKgZO2mfwJ2AdHc5AAIKmFapm20624.png图24
https://file1.elecfans.com/web3/M00/4C/24/wKgZPGmfwJ2ANqzMAACe4-gYqHI516.png图25
点击"Configure Project"进行工程配置,如下图所示。
https://file1.elecfans.com/web3/M00/4C/24/wKgZPGmfwL2APro_AAIEOafFM2k239.png图26
右击Qt工程,点击Build进行Qt工程编译,生成可在单板机上正常运行的ARM端Qt程序镜像,如下图所示。
https://file1.elecfans.com/web3/M00/4C/24/wKgZPGmfwMiAOvuHAAH8gJcOO6k059.png图 27
https://file1.elecfans.com/web3/M00/4C/24/wKgZO2mfwMiAePP9AAM9_dFhIRs141.png图28
编译完成后,将生成可在单板机上运行的ARM端Qt程序镜像,如下图所示。
https://file1.elecfans.com/web3/M00/4C/24/wKgZO2mfwNaADCGDAABUm5zRQ8s912.png图29
页:
[1]