RV搭建嵌入式QT开发环境

安装环境:
Ubuntu18.04
GCC:gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)
CROOSS-tools:gcc version 8.3.0 (crosstool-NG 1.24.0)

下载5.12安装包,解压后修改qmake.conf配置参数,将编译工具修改为交叉编译器

/qt-everywhere-src-5.12.12$ vi qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf
#
# qmake configuration for building with arm-linux-gnueabi-g++
#

MAKEFILE_GENERATOR      = UNIX
CONFIG                 += incremental
QMAKE_INCREMENTAL_STYLE = sublib


QT_QPA_DEFAULT_PLATFORM = linuxfb #eglfs

QMAKE_CFLAGS_RELEASE   += -O2 -march=armv7-a

QMAKE_CXXFLAGS_RELEASE += -O2 -march=armv7-a


include(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)

# modifications to g++.conf
QMAKE_CC           = /home/luckfox/workspace/luckfox-pico/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/bin/arm-rockchip830-linux-uclibcgnueabihf-gcc
QMAKE_CXX          = /home/luckfox/workspace/luckfox-pico/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/bin/arm-rockchip830-linux-uclibcgnueabihf-g++
QMAKE_LINK         = /home/luckfox/workspace/luckfox-pico/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/bin/arm-rockchip830-linux-uclibcgnueabihf-g++
QMAKE_LINK_SHLIB   = /home/luckfox/workspace/luckfox-pico/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/bin/arm-rockchip830-linux-uclibcgnueabihf-g++

# modifications to linux.conf
QMAKE_AR           = /home/luckfox/workspace/luckfox-pico/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/bin/arm-rockchip830-linux-uclibcgnueabihf-ar cqs
QMAKE_OBJCOPY     = /home/luckfox/workspace/luckfox-pico/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/bin/arm-rockchip830-linux-uclibcgnueabihf-objcopy
QMAKE_NM           = /home/luckfox/workspace/luckfox-pico/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/bin/arm-rockchip830-linux-uclibcgnueabihf-nm -P
QMAKE_STRIP        = /home/luckfox/workspace/luckfox-pico/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/bin/arm-rockchip830-linux-uclibcgnueabihf-strip
load(qt_config)

添加编译配置文件
QT_Tools/qt-everywhere-src-5.12.12$ vi build.sh

#!/bin/bash
./configure -prefix /usr/local/Trolltech/QtEmbedded-5.12-arm \
-opensource \
-confirm-license \
-release \
-strip \
-shared \
-xplatform linux-arm-gnueabi-g++ \
-optimized-qmake \
-c++std c++11 \
--rpath=no \
-pch \
-skip qt3d \
-skip qtactiveqt \
-skip qtandroidextras \
-skip qtcanvas3d \
-skip qtdoc \
-skip qtconnectivity \
-skip qtdatavis3d \
-skip qtdoc \
-skip qtgamepad \
-skip qtlocation \
-skip qtmacextras \
-skip qtnetworkauth \
-skip qtpurchasing \
-skip qtremoteobjects \
-skip qtscript \
-skip qtscxml \
-skip qtsensors \
-skip qtspeech \
-skip qtsvg \
-skip qttools \
-skip qttranslations \
-skip qtwayland \
-skip qtwebengine \
-skip qtwebview \
-skip qtwinextras \
-skip qtx11extras \
-skip qtxmlpatterns \
-make libs \
-make examples \
-nomake tools -nomake tests \
-gui \
-widgets \
-dbus-runtime \
--glib=no \
--iconv=no \
--pcre=qt \
--zlib=qt \
-no-openssl \
--freetype=qt \
--harfbuzz=qt \
-no-opengl \
-linuxfb \
--xcb=no \

配置完成后,执行make && sudo make install安装到指定的目录。

luckfox@luckfox:~$ ls /usr/local/Trolltech/QtEmbedded-5.12-arm/
bin  doc  examples  include  lib  mkspecs  plugins  qml
luckfox@luckfox:~$ ls /usr/local/Trolltech/QtEmbedded-5.12-arm/bin/
canbusutil        moc           qdbusxml2cpp  qmake  qmlcachegen       qmllint  qmlpreview  qmltestrunner  rcc        uic
fixqt4headers.pl  qdbuscpp2xml  qlalr         qml    qmlimportscanner  qmlmin   qmlscene    qvkgen         syncqt.pl
luckfox@luckfox:~$
luckfox@luckfox:~$
luckfox@

将配置安装完成的QT环境移植到开发板中。
将lib 和 plugins 移植到开发板中,并配置启动参数。
新建存放QtEmbedded-5.12-arm的目录

luckfox@luckfox:~/workspace/luckfox-pico/output/out/rootfs_uclibc_rv1106$ mkdir -p usr/local/Trolltech/QtEmbedded-5.12-arm

将QtEmbedded-5.12-arm目录中的lib 和 plugins 目录拷贝到需要移植的目录中

:~/workspace/luckfox-pico/output/out/rootfs_uclibc_rv1106/usr/local/Trolltech/QtEmbedded-5.12-arm$ cp -rf /usr/local/Trolltech/QtEmbedded-5.12-arm/lib ./
:~/workspace/luckfox-pico/output/out/rootfs_uclibc_rv1106/usr/local/Trolltech/QtEmbedded-5.12-arm$ ls
lib
:~/workspace/luckfox-pico/output/out/rootfs_uclibc_rv1106/usr/local/Trolltech/QtEmbedded-5.12-arm$
:~/workspace/luckfox-pico/output/out/rootfs_uclibc_rv1106/usr/local/Trolltech/QtEmbedded-5.12-arm$
:~/workspace/luckfox-pico/output/out/rootfs_uclibc_rv1106/usr/local/Trolltech/QtEmbedded-5.12-arm$ cp -rf /usr/local/Trolltech/QtEmbedded-5.12-arm/plugins ./

