0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

RK3588 SDK入門之編譯使用篇

眺望電子 ? 2024-11-22 01:07 ? 次閱讀


前言:

在上一篇文章中,我們已經(jīng)配置好了Ubuntu虛擬機(jī)。本期將重點(diǎn)介紹如何Ubuntu虛擬機(jī)中使用RK3588的SDK。具體內(nèi)容包括SDK的下載與安裝、環(huán)境變量的配置、以及編譯調(diào)試的步驟和注意事項(xiàng)。通過這篇文章,你將能夠快速掌握在虛擬機(jī)中高效使用RK3588 SDK的關(guān)鍵技巧,為后續(xù)的開發(fā)工作打下堅(jiān)實(shí)基礎(chǔ)。

138a47ba-a82b-11ef-8084-92fbcf53809c.jpg

圖1 EVM-RK3588 評估板外觀(正面)

一、編譯環(huán)境

1.1編譯環(huán)境注意事項(xiàng)

如無特別說明,本文檔所有操作均基于1.2節(jié)硬件、軟件環(huán)境下完成。本文檔操作不需要使用 root 用戶,配置編譯環(huán)境安裝軟件使用 sudo 即可。在 ubuntu18.04下,將 android 源碼拷貝、下載到當(dāng)前用戶目錄下,拷貝、下載、解壓、編譯源碼均在普通用戶下執(zhí)行。請勿使用 root 用戶或者 sudo 命令拷貝、下載、解壓、編譯源碼,否則可能會(huì)導(dǎo)致編譯出錯(cuò)。特別說明:不能放在虛擬機(jī)的共享文件夾中編譯?。。?/p>

1.2編譯環(huán)境要求
SDK 開發(fā)環(huán)境是在 Ubuntu 系統(tǒng)上開發(fā)與測試。我們推薦使用 Ubuntu18.04 的系統(tǒng)進(jìn)行編譯。其他的 Linux 版本可能需要對軟件包做相應(yīng)調(diào)整。
硬件要求:64 位系統(tǒng),硬盤空間大于50G。如果您進(jìn)行多個(gè)構(gòu)建,將需要更大的硬盤空間。
軟件要求:Ubuntu 18.04 系統(tǒng)
1.3編譯環(huán)境配置
編譯 SDK 環(huán)境搭建所依賴的軟件包安裝命令下:

sudo apt-get install repo 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++-multilibunzip \device-tree-compiler python-pip ncurses-dev pyelftools \

建議使用 Ubuntu18.04 系統(tǒng)或更高版本開發(fā),若編譯遇到報(bào)錯(cuò),可以視報(bào)錯(cuò)信息,安裝對應(yīng)的軟件包。

二、源碼獲取與解壓

2.1源碼獲取

源碼通常由我司相關(guān)人員發(fā)布在網(wǎng)盤,百度網(wǎng)盤發(fā)布的還包括使用文檔、鏡像、工具等,網(wǎng)盤上的源碼包是基礎(chǔ)包,后續(xù)將持續(xù)更新(若需要請聯(lián)系我司)。將源碼拷貝到 ubuntu 18.04 當(dāng)前登錄用戶目錄或新建 sdk 目錄下。

2.2源碼解壓

執(zhí)行解壓命令:

$ tar -xvf sdk/ talowe-evmrk3588-linux-**.tar.gz # 解壓

解壓完成后進(jìn)入 sdk 后可以看到:

13a5f9f6-a82b-11ef-8084-92fbcf53809c.png

圖2-1-sdk 目錄下的文件


sdk 目錄說明:

