如题所示,在RK3566的buildroot文件系统下添加qt5模块

1,参考文章2,buildroot配置3, 编译例程4,部署到开发板运行5,修改buildroot默认桌面,设置为qt软件启动

1,参考文章

https://blog.csdn.net/OnlyLove_/article/details/128160695

2,buildroot配置

在泰山派上由于之前已经整体编译过一遍SDK了,所以我是在此基础上进行qt5模块的添加,如果你没有编译过SDK请自行编译一遍:https://lceda001.feishu.cn/wiki/Da5owUV4dipiqUkZycbcxckinvc,关于编译过程中可能产生的问题可以参考这篇文章:https://oshwhub.com/forum/post/14e4b189490c4d3d9ec2142f6751ce15

1,添加qt5

Target packages --->

Graphic libraries and applications (graphic/text) --->

[*] Qt5 --->

![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/aefbe9978e6a41a3a48d23a590f694d8.png)

2,添加qt5的附属模块,否则可能导致下载过不去,会报缺失模块的错误(如果出现缺失模块的错误的话,我暂时没找到解决方法,也是通过重新编译了一个新的buildroot才通过的)

Target packages --->

Graphic libraries and applications (graphic/text) --->

[*] Qt5 --->

[*] gui module

[*] widgets module

[*] GIF support

[*] JPEG support

[*] PNG support

3,保存配置文件 在menuconfig里save保存后,回到终端输入make savedefconfig保存当前配置为默认配置文件,如果出现了Makefile:3: *** “Please use “source buildroot/build/envsetup.sh” to select a buildroot config”。 停止。 的问题按照提示输入source buildroot/build/envsetup.sh,然后选择65即可

3, 编译例程

进到~/SDK_tsPi/buildroot/output/rockchip_rk3566/build/qt5base-5.15.2/examples/widgets/ 目录中选中一个例程,我这里选择的是animation,然后在目录中输入 /home/monisa/SDK_tsPi/buildroot/output/rockchip_rk3566/build/qt5base-5.15.2/bin/qmake animation.pro 选择qmake模块编译工程,编译完成后会生成可执行文件 然后将这个可执行文件拷贝到我们的内存卡中

4,部署到开发板运行

输入./mkfirmware.sh打包文件然后在rockdev目录下找到rootfs.img,打开RKDevTool.exe烧录工具,选择rootfs.img文件烧录到系统中

插入sd卡后将/media/sdcard1/中的文件移到到文件系统里的任意一个地方,我这里移到到了根目录上,然后输入./animatedtiles --platform linuxfb 稍等一下即可运行

./animatedtiles --platform linuxfb

5,修改buildroot默认桌面,设置为qt软件启动

buildroot默认的桌面系统是使用的是weston 在这个启动脚本下,/etc/init.d/S49weston ,所以我们需要修改这个启动脚本,添加我们自己的软件启动

#!/bin/sh -e

### BEGIN INIT INFO

# Provides: weston

# Required-Start: mountvirtfs

# Required-Stop:

# Should-Start:

# Should-Stop:

# Default-Start: 2 3 4 5

# Default-Stop: 0 1 6

# Short-Description: Linux weston daemon

### END INIT INFO

PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin"

# Load default env variables from profiles(e.g. /etc/profile.d/weston.sh)

. /etc/profile

#start_weston()

#{

# /usr/bin/weston&

./animatedtiles --platform linuxfb

#}

#stop_weston()

#{

# killall weston

# killall animatedtiles

#}

#case "$1" in

# start)

# echo -n "starting weston... "

# start_weston

# echo "done."

# ;;

# stop)

# echo -n "stoping weston... "

# stop_weston || true

# echo "done."

# ;;

# restart|reload)

# echo -n "stoping weston... "

# stop_weston && sleep .3

# echo "done."

# echo -n "starting weston... "

# start_weston

# echo "done."

# ;;

# *)

# echo "Usage: $0 {start|stop|restart}"

# exit 1

#esac

exit 0

精彩链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: