RK3566 Buildroot QT5移植与测试
Buildroot 是一个用于嵌入式 Linux 系统的工具,它可以帮助你构建定制化的 Linux 系统镜像。Buildroot 支持集成 Qt5 到你的嵌入式 Linux 系统中,并且可以帮助你构建包含 Qt5 应用程序的根文件系统。
一、编译SDK
我们进入SDK目录下
输入以下命令选择泰山派的板级配置与rootfs环境变量。
然后我们开始编译(时间可能有点长,看电脑配置)
注意:要确保所有必要软件都安装了。详细可以看泰山派资料【编译SDK】
以下情况就是编译完成了
二、加载环境变量
我们要执行 buildroot/build/envsetup.sh 本,将其中定义的环境变量、函数等加载到当前 shell 环境中。
注意:我们当前的操作还是在linuxSDK根目录下,不需要进入buildroot目录。如果执行失败则进入root执行
选择65
完整情况:
三、menuconfig菜单添加Qt支持
在SDK根目录下,输入以下命令进行配置
进入以下界面:
方向键 ↑↓ 移动选中 Target packages>敲回车进入
方向键 ↑↓ 移动选中 Graphic libraries and applications (graphic/text)>敲回车进入
进入之后,方向键 ↑↓ 翻动找到 Qt5,按 键盘y键 选中,前面出现 [*] 标志之后,就可以回车进入了。
进入之后将里面的内容修改为下方图片的样子。
[*] Qt5 --->
[*] gui module
[*] widgets module
[*] fontconfig support
[*] GIF support
[*] JPEG support
[*] PNG support
[*] syslog support
[*] Enable Tslib support
[*] qt5serialport
[*] qt5virtualkeyboard
(en_GB) language layouts
Qt5:选择编译 Qt5 库。
- gui module:选择编译 Qt5 的 GUI 模块。
- widgets module:选择编译 Qt5 的 Widgets 模块。
fontconfig support:Fontconfig 是一个用于配置和自定义字体的库,它提供了一种统一的方式来管理系统上安装的字体。启用这个选项可以让 Qt5 库在运行时使用 Fontconfig 来管理字体,这样可以更好地支持字体的配置和渲染。
GIF support:启用对 GIF 图像格式的支持。
JPEG support:启用对 JPEG 图像格式的支持。
PNG support:启用对 PNG 图像格式的支持。
syslog support:启用系统日志支持。
Enable Tslib support:启用对 Tslib 的支持,Tslib 是一个用于触摸屏设备的抽象库。
qt5serialport:选择编译 Qt5 的串口通信模块。
qt5virtualkeyboard:选择编译 Qt5 的虚拟键盘模块。- (en_GB) language layouts:选择英国英语作为默认语言布局。
保存之后(方向键左右选择Save敲回车即可保存),我们可以选择 Exit 返回上一个界面了。
退出 menuconfig 菜单
我们在主菜单也选择Exit 就能退出 menuconfig 菜单了(回到命令行)
四、保存配置
我们保存退出menuconfig菜单后,在SDK根目录下输入以下命令将刚刚保存的配置生效为默认配置
五、编译
开始整体编译,因为之前已经编译过了,所以速度会快得多。
注意:在编译的过程中,会自动下载刚刚我们添加过的模块,例如Qt5会被自动下载。
如果出现下列报错或者下载过慢,请直接在你的windows电脑上下载文件,然后将文件放在buildroot文件夹下的dl文件夹中。
(复制地址到浏览器搜索框)
这种是虚拟机打不开网站所导致的:
完成之后,重新输入 ./build.sh all
即可继续编译。 出现下面这种情况就是编译成功了。
六、测试
成功后,我们在/buildroot/output/rockchip_rk3566/build路径下会找到qt5base-5.15.2文件夹。
在 /buildroot/output/rockchip_rk3566/target 路径下搜索也能找到 qt 相关文件夹和文件,这一点很重要!
七、生成镜像
一切没有问题了,在SDK根目录下输入以下命令生成镜像。
如果只想烧录rootfs.img镜像,这时候就可以去SDK根目录下的rockdev文件夹中寻找rootfs.img烧录即可。
如果想要烧录完整镜像,则可以继续运行下面的命令,即可生成完整的系统镜像(update.img)。
八、烧录镜像
我们生成的镜像都在SDK目录下的rockdev文件夹中,里面就是全部的镜像。
九、编译Qt
将镜像烧录进开发板之后,开发板Qt环境就已经就绪了,接下来就可以开始编译Qt的项目了。
使用buildroot文件中的qmake工具编译Qt项目。
位置在:linuxSDK目录下的/buildroot/output/rockchip_rk3566/build/qt5base-5.15.2/bin/qmake
接下来将项目文件复制到虚拟机中,进行交叉编译,任意位置都可。
如果是win下开发的qt,要将.user文件删除,因为这是Windows环境下的用户配置
这里我提供一个最小的qt程序:
通过网盘分享的文件:简易QT程序
链接: https://pan.baidu.com/s/1mzvrTrDpAqgrqrZPvxjkvg 提取码: 1234
然后我们使用cd命令进入项目文件夹中,在里输入以下命令利用qmake生成Makefile文件:
注意:这里的qmake地址是我自己电脑的绝对路径,仿照我的路径大家自己找一下,不难找。
运行qmake之后,生成了一个Makefile文件。
然后我们make一下,生成可执行程序。
成功之后会在项目文件夹中生成一个可执行文件:
给这个文件加权限。
十、开发板运行Qt程序
我们将虚拟机中的ClockTop文件复制到我们的开发板中,可以使用U盘或者其他工具。
复制到泰山派的文件就是图片中框起来。
复制完成后,我们就可以直接在泰山派中直接运行Qt程序了。
或者
这里的 --platform linuxfb
参数告诉 ClockTop 使用 Linux Framebuffer (linuxfb)作为显示平台。
评论