1.SDK簡介
一個通用LinuxSDK工程目錄包含有buildroot、app、kernel、device、docs、external等目錄。其中一些特性芯片如RK3308/RV1108/RV1109/RV1126等,會有所不同。
●app:存放上層應用app,主要是qcamera/qfm/qplayer/settings等一些應用程序。
●buildroot:基于buildroot(2018.02-rc3)開發的根文件系統。
●device/rockchip:存放各芯片板級配置和Parameter文件,以及一些編譯與打包固件的腳本和預備文件。
●docs:存放芯片模塊開發指導文檔、平臺支持列表、芯片平臺相關文檔、Linux開發指南等。
●IMAGE:存放每次生成編譯時間、XML、補丁和固件目錄。
●external:存放第三方相關倉庫,包括音頻、視頻、網絡、recovery等。
●kernel:存放kernel4.4或4.19開發的代碼。
●prebuilts:存放交叉編譯工具鏈。
●rkbin:存放Rockchip相關的Binary和工具。
●rockdev:存放編譯輸出固件。
●tools:存放Linux和Windows操作系統環境下常用工具。
2.SDK環境安裝
本SDK開發環境是在Ubuntu系統上開發測試。我們推薦使用Ubuntu18.04的系統進行編譯。其他的Linux版本可能需要對軟件包做相應調整。除了系統要求外,還有其他軟硬件方面的要求。
●硬件要求:64位系統,硬盤空間大于40G。如果您進行多個構建,將需要更大的硬盤空間。
●軟件要求:Ubuntu18.04系統。
編譯SDK環境搭建所依賴的軟件包安裝命令如下:
sudoapt-getinstalluuiduuid-devzlib1g-devliblz-devliblzo2-2liblzo2-devgitcurl\
u-boot-toolsmtd-utilsandroid-tools-fsutilsopenjdk-8-jdkdevice-tree-compilergdiskm4\
gnupgflexbisongperflibsdl1.2-devlibesd-javalibwxgtk3.0-devsquashfs-tools\
build-essentialzipunziplibncurses5-devpngcrushschedtoollibxml2libxml2-utilsxsltproc\
lzoplibc6-devg++-multiliblib32z1-devlib32ncurses5-devlib32readline-devgcc-multilib\
libswitch-perllibssl-devliblz4-toolgconf2net-toolslib32ncurses5-devtreevimgparted\
g++libyaml-devlibpython2.7-devmakelibssl-devlib32z1p7zip-fullpython-piplibgmp-dev\
libmpc-dev
建議使用Ubuntu18.04系統或更高版本開發,若編譯遇到報錯,可以查看報錯信息,安裝對應的軟件包。
3.SDK整體編譯
3.1 查詢操作
在SDK目錄下輸入./build.sh-h可以得知SDK支持的命令,如下所示。
-h可查看各部分模塊的詳細編譯命令,例如:./build.sh-hkernel可以查看單獨編譯內核的詳細步驟,詳細信息將在后續章節逐一介紹。
3.2 整體編譯操作
SDK支持單獨編譯以及整體編譯,單獨編譯。單獨編譯在下面獨立章節會詳細介紹,此處先介紹整體編譯方法。步驟如下:
· 選擇默認配置,./build.shlunch,選擇第5個配置(rk3568評估套件)
· 執行編譯操作,./build.shall
· 執行打包操作,./mkfirmware.sh
· 等待編譯完成獲取編譯固件
具體操作命令如下:
./build.shBoardConfig-rk3568-evb1-ddr4-v10.mk
./build.shall
./mkfirmware.sh
編譯到內核階段時,第一次編譯需要對電源域進行判斷,這里全部選擇第2個3300000,如下圖所示:
得到的編譯固件路徑為SDK包根目錄下的rockdev目錄,如下所示。
然后再更新萬象提供的光盤資料出廠鏡像中的對應固件即可,如下所示。
rockdev目錄內的燒錄文件實際是把各個組成部分的編譯結果鏈接到此目錄,各個編譯結果的鏈接情況如下所示。
圖3.1rockdev目錄內容
所以各個組成部分的來源如下所示。
來源 | 文件 | 描述 |
Uboot | MiniLoaderAll.bin | 引導文件 |
uboot.img | uboot代碼主體 | |
Kernel | boot.img | kernel代碼主體 |
Buildroot | recovery.img | 來源于buildroot |
rootfs.ext4 | 這兩個文件為同一個文件,為buildroot代碼主體 | |
rootfs.img | ||
雜項 | misc.img | 來自rockchip的自定義文件 |
oem.img | oem分區的固件鏡像 | |
parameter.txt | 參數保存文件,由原廠定義 | |
userdata.img | 用戶空間的固件鏡像 |
3.3 部分編譯操作
3.3.1 配置SDK
./build.shBoardConfig-rk3568-evb1-ddr4-v10.mk
3.3.2 編譯kernel
./build.shkernel
3.3.3 編譯rootfs
./build.shrootfs
3.3.4 打包update.img
./build.shupdateimg
-
瑞芯微
+關注
關注
24文章
432瀏覽量
51510 -
編譯
+關注
關注
0文章
661瀏覽量
33016 -
SDK
+關注
關注
3文章
1045瀏覽量
46227 -
RK3568
+關注
關注
4文章
525瀏覽量
5224
發布評論請先 登錄
相關推薦
評論