博客專欄

EEPW首頁 > 博客 > 瑞芯微RK3568|SDK開發(fā)之環(huán)境安裝及編譯操作

瑞芯微RK3568|SDK開發(fā)之環(huán)境安裝及編譯操作

發(fā)布人:武漢萬象奧科 時(shí)間:2023-09-26 來源:工程師 發(fā)布文章
1. SDK簡介

一個通用 Linux SDK 工程目錄包含有buildroot、appkernel、devicedocs、external 等目錄。其中一些特性芯片如RK3308/RV1108/RV1109/RV1126等,會有所不同。

 app存放上層應(yīng)用 app,主要是 qcamera/qfm/qplayer/settings 等一些應(yīng)用程序。

 buildroot基于 buildroot (2018.02-rc3) 開發(fā)的根文件系統(tǒng)。

 device/rockchip存放各芯片板級配置和Parameter文件,以及一些編譯與打包固件的腳本和預(yù)備文件。

 docs存放芯片模塊開發(fā)指導(dǎo)文檔、平臺支持列表、芯片平臺相關(guān)文檔、Linux開發(fā)指南等。

 IMAGE存放每次生成編譯時(shí)間、XML、補(bǔ)丁和固件目錄。

 external存放第三方相關(guān)倉庫,包括音頻、視頻、網(wǎng)絡(luò)、recovery 等。

 kernel存放 kernel 4.4  4.19 開發(fā)的代碼。

 prebuilts存放交叉編譯工具鏈。

 rkbin存放 Rockchip 相關(guān)的 Binary 和工具。

 rockdev存放編譯輸出固件。

 tools存放 Linux  Windows 操作系統(tǒng)環(huán)境下常用工具。

 

2. SDK環(huán)境安裝

 SDK 開發(fā)環(huán)境是在Ubuntu 系統(tǒng)上開發(fā)測試。我們推薦使用 Ubuntu 18.04 的系統(tǒng)進(jìn)行編譯。其他的Linux 版本可能需要對軟件包做相應(yīng)調(diào)整。除了系統(tǒng)要求外,還有其他軟硬件方面的要求。

硬件要求:64 位系統(tǒng),硬盤空間大于40G。如果您進(jìn)行多個構(gòu)建,將需要更大的硬盤空間。

軟件要求:Ubuntu 18.04 系統(tǒng)。

 

編譯 SDK 環(huán)境搭建所依賴的軟件包安裝命令如下:

 

sudo apt-get installuuid uuid-dev zlib1g-dev liblz-dev liblzo2-2 liblzo2-dev git curl \

u-boot-tools mtd-utilsandroid-tools-fsutils openjdk-8-jdk device-tree-compiler gdisk m4 \

gnupg flex bison gperflibsdl1.2-dev libesd-java libwxgtk3.0-dev squashfs-tools \

build-essential zipunzip libncurses5-dev pngcrush schedtool libxml2 libxml2-utils xsltproc \

lzop libc6-devg++-multilib lib32z1-dev lib32ncurses5-dev lib32readline-dev gcc-multilib \

libswitch-perllibssl-dev liblz4-tool gconf2 net-tools lib32ncurses5-dev tree vim gparted \

g++ libyaml-devlibpython2.7-dev make libssl-dev lib32z1 p7zip-full python-pip libgmp-dev \

libmpc-dev

 

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

 

 

3. SDK整體編譯3.1       查詢操作

SDK目錄下輸入./build.sh -h可以得知SDK支持的命令,如下所示。


 

SDK1.png


  • -h可查看各部分模塊的詳細(xì)編譯命令,例如:./build.sh-h kernel可以查看單獨(dú)編譯內(nèi)核的詳細(xì)步驟,詳細(xì)信息將在后續(xù)章節(jié)逐一介紹。

 

3.2      整體編譯操作

SDK支持單獨(dú)編譯以及整體編譯,單獨(dú)編譯。單獨(dú)編譯在下面獨(dú)立章節(jié)會詳細(xì)介紹,此處先介紹整體編譯方法。步驟如下:

·  選擇默認(rèn)配置,./build.sh lunch,選擇第5個配置(rk3568評估套件)

SDK2.png

·  執(zhí)行編譯操作,./build.sh all

·  執(zhí)行打包操作,./mkfirmware.sh

·  等待編譯完成獲取編譯固件

具體操作命令如下:

./build.shBoardConfig-rk3568-evb1-ddr4-v10.mk

./build.shall

./mkfirmware.sh

 

編譯到內(nèi)核階段時(shí),第一次編譯需要對電源域進(jìn)行判斷,這里全部選擇第2個3300000,如下圖所示:

SDK3.png

 

得到的編譯固件路徑為SDK包根目錄下的rockdev目錄,如下所示。

 

SDK4.png

 

然后再更新萬象提供的光盤資料出廠鏡像中的對應(yīng)固件即可,如下所示。

 

SDK5.png

rockdev目錄內(nèi)的燒錄文件實(shí)際是把各個組成部分的編譯結(jié)果鏈接到此目錄,各個編譯結(jié)果的鏈接情況如下所示。

SDK6.png

3.1 rockdev目錄內(nèi)容

所以各個組成部分的來源如下所示。

 

 

來源

文件

描述

Uboot

MiniLoaderAll.bin

引導(dǎo)文件

uboot.img

uboot代碼主體

Kernel

boot.img

kernel代碼主體

Buildroot

recovery.img

來源于buildroot

rootfs.ext4

這兩個文件為同一個文件,為buildroot代碼主體

 

rootfs.img

雜項(xiàng)

misc.img

來自rockchip的自定義文件

oem.img

oem分區(qū)的固件鏡像

parameter.txt

參數(shù)保存文件,由原廠定義

userdata.img

用戶空間的固件鏡像

 

3.3       部分編譯操作3.3.1  配置SDK

./build.shBoardConfig-rk3568-evb1-ddr4-v10.mk

3.3.2  編譯kernel

./build.sh kernel

3.3.3  編譯rootfs

./build.sh rootfs

3.3.4  打包update.img

./build.sh updateimg



*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點(diǎn),如有侵權(quán)請聯(lián)系工作人員刪除。



關(guān)鍵詞: 瑞芯微 RK3568 SDK

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