Linux 嵌入式Qt/QML开发
Qt是跨平台的,可以很方便的做嵌入式应用。此次需要在开发板上运行Qt应用,包括widget和qml(QQuick)应用
嵌入式Linux
采用这一款基于RK3506G2的开发板,性能强,价格实惠。最主要的是提供了很完整的SDK,用来使用以及linux嵌入式开发的学习都很不错。
产品介绍 | LUCKFOX WIKI

开发工具介绍
下载相关开发工具资料下载 | LUCKFOX WIKI
开发工具(Windows)主要需要用到DriverAssitant-RK驱动助手以及`RKDevTool镜像写入工具,一个是驱动用来检测开发板,另外一个是用来给开发板烧录系统的东西。基本的概念与使用可参考镜像烧录 | LUCKFOX WIKI
SDK介绍
SDK是LUCKFOX基于芯片厂商(Rockchip瑞芯微)SDK对自家板子进行定制开发的,大多能买到的开发板都是类似的结构。下载压缩包后解压,同步repo可以得到这些文件夹。(这些步骤应该好好阅读luckfox wiki)
可以使用根目录下的build.sh脚本执行对内核、uboot、rootfs以及镜像打包等等。使用build.sh默认对所有内容进行编译。也可以单独对某一块进行编译,使用./build.sh help查看所有命令。构建不在此做过多介绍,主要介绍如何使用QT,假设对SDK的基础使用已经有较好的掌握。
Qt开发
该芯片是arm内核,芯片上的linux系统不提供Qt的编译环境,可以在主机上使用交叉编译器(arm-xxxx-linux-gcc…)对Qt应用进行编译。
Buildroot配置
Buildroot 是一个非常强大且流行的工具,用于轻松创建完整、可引导的嵌入式 Linux 系统。它通过自动化下载、配置、编译和链接各种软件包的过程,大大简化了构建自定义 Linux 系统的工作。项目使用buildroot构建一个linux系统,可以同时编译出主机需要的开发工具链以及系统镜像。
在SDK目录下运行./build.sh bulidroot-config或者./build.sh bconfig唤起buildroot配置界面。在buildroot中找到Qt包的位置,打开。
需要注意,luckfox提供的SDK中的buildroot版本在2024左右,相对较老,对于Qt6的适配还不好,其中很多选项没有,可以直接去buildroot官网下载最新的包Buildroot downloads/,将buildroot/packages目录下的qt6替换当前目录下,并且由于新包多了一个host配置,需要在packages目录下的Config.in.host文件末尾添加一句用来加载主机相关的配置。
具体配置可以参考上图配置,测试Widget和QML应用都可以正常运行。
系统编译
buildroot配置好后,回到SDK目录,运行./build.sh对所有内容进行编译。编译过程中可能会报错,有一些坑,不好描述,只能见招拆招,理论不要乱配置都没啥问题。如果编译顺利,可以在<SDK>/output/update/Image目录下找到一个名为update.img的文件,将这个文件使用烧录工具烧录至开发板。
Qt开发
如果顺利编译,buildroot会生成一个交叉编译工具链,可以在主机上用这个工具链对Qt程序进行编译,生成的可执行文件可以直接传输到板子上的系统运行。工具目录在<SDK>/buildroot/output/rockchip_rk3506_luckfox/host/bin/arm-xxxx-linux-gnueabihf-gcc下,这边使用Clion进行开发,配置也很简单。只需要新建一个工具链,并且使用就可以开发,buildroot自建的工具已经把Qt的目录包含
可以从Qt中找一个例程用Clion打开进行编译**(注意主机理论上可以不用在安装Qt)**,也可以自己写一些简单的测试代码,和桌面端开发Qt一模一样,只是不要用不包含在之前配置的工具链中的包。这边编译了一个计算器的程序,编译好后会在工程build目录下生成一个可执行文件,将这个文件传输到开发板上。注意,如果编译的是Qt的一些qml的demo,可能会依赖shared文件夹,将这个文件夹也传入开发板相同的位置
运行
直接运行程序会报一些问题,有三种1.语言不对(可以忽略),2.找不到插件目录,3.找不到输出设备,针对后面两种情况。可以执行脚本,或者直接在终端目录下运行,初始化一些变量
#!/bin/bash
export QT_QPA_PLATFORM_PLUGIN_PATH=/usr/plugins/platforms/
export QT_QPA_PLATFORM=linuxfb
# export QT_QPA_PLATFORM=vnc # 如果没有屏幕,直接使用这一项,可以通过VNC界面

当然实际应用还是要使用屏幕比较好,执行好环境变量配置后,修改可执行文件,让其拥有可执行权限`chmod 777 xxxx。然后使用./xxxx运行文件。如果结果正确,则会在屏幕中显示
演示
上传大小有限制,随便压缩了一下


更多推荐
所有评论(0)