欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

QT移植到RK3568開(kāi)發(fā)板的方法步驟

 更新時(shí)間:2025年03月16日 08:41:34   作者:熱愛(ài)嵌入式的小佳同學(xué)  
本文主要介紹了QT移植到RK3568開(kāi)發(fā)板的方法步驟,文中通過(guò)圖文示例介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

前言

在這里使用的是韋東山老師的RK3568開(kāi)發(fā)板,接下來(lái)我將演示如何移植QT程序到該開(kāi)發(fā)板。

我們需要先搭建開(kāi)發(fā)環(huán)境,編譯 rk3568 Linux SDK資源包。SDK包含了開(kāi)發(fā)rk3568平臺(tái)所需的各種軟件組件、源代碼、工具、庫(kù)、文檔以及示例代碼等。這些資源旨在幫助開(kāi)發(fā)人員基于rk3568芯片進(jìn)行高效的軟件開(kāi)發(fā)、系統(tǒng)定制以及應(yīng)用程序開(kāi)發(fā)。下面將進(jìn)行的操作皆在 Ubuntu20.04 上執(zhí)行。

一、獲取SDK

1. 安裝依賴(lài)

編譯 rk3568 Linux SDK包需要一些依賴(lài),下面將進(jìn)行安裝依賴(lài)操作。

安裝依賴(lài)之前,最好執(zhí)行以下指令更新軟件包:

sudo apt update

安裝依賴(lài):

sudo apt-get install curl python2 git ssh make gcc libssl-dev liblz4-tool expect \
g++ patchelf chrpath gawk texinfo chrpath diffstat binfmt-support qemu-user-static live-build bison \
flex fakeroot cmake gcc-multilib g++-multilib unzip device-tree-compiler python3-pip \
libncurses-dev python3-pyelftools vim mtd-utils

確保所有依賴(lài)安裝完成。

編譯sdk需要用到python3版本,執(zhí)行以下指令切換python版本:

#將python鏈接到python3
sudo ln -sf /usr/bin/python3 /usr/bin/python
#查看默認(rèn)Python版本
python -V

在這里插入圖片描述

2. 獲取SDK資源包

執(zhí)行以下指令獲取百問(wèn)網(wǎng)公司放在遠(yuǎn)程倉(cāng)庫(kù)上的SDK:

git clone https://e.coding.net/weidongshan/dshanpi-r1/rockchip-sdk.git
cd rockchip-sdk/
git clone https://e.coding.net/weidongshan/dshanpi-r1/external.git
git clone https://e.coding.net/weidongshan/dshanpi-r1/kernel.git
git clone https://e.coding.net/weidongshan/dshanpi-r1/u-boot.git
git clone https://e.coding.net/weidongshan/dshanpi-r1/buildroot.git

在這里插入圖片描述

SDK稍微有點(diǎn)大,需要等待一會(huì)時(shí)間。

3. SDK工程目錄介紹

拉取后,可以在當(dāng)前路徑下查看,目錄結(jié)構(gòu)如下:

.
├── app         #存放上層應(yīng)用 app,包括 Qt 應(yīng)用程序,以及其它的 C/C++應(yīng)用程序。													
├── buildroot   #基于 Buildroot(2021)開(kāi)發(fā)的根?件系統(tǒng)
├── build.sh -> device/rockchip/common/scripts/build.sh
├── device
├── envsetup.sh -> buildroot/build/envsetup.sh
├── external    #存放所需的第三方庫(kù),包括音頻、視頻、網(wǎng)絡(luò)、recovery 等。
├── kernel      #Linux 5.10 版本內(nèi)核源碼。
├── Makefile -> device/rockchip/common/Makefile
├── output      #存放編譯輸出固件
├── prebuilts   #存放交叉編譯工具鏈。
├── rkbin       #存放 Rockchip 相關(guān)的 Binary 和工具。
├── rkflash.sh -> device/rockchip/common/scripts/rkflash.sh
├── rockdev -> output/firmware  #編譯SDK后才會(huì)出現(xiàn)		
├── tools       #存放常用的工具,包括鏡像燒錄工具、SD 卡升級(jí)啟動(dòng)制作工具、批量燒錄工具等
└── u-boot      #基于 v2017.09 版本進(jìn)行開(kāi)發(fā)的 uboot 源碼。

4. 獲取補(bǔ)丁包

基于 100ask-rk3568 開(kāi)發(fā)板,百問(wèn)網(wǎng)提供了一個(gè)擴(kuò)展補(bǔ)丁包,執(zhí)行以下指令,獲取擴(kuò)展支持倉(cāng)庫(kù),然后加以應(yīng)用。

cd ~/
git clone https://e.coding.net/weidongshan/dshanpi-r1/RK3568-DshanPI-R1_SDK.git
cd RK3568-DshanPI-R1_SDK
cp ./* -rfvd ~/rockchip-sdk/

復(fù)制的時(shí)候,這里需要注意 rockchip-sdk 路徑的位置。

在這里插入圖片描述

二、編譯固件

1. 選擇板級(jí)配置文件

進(jìn)入 SDK 包根目錄,執(zhí)行以下指令:

./build.sh lunch

選擇 100ask_rk3568_defconfig

在這里插入圖片描述

2. 編譯

在當(dāng)前目錄下,執(zhí)行編譯所有:

./build.sh

這個(gè)過(guò)程耗時(shí)較長(zhǎng),具體多久,根據(jù)電腦性能決定。

在這里插入圖片描述

在這里插入圖片描述

在編譯過(guò)程,可能你會(huì)遇到一下界面:

在這里插入圖片描述

 這里需要選擇相應(yīng)的電壓,根據(jù)以下電壓設(shè)置進(jìn)行選擇:

&pmu_io_domains {
        status = "okay";
        pmuio2-supply = <&vcc3v3_pmu>;
        vccio1-supply = <&vccio_acodec>; /*3v3*/
        vccio3-supply = <&vccio_sd>;     /*3v3*/
        vccio4-supply = <&vcc_1v8>;
        vccio5-supply = <&vcc_3v3>;
        vccio6-supply = <&vcc_1v8>;
        vccio7-supply = <&vcc_3v3>;
};

如果電壓值選擇不正確,會(huì)提示編譯錯(cuò)誤。

3. 打包固件

編譯時(shí)長(zhǎng)較久,等待編譯完成后,SDK 會(huì)自動(dòng)把用于燒錄的鏡像 update.img 打包到 output/update/Image/ 下,如下:

在這里插入圖片描述

4. 配置 Qt5 支持

在 Buildroot 環(huán)境下通過(guò) make menuconfig 配置 Qt5 支持。

首先我們進(jìn)到rockchip-sdk/buildroot/output/rockchip_rk3568_100ask目錄,輸入make menuconfig:

在這里插入圖片描述

配置 QT 支持:

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

配置完后保存并退出:

在這里插入圖片描述

執(zhí)行:

make savedefconfig

然后重新回到剛剛的~/rockchip-sdk目錄編譯固件,等待編譯完成即可。
編譯時(shí)長(zhǎng)較久,等待編譯完成后,SDK 會(huì)自動(dòng)把用于燒錄的鏡像 update.img 打包到 output/update/Image/ 下,跟剛剛一樣。

5. 燒寫(xiě)鏡像

我們可以把鏡像移動(dòng)到 PC 端,燒寫(xiě)鏡像:

在這里插入圖片描述

開(kāi)發(fā)板上電運(yùn)行:

在這里插入圖片描述

在這里插入圖片描述

三、Linux中下載QT

1. 安裝 Qtcreator

QtCreator 下載網(wǎng)址:https://download.qt.io/official_releases/qtcreator/

這里我使用的 qtcreator 版本為 5.12.9:

此安裝過(guò)程類(lèi)似 Windows 下應(yīng)用的安裝方法,一路點(diǎn)擊下一步即可。

chmod +x qt-opensource-linux-x64-5.12.9.run
sudo ./qt-opensource-linux-x64-5.12.9.run

外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳

在這里插入圖片描述

在這里插入圖片描述

安裝成功后打開(kāi)QT,可以直接打開(kāi),也可以通過(guò)命令打開(kāi),命令如下:

./qtcreator.sh &

這里的“&”符號(hào)代表后臺(tái)運(yùn)行, 不占用控制命令終端

在這里插入圖片描述

在這里插入圖片描述

2. 創(chuàng)建第一個(gè)程序

外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳

測(cè)試成功:

在這里插入圖片描述

3. 配置 QtCreator 開(kāi)發(fā)環(huán)境

在這里我們配置 QtCreator 開(kāi)發(fā)環(huán)境主要是為了方便將測(cè)試程序移植到Linux開(kāi)發(fā)板上。

(1)打開(kāi)選項(xiàng)界面

在 QtCreator 界面中,依次點(diǎn)擊 tools -> options:

在這里插入圖片描述

(2)選擇編譯器

在出現(xiàn)的選項(xiàng)對(duì)話框中,在左邊點(diǎn)擊 Kits,右邊選擇 Compilers 標(biāo)簽,并點(diǎn)擊 Add 選擇 Custom->C++ 和 C

在這里插入圖片描述

(3)設(shè)置編譯器

在彈出的對(duì)話框中填寫(xiě)以下內(nèi)容: Compiler path , Make path 和 ABI; 填寫(xiě)完成后,點(diǎn)擊 Apply 進(jìn)行保存。

同理,也設(shè)置Custom->C然后保存,如下圖:

在這里插入圖片描述

在這里插入圖片描述

(4)添加 QT 版本

假設(shè)你已經(jīng)按照上面編譯出了 QT 的 SDK。 以 RK3568 為例,可以在 /home/ubuntu/rockchip-sdk/buildroot 下執(zhí)行這個(gè)命令找到 qmake,記住它的目錄:

find -name qmake

在這里插入圖片描述

添加qmake路徑:在 QT 設(shè)置界面中,選擇 Qt Version 標(biāo)簽,在右側(cè)點(diǎn)擊“Add…”,會(huì)彈出對(duì)話框,切換目錄到選擇 qmake 文件后,點(diǎn)擊 open 按鈕,設(shè)置完成之后,點(diǎn)擊 Apply 按鈕保存。

注意:qmake 文件是 buildroot 編譯根文件系統(tǒng)后生成的,文件在 buildroot 目錄下。

在這里插入圖片描述

(5)配置 kit 標(biāo)簽

繼續(xù)選擇上邊的Kits標(biāo)簽,點(diǎn)擊右側(cè) Add,填寫(xiě)相應(yīng)內(nèi)容:

① Name:輸入rk3568

② Sysroot:輸入交叉編譯工具鏈的目錄

③ compiler:c和c++這兩個(gè)選擇框里,都選擇Custom

④ Qtversio:選擇上圖中配置的“Qt5.15.8 (host) ”

配置完成后點(diǎn)擊apply,點(diǎn)擊OK。

在這里插入圖片描述

四、移植第一個(gè)QT程序到RK3568開(kāi)發(fā)板

1. 創(chuàng)建第一個(gè)移植程序

第1步 新建項(xiàng)目:

運(yùn)行QtCreator后,在菜單欄選擇 File -> New File or Project

選擇項(xiàng)目類(lèi)型:

在打開(kāi)的對(duì)話框中,依次選擇 Application -> Qt Widgets Application ,點(diǎn)擊 Choose… , 如下圖所示:

在這里插入圖片描述

第2步 輸入項(xiàng)目名字、設(shè)置保存位置:

在彈出的Qt Widgets Application對(duì)話框中,設(shè)置項(xiàng)目名稱(chēng)為01_test,Create in一欄填寫(xiě)項(xiàng)目的存儲(chǔ)路徑,點(diǎn)擊Next。如下:

在這里插入圖片描述

第3步 設(shè)置構(gòu)建系統(tǒng),然后點(diǎn)擊 Next 進(jìn)入下一步,如下:

在這里插入圖片描述

第4步 選擇基類(lèi):

當(dāng)前的的應(yīng)用繼承自哪種Widget,默認(rèn)選擇QMainWindow,然后點(diǎn)擊 Next 進(jìn)入下一步。

在這里插入圖片描述

第5步 默認(rèn)none,繼續(xù)點(diǎn)擊next:

在這里插入圖片描述

第6步 選擇之前添加好的 Kits,繼續(xù)點(diǎn)擊next:

在這里插入圖片描述

第7步 完成項(xiàng)目創(chuàng)建:

以上信息填寫(xiě)完后,點(diǎn)擊Finish,完成01_test項(xiàng)目的創(chuàng)建。

在這里插入圖片描述

2. 編譯QT程序

第1步 修改界面:

雙擊左側(cè)的 Forms 里的 mainwindow.ui 文件,打開(kāi) Design 視圖。

然后如下圖所示,從左側(cè)Display Widgets 欄目下,拖動(dòng) Label 和 PushPutton到中間的區(qū)域。

最后雙擊中間區(qū)域的Label還有Push Button 修改內(nèi)容如下圖:

在這里插入圖片描述

第2步 添加測(cè)試代碼:

在這里插入圖片描述

第3步 構(gòu)建:

點(diǎn)擊左下角綠色按鈕:

在這里插入圖片描述

第4步 查看構(gòu)建結(jié)果:

01_test 項(xiàng)目構(gòu)建成功后,可以使用 file 命令查看該 APP 是否被編譯為 ARM 架構(gòu):

在這里插入圖片描述

五、在開(kāi)發(fā)板上運(yùn)行QT程序

1. 在ubuntu下使用ADB

ADB,全稱(chēng)為 Android Debug Bridge,是一個(gè)用于與安卓設(shè)備進(jìn)行通信和調(diào)試的命令行工具,但現(xiàn)在不僅僅是安卓設(shè)備,在嵌入式開(kāi)發(fā)中,很多 Linux 設(shè)備也同樣支持 adb 調(diào)試,例如 Rockchip 平臺(tái)。可以使用這個(gè)工具在Ubuntu上登錄終端,也可以在Windows上登錄終端。

在ubuntu使用ADB步驟如下:
1.打開(kāi)VMware,進(jìn)入ubuntu系統(tǒng),點(diǎn)擊虛擬機(jī)。

在這里插入圖片描述

找到開(kāi)發(fā)板的ADB端口,斷開(kāi)與主機(jī)(windows)的連接連接至ubuntu。

在這里插入圖片描述

下載adb工具:

sudo apt update
sudo apt install adb

下載完成后,執(zhí)行以下指令,查看是否下載成功:

ubuntu@ubuntu2004:~$ adb version
Android Debug Bridge version 1.0.39
Version 1:8.1.0+r23-5ubuntu2
Installed as /usr/lib/android-sdk/platform-tools/adb
ubuntu@ubuntu2004:~$ 

使用adb登錄之前,執(zhí)行以下指令,查看是否能列出開(kāi)發(fā)板設(shè)備并且是否可用。

ubuntu@ubuntu2004:~$ adb devices
List of devices attached
cca7b8659f061daf	device

ubuntu@ubuntu2004:~$

2. 開(kāi)發(fā)板測(cè)試

上電開(kāi)發(fā)板,通過(guò)adb傳輸QT程序:

在這里插入圖片描述

然后執(zhí)行該文件:點(diǎn)擊按鈕然后顯示文本 test OK

在這里插入圖片描述

開(kāi)發(fā)板顯示如下:

在這里插入圖片描述

到此這篇關(guān)于QT移植到RK3568開(kāi)發(fā)板的方法步驟的文章就介紹到這了,更多相關(guān)QT移植到RK3568開(kāi)發(fā)板內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • QT5.12連接MySQL的實(shí)現(xiàn)

    QT5.12連接MySQL的實(shí)現(xiàn)

    本文主要介紹了QT5.12連接MySQL的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-02-02
  • Qt編寫(xiě)地圖綜合應(yīng)用之繪制雨量分布

    Qt編寫(xiě)地圖綜合應(yīng)用之繪制雨量分布

    雨量分布圖是在區(qū)域地圖基礎(chǔ)上,針對(duì)區(qū)域中的每個(gè)最小單位區(qū)域比如縣城點(diǎn)位不同顏色顯示。本文將詳細(xì)為大家介紹如何通過(guò)QT編寫(xiě)繪制雨量分布,感興趣的小伙伴可以了解一下
    2021-12-12
  • Windows安裝Qt6.4.2及簡(jiǎn)單驗(yàn)證

    Windows安裝Qt6.4.2及簡(jiǎn)單驗(yàn)證

    本文主要介紹了Windows安裝Qt6.4.2及簡(jiǎn)單驗(yàn)證,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • 如何運(yùn)用Capstone實(shí)現(xiàn)64位進(jìn)程鉤子掃描

    如何運(yùn)用Capstone實(shí)現(xiàn)64位進(jìn)程鉤子掃描

    本章將通過(guò)Capstone引擎實(shí)現(xiàn)64位進(jìn)程鉤子的掃描,讀者可使用此段代碼檢測(cè)目標(biāo)進(jìn)程內(nèi)是否被掛了鉤子,感興趣的朋友跟隨小編一起看看吧
    2024-08-08
  • OpenGL中點(diǎn)Bresenham繪制直線算法

    OpenGL中點(diǎn)Bresenham繪制直線算法

    這篇文章主要為大家詳細(xì)介紹了OpenGL中點(diǎn)Bresenham繪制直線算法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • C++共享內(nèi)存刪除的陷阱

    C++共享內(nèi)存刪除的陷阱

    這篇文章主要介紹了C++共享內(nèi)存刪除的陷阱講解,當(dāng)進(jìn)程結(jié)束使用共享內(nèi)存區(qū)時(shí),要通過(guò)函數(shù) shmdt 斷開(kāi)與共享內(nèi)存區(qū)的連接。下面來(lái)看看具體問(wèn)題都是怎么解決的吧
    2022-01-01
  • 淺談C語(yǔ)言中的注釋風(fēng)格小結(jié)

    淺談C語(yǔ)言中的注釋風(fēng)格小結(jié)

    今天小編就為大家分享一篇淺談C語(yǔ)言中的注釋風(fēng)格小結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-12-12
  • opencv3/C++圖像濾波實(shí)現(xiàn)方式

    opencv3/C++圖像濾波實(shí)現(xiàn)方式

    今天小編就為大家分享一篇opencv3/C++圖像濾波實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-12-12
  • Ubuntu20.04安裝使用jsoncpp、json-c庫(kù)的方法實(shí)例

    Ubuntu20.04安裝使用jsoncpp、json-c庫(kù)的方法實(shí)例

    這篇文章主要給大家介紹了關(guān)于Ubuntu20.04安裝使用jsoncpp、json-c庫(kù)的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作就有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2024-04-04
  • C++中I/O模型之select模型實(shí)例

    C++中I/O模型之select模型實(shí)例

    這篇文章主要介紹了C++中I/O模型的select模型,實(shí)例講述了I/O模型的用法,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2014-10-10

最新評(píng)論