SDK├──app:#存放上層應(yīng)用 APP,主要是 qcamera/qfm/qplayer/qseting 等一些應(yīng)用程序。├──buildroot:#基于 Buildroot(2018.02-rc3)開發(fā)的根文件系統(tǒng)。├──debian:#基于 debian 10 開發(fā)的根文件系統(tǒng),支持部分芯片。├──device/rockchip:#存放各芯片板級配置以及一些編譯和打包固件的腳本和預(yù)備文件。├──docs:#存放開發(fā)指導(dǎo)文件、平臺支持列表、工具使用文檔、Linux 開發(fā)指南等。├──IMAGE:#存放每次生成編譯時(shí)間、XML、補(bǔ)丁和固件目錄。├──external:#存放第三方相關(guān)倉庫,包括音頻視頻、網(wǎng)絡(luò)、recovery 等。├──kernel:#存放 Kernel 4.19 開發(fā)的代碼。├──linux_rootfs:#用于存放 Linux 根文件系統(tǒng)(Root File System)的相關(guān)文件和配置├──lz4:#用于存放與 LZ4 壓縮算法相關(guān)的文件和工具。├──prebuilts:#存放交叉編譯工具鏈。├──recovery:#用于存放恢復(fù)系統(tǒng)用的恢復(fù)環(huán)境文件。├──rkbin:#存放 Rockchip 相關(guān) Binary 和工具。├──rockdev:#存放編譯輸出固件。├──tools:#存放 Linux 和 Window 操作系統(tǒng)下常用工具。├──u-boot:#存放基于 v2017.09 版本進(jìn)行開發(fā)的 U-Boot 代碼。└──uefi:#存放與 Unified Extensible Firmware Interface (統(tǒng)一可擴(kuò)展固件接口,簡稱 UEFI)相關(guān)的文件和工具。

三、Buildroot (Linux)系統(tǒng)編譯無論最后要使用什么系統(tǒng),都請先全局編譯一次 buildroot,之后再進(jìn)行其他系統(tǒng)的編譯,以避免出現(xiàn)需要某個(gè)依賴的工具找不到的情況。以下操作,若無特殊說明,均在 SDK 根目錄下進(jìn)行。

3.1全局編譯
環(huán)境資源配置,再 SDK 目錄下輸入 source envsetup.sh,選擇 11 :

13bbd154-a82b-11ef-8084-92fbcf53809c.png

圖3-1-選擇環(huán)境組合

選擇完成后,進(jìn)行首次編譯,執(zhí)行全局編譯,命令如下:

$ ./build.sh # 全局編譯,編譯 uboot、kernel、recovery

編譯成功后將會(huì)在 sdk/linux/rockdev/目錄下生成如下鏡像文件。

$ ls rockdev/ #查看該目錄下的文件

MiniLoaderAll.bin #引導(dǎo) uboot、檢測啟動(dòng)方式parameter.txt #系統(tǒng)分區(qū)表、內(nèi)核傳參uboot.img #引導(dǎo)系統(tǒng)分區(qū)trust.img #ARM TrustZone 特性分區(qū)misc.img #記錄 recovery 升級信息boot.img #內(nèi)核、設(shè)備樹、logo 分區(qū)
recovery.img #恢復(fù)還原分區(qū)rootfs.img #根文件系統(tǒng)分區(qū)oem.img #存放 OEM 資源分區(qū)update-***.img #帶日期后綴的完整固件 用于整包燒寫

至此全局編譯完成,可使用上述生成的整包固件燒寫到板子內(nèi)為板子添加系統(tǒng)。
在實(shí)際的SDK運(yùn)用中還會(huì)使用到單獨(dú)編譯uboot、kernal、buildroot等等操作,下面向大家簡單介紹一下相關(guān)操作。
3.2單獨(dú)編譯uboot
執(zhí)行命令:

./build.sh u-boot

生成鏡像路徑:u-boot/
生成鏡像:uboot.img、trust.img 等
3.3單獨(dú)編譯kernal
執(zhí)行命令:

./build.sh kernel

生成鏡像路徑:rockdev/
生成鏡像:boot.img
3.4單獨(dú)編譯buildroot
編譯完 buildroot 完成后會(huì)自動(dòng)編譯 rootfs

