(盈鹏飞嵌入式SBC-T113全志T113-i主板)-Qt5.12图形库配置说明(可选组件)

SBC-T113产品特性:

• 采用Allwinner公司Cortex-A7双核T113-i处理器,运行最高速度为1.2GHZ;

• 内置64位玄铁C906 RISC-V CPU和 DSP,提供高效的计算能力;

• 支持1080P 视频编码,多格式1080P 60fps视频解码 (H.265,H.264, MPEG-1/2/4)

• 支持LVDS/MIPI-DSI,分辨率最高1920x1080;

• 支持512-1G  Bytes DDR3 SDRAM;

• 支持SPI NAND启动和存储(256MB默认;512MB可选);可选EMMC启动和存储( 4G默认;8GB可选);

• 支持4路USB2.0 HOST和1路OTG,1路I2C,6路UART(RS232), 1路PWM(应用于背光)

• 支持双路CAN BUS通信

• 支持双路以太网,一路10/100M;一路10/100/1000M;

• 标准3.5寸主板, 尺寸为:146*102MM

SBC-T113功能评估图:

Qt5.12图形库配置说明(可选组件):

在T113-i_v1.0目录下执行如下命令编辑"platform/framework/qt/qt-everywhere-src-5.12.5/buildsetup_sf.sh"文件,可对Qt模块进行增加或删减。

备注:若无需编译增加或删减Qt模块,可跳过此章节。

Host$  viplatform/framework/qt/qt-everywhere-src-5.12.5/buildsetup_sf.sh

embfly@embfly-virtual-machine:~/T113/T113-i_v1.0$vi platform/framework/qt/

qt-everywhere-src-5.12.5/buildsetupsf.sh

如需删除Qt模块,在文件中添加“-skip+模块名 \”,例如删除qt3d模块,即“-skip qt3d \”。反之如需添加Qt模块,将“-skip+模块名 \”删除即可。

105-no-strip \

106-pch

107-dbus

108-no-use-gold-linker I

109-no-directfb \

110-no-eglfs \

111-linuxfb

112-no-kms

113-no-opengl

114-no-vulkan

115-no-system-proxies \

116-no-slog2 \

117-no-Pps

118-no-imf \

119-no-Lgmon

120-tslib

121-skip qt3d \

122-skip qtactiveqt \

123-skip qtandroidextras \

124-skip qtcanvas3d

125-skip qtconnectivity \

126-skip qtdatavis3d \

127-skip qtdoc

128-skip qtgamepad

129-skip qtlocation

130-skip qtmacextras

131-skip qtnetworkauth

132-skip qtpurchasing

133-skip qtremoteobjects '

参数解析:

-no:用于禁用某个模块或组件。

-skip:在构建过程中跳过某个组件的代码仓库。

请根据实际需求,删除文件中不需要的Qt模块,保存修改文件后,重新对Qt库进行编译即可。

编译Qt库(可选组件):

在T113-i_v1.0目录下执行如下命令,编译Qt库。

备注:若无需编译生成支持Qt功能的Linux系统镜像,可跳过此步骤。

Host#   ./build.sh qt

embfly@embfly-virtual-machine:~/T113/T113-i_v1.0$./build.sh qt

ACTIONList:mkqt

Executecommand: mkqt

INFO:build Qt ..

INFo:build arm-linux-gnueabi version's Qt

/home/embfly/T113/T113-t_v1.0/platform/framework/qt/qt-everywhere-src-5.12.5

table='/home/embfly/T113/T113-i_v1.0/out/t113_i/sbc-t113_nand/longan/butldroot/butld/butldroot-fs/full_devices_table.txt

make:Leaving directory /home/embfly/T113/T113-i_v1.0/buildroot/buildroot-201902

nake:Enteringdirectory /home/embfly/T113/T113-i_v1.0/platform

INFO:copy the config files form device..

Makefile:35

Makefile:36:/home/embfly/T113/T113-i_v1.0/platform