配置相应的启动文件支持QT
~/workspace/luckfox-pico/output/out/rootfs_uclibc_rv1106$ vi etc/init.d/rcS

~/workspace/luckfox-pico/output/out/rootfs_uclibc_rv1106$ vi bin/qt5

#!/bin/sh

export QTDIR=/usr/local/Trolltech/QtEmbedded-5.12-arm
#set Lib PATH
export LD_LIBRARY_PATH=$QTDIR/lib:/usr/lib:$LD_LIBRARY_PATH
export QT_QPA_PLATFORM=linuxfb:fb=/dev/fb0
export QT_QPA_PLATFORM_PLUGIN_PATH=$QTDIR/plugins

export PATH=$QTDIR/bin:$PATH
export CAMERA_DEVICE=/dev/video3

#export QWS_KEYBOARD=TTY:/dev/tty1

export HOME=/root

/demo_qt5 &

添加执行权限

:~/workspace/luckfox-pico/output/out/rootfs_uclibc_rv1106$ chmod +x bin/qt5

拷贝例程测试是否能够运行QT程序
examples

打包rootfs镜像,烧写到SD卡中
打包前的镜像时间

luckfox@luckfox:~/workspace/luckfox-pico$ ls output/image/rootfs.img -l
-rw-rw-r-- 1 luckfox luckfox 82214912 1221 14:40 output/image/rootfs.img
luckfox@luckfox:~/workspace/luckfox-pico$ ./build.sh rootfs

cp -af /home/luckfox/workspace/luckfox-pico/sysdrv/source/busybox/busybox-1.27.2/_install/* /home/luckfox/workspace/luckfox-pico/sysdrv/out/rootfs_uclibc_rv1106
arm-rockchip830-linux-uclibcgnueabihf-gcc -march=armv7-a -mfpu=neon -mfloat-abi=hard -march=armv7-a -mfpu=neon -mfloat-abi=hard -Os io.c -o out/usr/bin/io

打包后的,单独打包不能生成rootfs.img

luckfox@luckfox:~/workspace/luckfox-pico$ ls output/image/rootfs.img -l
-rw-rw-r-- 1 luckfox luckfox 82214912 1221 14:40 output/image/rootfs.img
luckfox@luckfox:~/workspace/luckfox-pico$

需要
打包整个镜像:
~/luckfox-pico$ ./build.sh firmware
打包是将out目录下的文件夹打包,显示的命令如下:

mkfs.ext4 -d /home/luckfox/workspace/luckfox-pico/output/out/oem -r 1 -N 0 -m 5 -L "" -O ^64bit,^huge_file /home/luckfox/workspace/luckfox-pico/output/image/oem.img "1024M"
mkfs.ext4 -d /home/luckfox/workspace/luckfox-pico/output/out/rootfs_uclibc_rv1106 -r 1 -N 0 -m 5 -L "" -O ^64bit,^huge_file /home/luckfox/workspace/luckfox-pico/output/image/rootfs.img "2048M"
mkfs.ext4 -d /home/luckfox/workspace/luckfox-pico/output/out/userdata -r 1 -N 0 -m 5 -L "" -O ^64bit,^huge_file /home/luckfox/workspace/luckfox-pico/output/image/userdata.img "2048M"

需要打包整个固件才能够生成rootfs.img文件

luckfox@luckfox:~/workspace/luckfox-pico$ ls output/image/rootfs.img -l
-rw-rw-r-- 1 luckfox luckfox 123564032 1222 10:22 output/image/rootfs.img
luckfox@luckfox:~/workspace/luckfox-pico$

烧写rootfs.img文件到SD卡,启动开发板查看配置信息

# ls /usr/local/Trolltech/QtEmbedded-5.12-arm/
lib      plugins

调试方便编写一个运行QT脚本

# chmod +x runPrg

运行QT测试程序,支持QT开发

# ./runPrg
Qt Demo test
^C
#
  • 6
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
为了搭建RV1126的开发环境,你需要按照以下步骤进行操作: 1. 购买RV1126 Linux开发板,可以在以下链接处购买。 2. 在RV1126开发板上安装Ubuntu系统,可以参考第三章RV1126开发环境搭建的手册和视频教程,下载地址在以下链接中提供。 3. 安装好Ubuntu系统后,需要配置环境和安装必要的软件。首先,需要设置Ubuntu的源为合适的源,因为默认的官方源无法满足RV1126的开发环境的需求。你可以按照以下步骤进行设置: - 打开系统设置,找到"关于"选项。 - 在"关于"选项中,可以设置合适的源来适配你的网络位置。 4. 在环境搭建过程中,如果由于网络问题导致依赖包下载错误,你可以手动从对应的网址下载依赖包。建议使用Ubuntu 18.04来进行环境搭建。 请根据上述步骤进行RV1126的环境搭建。如果有任何问题,请留言讨论或查阅提供的资料。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [【正点原子Linux连载】第三章 RV1126开发环境搭建 摘自【正点原子】ATK-DLRV1126系统开发手册](https://blog.csdn.net/weixin_55796564/article/details/128849784)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *3* [RV1126环境搭建](https://blog.csdn.net/weixin_42648781/article/details/126359505)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hdh717

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值