瑞芯微RK3506開發(fā)板必備攻略之Qt應(yīng)用開發(fā)手冊(上),觸覺智能工控嵌入式方案商
Qt是基于C++ 的跨平臺開源應(yīng)用程序開發(fā)框架,專注于圖形用戶界面和非GUI程序的構(gòu)建。它提供豐富的GUI控件庫和高級功能模塊(如網(wǎng)絡(luò)通信、數(shù)據(jù)庫訪問、多媒體處理),并采用獨特的信號與槽機(jī)制實現(xiàn)高效組件通信。支持OpenGL、Vulkan等圖形接口,以及針對嵌入式系統(tǒng)的EGLFS無窗口模式和LinuxFB幀緩沖等,開發(fā)者可根據(jù)目標(biāo)平臺選擇靈活的渲染策略。本文基于觸覺智能RK3506星閃開發(fā)板Ubuntu系統(tǒng)進(jìn)行演示,配套RK3506核心板(3核A7@1.5GHz+M0@200MHz多核異構(gòu))寬溫級59元/工業(yè)級68元,一片也是含稅批量價。
Ubuntu SDK安裝與環(huán)境搭建
SDK安裝
網(wǎng)盤下載路徑:Linux>4.軟件資料>QT-SDK/Ubuntu
資料鏈接請進(jìn)入觸覺智能官網(wǎng),或聯(lián)系客服13423856106獲取。
注意:
1. QT-SDK 采用交叉編譯,所以要在 X86_64 電腦上使用 SDK,不要將 SDK 下載到板子上。
2. 編譯環(huán)境請使用 Ubuntu22.04(真機(jī)或 docker 容器),如果使用其他版本可能導(dǎo)致編譯出錯。
3. 不要在虛擬機(jī)共享文件夾以及非英文目錄存放、解壓QT-SDK。
下載SDK后,首先校驗MD5值,命令如下:
$ md5sum rk3506-ubuntu22_qt5-sdk.tar.gz
解壓QT-SDK,命令如下:
$ sudo tar -zxvf rk3506-ubuntu22_qt5-sdk.tar.gz -C ./
交叉編譯環(huán)境搭建
進(jìn)入qt sdk目錄下,執(zhí)行install_sdk.sh腳本,進(jìn)行安裝和搭建交叉編譯環(huán)境,具體如下:
$ cd ./rk3506-ubuntu22_qt5-sdk
$ sudo ./install_sdk.sh
$ ./env.sh
$ source ~/.bashrc
搭建環(huán)境后,查看qmake版本和交叉編譯工具鏈版本:
$ arm-none-linux-gnueabihf-gcc -v
Using built-in specs.
COLLECT_GCC=arm-none-linux-gnueabihf-gcc
COLLECT_LTO_WRAPPER=/home/industio/evb3506/arm-gnu-toolchain-11.3.rel1-x86_64-arm-none-linux-gnueabihf/bin/../libexec/gcc/arm-none-linux-gnueabihf/11.3.1/lto-wrapper
Target: arm-none-linux-gnueabihf
Configured with: /data/jenkins/workspace/GNU-toolchain/arm-11/src/gcc/configure --target=arm-none-linux-gnueabihf --prefix= --with-sysroot=/arm-none-linux-gnueabihf/libc --with-build-sysroot=/data/jenkins/workspace/GNU-toolchain/arm-11/build-arm-none-linux-gnueabihf/install//arm-none-linux-gnueabihf/libc --with-bugurl=https://bugs.linaro.org/ --enable-gnu-indirect-function --enable-shared --disable-libssp --disable-libmudflap --enable-checking=release --enable-languages=c,c++,fortran --with-gmp=/data/jenkins/workspace/GNU-toolchain/arm-11/build-arm-none-linux-gnueabihf/host-tools --with-mpfr=/data/jenkins/workspace/GNU-toolchain/arm-11/build-arm-none-linux-gnueabihf/host-tools --with-mpc=/data/jenkins/workspace/GNU-toolchain/arm-11/build-arm-none-linux-gnueabihf/host-tools --with-isl=/data/jenkins/workspace/GNU-toolchain/arm-11/build-arm-none-linux-gnueabihf/host-tools --with-arch=armv7-a --with-fpu=neon --with-float=hard --with-mode=thumb --with-arch=armv7-a --with-pkgversion='Arm GNU Toolchain 11.3.Rel1'
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 11.3.1 20220712 (Arm GNU Toolchain 11.3.Rel1)
$ qmake -v
QMake version 3.1
Using Qt version 5.15.8 in /opt/rk3506/rk3506_ubuntu22_5.15/ext/lib
注意:根據(jù)安裝路徑的不同,導(dǎo)致qmake和arm-none-linux-gnueabihf-gcc的路徑也是不同的。
Qt交叉編譯
Qt源碼demo
將Qt demo 解壓到當(dāng)前路徑下,命令如下:
$ mkdir -p ./qt-demo && tar -xvf moveblocks.tar.gz -C ./qt-demo
$ cd qt-demo
$ ls
main.cpp moveblocks.pro
交叉編譯
命令如下:
$ qmake ./
$ make
$ make install
$ ls
main.cpp Makefile moveblocks moveblocks.pro
由此可見編譯后生成moveblocks可執(zhí)行程序,可以通過ssh等方式將可執(zhí)行程序傳到開發(fā)板中運行。
Qt驗證
將demo傳到開發(fā)板上,命令如下:
$ adb push Z:\moveblocks /tmp
運行demo,命令如下:
$ chmod a+x /tmp/moveblocks
$ /tmp/moveblocks
結(jié)果展示:
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。