make:Nothing to be done for 'INSTALLFILES'

make:Leaving directory '/home/embfly/T113/T113-i_v1.0/platform

INFO:pregpu lib...

cp:cannotstat /home/embfly/T113/T113-i_v1.0/platform/core/graphics/gpu_um_pub/mali-bifrost/fbde

v/mali-g31/arm-linux-gnu/lib/*:No such ftle or directory

cp:cannotstat '/home/embfly/T113/T113-i_v1.0/platform/core/graphics/gpu_um_pub/mali-bifrost/fbde

v/mali-g31/arm-linux-gnu/lib/*':No such file or directory

INFO:build buildroot OK.

INFo:build Ot and buildroot Ok.

embfly@embfly-virtual-machine:~/T113/T113-i_v1.0$

执行如下命令,重新压缩根文件系统,将编译Qt生成的相关文件拷贝至文件系统。

Host#   ./build.sh rootfs

QT应用程序在SDK环境中的单独编译并黑盒调试:

我司LinuxSDK源码包提供了一些基于QT的应用程序代码,如果您暂时只是想编译验证他们,可通过如下指令进行编译并放到主板上运行。

我们以先进入到QT程序代码所在的目录SDK/platform/framework/auto/qt_demo(SDK表示的是SDK所在目录,一般是T113-i_v1.0),qt_demo目录下放的是不同的QT演示程序,我们这里以Launcher程序为例:

先进入到Launcher程序代码所在目录,指令如下:

Host$ cd /home/embfly/T113/T113-i_v1.0/platform/framework/auto/qt_demo

Host$cd Launcher/

Host$ls

bin    common image.qrc  Launcher.pro       Makefile      makeLauncher.bak  push_run.bat build  fonts  images     Launcher.pro.user  makeLauncher pushOnly.bat

其中每个QT程序代码目录下,都有单独编译程序的脚本,在Launcher代码中,这个编译脚本是makeLauncher。我们单独指令它就可以编译程序。makeLauncher脚本的内容是:

#!/bin/sh

PATH=$LICHEE_BR_OUT/host/bin/:$PATH

$QT_INSTALL_DIR/bin/qmake -oMakefile Launcher.pro

make -j6

exit $?

另外,每个QT程序代码目录下,也有把程序通过adb上传到主板的脚本和通过adb上传到主板并运行的脚本,在Launcher的代码中,这两个脚本分别是pushOnly.bat和push_run.bat,其中pushOnly.bat的内容如下:

adb shell killall Launcher    注解:先杀掉进程

adb push %~dp0bin/Launcher /   注解:把程序通过adb上传到主板的根目录下

adb shell chmod 777 /Launcher   注解:把程序更改为可运行的

pause

push_run.bat的内容如下:

adb shell killall Launcher  注解:先杀掉进程

adb push %~dp0bin/Launcher/usr/bin/  注解:把程序通过adb上传到主板的/usr/bin目录下

adb shell chmod 777

/usr/bin/Launcher注解:把程序更改为可运行的

adb shell . /etc/qtenv.sh  注解:配置QT运行环境

adb shell ./usr/bin/Launcher 注解:运行该程序

pause

如下我们介绍如何编译程序并把程序发送到主板上运行:

1)配置QT编译环境

Host$ source../../../../../.buildconfig

说明:这个buildconfig位于SDK所在目录,一般是T113-i_v1.0

2)编译QT程序

Host$ ./makeLauncher

3)上传到主板,并运行程序

Host$ ./push_run.bat

注意1:先编译好QT库,才可以进行QT程序的编译。

注意2:关于adb在linux下的安装可参考附录4-Ubuntu下adb工具的安装

注意3:adb可以向主板上传文件,也可以从主板上下载文件,指令如下:

adbpull<主板路径>   <开发主机路径>  从主板上中拉取信息到本地电脑上

adb push <开发主机路径>  <主板路径>  从本地电脑推送信息到主板上

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容