./build.sh buildroot

生成鏡像路徑:rockdev/
生成鏡像:rootfs.img
3.5單獨(dú)編譯recovery

./build.sh recovery

3.6單獨(dú)編譯buildroot應(yīng)用
sdk 可以單獨(dú)編譯 buildroot 的單個(gè)應(yīng)用設(shè)置單個(gè)模塊,比如單獨(dú)編譯QFacialGate 應(yīng)用.。

$ make qcamera -dirclean && make qcamera -rebuild -j8

單獨(dú)編譯 rkwifibt

$ make rkwifibt-dirclean && make rkwifibt-rebuild -j8

四、使用完結(jié)

通過本篇內(nèi)容,主要是向大家展示RK3588的SDK相關(guān)編譯過程,在編譯過程中,若是遇到一些錯(cuò)誤,可以跟我們技術(shù)支持取得聯(lián)系獲取解決方案。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 編譯
    +關(guān)注

    關(guān)注

    0

    文章

    660

    瀏覽量

    32924
  • SDK
    SDK
    +關(guān)注

    關(guān)注

    3

    文章

    1040

    瀏覽量

    46052
  • RK3588
    +關(guān)注

    關(guān)注

    7

    文章

    336

    瀏覽量

    4417
收藏 人收藏

    評論

    相關(guān)推薦

    瑞芯微RK3588開發(fā)板RK3588 EVB和RK3588S EVB解讀

    瑞芯微RK3588開發(fā)板RK3588 EVB和RK3588S EVB解讀 瑞芯微旗艦芯RK3588系列開發(fā)板受到廣大開發(fā)者伙伴的關(guān)注和問詢。針對相關(guān)的開發(fā)板功能、操作指南等問題,我們一
    的頭像 發(fā)表于 09-22 15:54 ?1.8w次閱讀
    瑞芯微<b class='flag-5'>RK3588</b>開發(fā)板<b class='flag-5'>RK3588</b> EVB和<b class='flag-5'>RK3588</b>S EVB解讀

    RK3588編解碼盒子RTL8211FS-CG光口調(diào)試

    本文是基于RK3588平臺,SDK版本:RK3588_ANDROID12.0 RTL8211FS-CG光口調(diào)試總結(jié)。
    的頭像 發(fā)表于 06-10 09:00 ?2715次閱讀
    <b class='flag-5'>RK3588</b>編解碼盒子<b class='flag-5'>之</b>RTL8211FS-CG光口調(diào)試

    RK3588-MIPI屏幕調(diào)試筆記:RK3588-MIPI-DSILCD上電初始化時(shí)序

    RK3588-MIPI屏幕調(diào)試筆記:RK3588-MIPI-DSILCD上電初始化時(shí)序
    的頭像 發(fā)表于 06-10 10:32 ?4896次閱讀

    RK3588-MIPI屏幕調(diào)試筆記:RK3588-MIPI-DSI屏參配置

    RK3588-MIPI屏幕調(diào)試筆記:RK3588-MIPI-DSI屏參配置
    的頭像 發(fā)表于 06-10 10:36 ?2382次閱讀
    <b class='flag-5'>RK3588</b>-MIPI屏幕調(diào)試筆記:<b class='flag-5'>RK3588</b>-MIPI-DSI<b class='flag-5'>之</b>屏參配置

    基于 RK3588 debian 搭建 RK3588 Kernel 編譯環(huán)境

    ARCH=arm64 rk3588-xxx.img -j16二、分布式編譯環(huán)境1、安裝 C/C++ 分布式編譯工具apt install distcc distccmon-gnome2、修改服務(wù)器端
    發(fā)表于 03-22 16:28

    介紹一種RK3588 Android SDK編譯方法的使用

    Rockchip RK3588 Android SDK在原始Android的編譯方式的基礎(chǔ)上封裝了一個(gè)編譯腳本build.sh,用來簡化編譯
    發(fā)表于 05-23 14:27

    RK3588 SDK編譯與固件燒寫步驟

    ; make ARCH=arm64 rk3588sevb1-lp4x-v10.img -j24  單獨(dú)編譯uboot  $ 。/make.sh rk3588  2、固件燒寫  升級工具
    發(fā)表于 08-31 17:45

    RK3588 Android 12.0 SDK編譯步驟分享

    ;#036; lunch rk3588_s-userdebug$ ./build.sh-AUCKu -d rk3588sevb1-lp4x-v10單獨(dú)編譯內(nèi)核$
    發(fā)表于 09-20 17:11

    怎樣去解決RK3588編譯kernel的問題呢

    : *** [rk3588-firefly-itx-3588j.img] Error 2附wiki編譯方法Core-3588J 產(chǎn)品編譯方法整體編譯
    發(fā)表于 10-14 15:18

    ITX 3588J源代碼RK356X/RK3588 RKNN SDK

    電子發(fā)燒友網(wǎng)站提供《ITX 3588J源代碼RK356X/RK3588 RKNN SDK.txt》資料免費(fèi)下載
    發(fā)表于 09-21 15:32 ?20次下載
    ITX <b class='flag-5'>3588</b>J源代碼<b class='flag-5'>RK</b>356X/<b class='flag-5'>RK3588</b> RKNN <b class='flag-5'>SDK</b>

    ROC RK3588S PC源代碼RK356X/RK3588 RKNN SDK

    電子發(fā)燒友網(wǎng)站提供《ROC RK3588S PC源代碼RK356X/RK3588 RKNN SDK.txt》資料免費(fèi)下載
    發(fā)表于 09-20 17:45 ?40次下載
    ROC <b class='flag-5'>RK3588</b>S PC源代碼<b class='flag-5'>RK</b>356X/<b class='flag-5'>RK3588</b> RKNN <b class='flag-5'>SDK</b>

    ROC RK3568 PC源代碼RK3568/RK3588 RKNN SDK

    電子發(fā)燒友網(wǎng)站提供《ROC RK3568 PC源代碼RK3568/RK3588 RKNN SDK.txt》資料免費(fèi)下載
    發(fā)表于 09-20 09:55 ?41次下載
    ROC <b class='flag-5'>RK</b>3568 PC源代碼<b class='flag-5'>RK</b>3568/<b class='flag-5'>RK3588</b> RKNN <b class='flag-5'>SDK</b>

    ROC RK3566 PC源代碼RK356X/RK3588 RKNN SDK

    電子發(fā)燒友網(wǎng)站提供《ROC RK3566 PC源代碼RK356X/RK3588 RKNN SDK.txt》資料免費(fèi)下載
    發(fā)表于 09-21 14:57 ?8次下載
    ROC <b class='flag-5'>RK</b>3566 PC源代碼<b class='flag-5'>RK</b>356X/<b class='flag-5'>RK3588</b> RKNN <b class='flag-5'>SDK</b>

    AIO 3568J源代碼RK356X/RK3588 RKNN SDK

    電子發(fā)燒友網(wǎng)站提供《AIO 3568J源代碼RK356X/RK3588 RKNN SDK.txt》資料免費(fèi)下載
    發(fā)表于 09-21 11:00 ?6次下載
    AIO 3568J源代碼<b class='flag-5'>RK</b>356X/<b class='flag-5'>RK3588</b> RKNN <b class='flag-5'>SDK</b>

    rk3588rk3588s的區(qū)別

    rk3588rk3588s的區(qū)別 Rockchip是一家專業(yè)的半導(dǎo)體公司,成立于2001年,總部位于中國深圳,主要從事集成電路的設(shè)計(jì)、開發(fā)和銷售。他們的熱門產(chǎn)品RK3588RK3588
    的頭像 發(fā)表于 08-15 16:44 ?1.5w次閱讀