瑞芯微RK3506開(kāi)發(fā)板必備攻略之Qt應用開(kāi)發(fā)手冊(上),觸覺(jué)智能工控嵌入式方案商
Qt是基于C++ 的跨平臺開(kāi)源應用程序開(kāi)發(fā)框架,專(zhuān)注于圖形用戶(hù)界面和非GUI程序的構建。它提供豐富的GUI控件庫和高級功能模塊(如網(wǎng)絡(luò )通信、數據庫訪(fǎng)問(wèn)、多媒體處理),并采用獨特的信號與槽機制實(shí)現高效組件通信。支持OpenGL、Vulkan等圖形接口,以及針對嵌入式系統的EGLFS無(wú)窗口模式和LinuxFB幀緩沖等,開(kāi)發(fā)者可根據目標平臺選擇靈活的渲染策略。本文基于觸覺(jué)智能RK3506星閃開(kāi)發(fā)板Ubuntu系統進(jìn)行演示,配套RK3506核心板(3核A7@1.5GHz+M0@200MHz多核異構)寬溫級59元/工業(yè)級68元,一片也是含稅批量?jì)r(jià)。
Ubuntu SDK安裝與環(huán)境搭建
SDK安裝
網(wǎng)盤(pán)下載路徑:Linux>4.軟件資料>QT-SDK/Ubuntu
資料鏈接請進(jìn)入觸覺(jué)智能官網(wǎng),或聯(lián)系客服13423856106獲取。
注意:
1. QT-SDK 采用交叉編譯,所以要在 X86_64 電腦上使用 SDK,不要將 SDK 下載到板子上。
2. 編譯環(huán)境請使用 Ubuntu22.04(真機或 docker 容器),如果使用其他版本可能導致編譯出錯。
3. 不要在虛擬機共享文件夾以及非英文目錄存放、解壓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目錄下,執行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
注意:根據安裝路徑的不同,導致qmake和arm-none-linux-gnueabihf-gcc的路徑也是不同的。
Qt交叉編譯
Qt源碼demo
將Qt demo 解壓到當前路徑下,命令如下:
$ 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
由此可見(jiàn)編譯后生成moveblocks可執行程序,可以通過(guò)ssh等方式將可執行程序傳到開(kāi)發(fā)板中運行。
Qt驗證
將demo傳到開(kāi)發(fā)板上,命令如下:
$ adb push Z:\moveblocks /tmp
運行demo,命令如下:
$ chmod a+x /tmp/moveblocks
$ /tmp/moveblocks
結果展示:
*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。