本 SDK 開發(fā)環(huán)境是在 Ubuntu 上開發(fā)測(cè)試的。我們推薦使用 Ubuntu 16.04 的系統(tǒng)進(jìn)行編譯。其他的 Linux 版本可能需要對(duì)軟件包做相應(yīng)調(diào)整。 除了系統(tǒng)要求外,還有其他軟硬件方面的要求。
64 位系統(tǒng),硬盤空間大于 40G。如果您進(jìn)行多個(gè)構(gòu)建,將需要更大的硬盤空間。
-
Ubuntu 14.04 軟件包安裝:
-
Ubuntu 16.04 軟件包安裝
-
安裝 ARM 交叉編譯工具鏈和編譯內(nèi)核相關(guān)軟件包
提供兩種方式給用戶下載:1:Github上同步SDK;2:下載源碼包(推薦國(guó)內(nèi)用戶使用)
Github上同步SDK
-
下載repo工具:
-
初始化倉(cāng)庫(kù):
下載源碼包(推薦國(guó)內(nèi)用戶使用)
-
下載repo工具:
-
下載鏈接:Linux-SDK GPT源碼包https://pan.baidu.com/s/1UEV7Hmpf4Dj6rbA_MI_XEw(提取碼:f4hg)
-
拷貝到linux文件夾下
-
解壓文件:7zxlinux-sdk-3328.7z
注意:解壓完之后,用戶可能會(huì)疑惑看不到文件。在linux/目錄運(yùn)行l(wèi)s-a命令,有.repo/目錄,這是我們的倉(cāng)庫(kù)。
注意:從Github上同步SDK時(shí),部分國(guó)內(nèi)用戶會(huì)有不穩(wěn)定的現(xiàn)象,這就需要多次運(yùn)行同步命令reposync-c才可以
目錄
在device/rockchip/rk3328/目錄下,選擇對(duì)應(yīng)的板型的配置文件
本文例子:確定選用rk3328/aio-rk3328-jd4.mk
aio-rk3328-jd4.mk 相關(guān)配置介紹:
重點(diǎn):
配置Rootfs
源碼中默認(rèn)的Linux rootfs是buildroot,如果rootfs使用buildroot,跳過此步,如果用戶需要使用Ubuntu,需要通過以下步驟來配置:
以Ubuntu18.04為例
1、 下載根文件系統(tǒng):ubuntu18.04 根文件系統(tǒng)(64位)https://pan.baidu.com/s/1lwtFtQqIRbXq-6JSiDBXYg(提取碼:yo4z),放到SDK路徑下;
2、 該文件為7z壓縮包,解壓該文件;
3、 完成上述后,得到rk3328-ubuntu1804-arm64-rootfs.img(2.6G),拷貝根文件系統(tǒng)到rootfs目錄下;
4、 在device/rockchip/rk3328/aio-rk3328-jd4.mk中, 將“# rootfs image path”修改為:
編譯配置文件:
運(yùn)行完上述腳本后,在device/rockchip/目錄下,生成.BoardConfig.mk 軟鏈接 device/rockchip/rk3328/aio-rk3328-jd4.mk
完全編譯運(yùn)行如下命令,包含 kernel 、uboot、buildroot、recovery。 如果用戶使用buildroot,可以使用完全編譯。如果用戶使用Ubuntu系統(tǒng),則不需要使用完全編譯。
注意:該腳本默認(rèn)編譯buildroot根文件系統(tǒng),若用戶需要用的根文件系統(tǒng)是Debian或者Ubuntu16.04時(shí),請(qǐng)!先!將!對(duì)應(yīng)的根文件系統(tǒng)準(zhǔn)備好,不然在執(zhí)行該build.sh腳本時(shí),會(huì)在整理分區(qū)鏡像、打包固件時(shí)出錯(cuò),這部分操作在以下的“部分編譯”中“編譯rootfs”有詳細(xì)說明,按照操作執(zhí)行即可!
build.sh腳本運(yùn)行完成后,會(huì)將分區(qū)鏡像和統(tǒng)一固件update.img放在rockdev/目錄下,同時(shí)創(chuàng)建IMAGE/目錄備份。
編譯u-boot:
編譯kernel:
編譯rootfs:
本SDK支持三種根文件系統(tǒng),分別是buildroot、Debian、Ubuntu;
-
Buildroot
編譯 Buildroot 環(huán)境搭建所依賴的軟件包安裝命令如下:
搭建環(huán)境完成后,編譯buildroot,執(zhí)行如下命令:
-
Debian
編譯 Debian 環(huán)境搭建所依賴的軟件包安裝命令如下:
搭建環(huán)境完成后,編譯Debian,按照自身需求,執(zhí)行如下命令:
完成上述后,會(huì)在rootfs目錄下,生成linaro-rootfs.img.修改device/rockchip/.BoardConfig.mk中的根文件系統(tǒng)路徑即可,參考配置前編譯中的“配置Rootfs”.
-
Ubuntu
以Ubuntu18.04為例
1、 下載根文件系統(tǒng):ubuntu18.04 根文件系統(tǒng)(64位)https://pan.baidu.com/s/1lwtFtQqIRbXq-6JSiDBXYg(提取碼:yo4z),放到SDK路徑下;
2、 該文件為7z壓縮包,解壓該文件;
3、 完成上述后,得到rk3328-ubuntu1804-arm64-rootfs.img(2.6G),拷貝根文件系統(tǒng)到rootfs目錄下;
補(bǔ)充說明:
recovery分區(qū)在Ubuntu系統(tǒng)中不會(huì)用到,若有需要,可運(yùn)行如下命令:
parameter.txt文件中包含了固件的重要信息,如以rk3288為例: 路徑:device/rockchip/rk3328/parameter-ubuntu.txt
CMDLINE屬性是我們關(guān)注的地方,以u(píng)boot為例 0x00002000@0x00004000(uboot)中0x00004000為uboot分區(qū)的起始位置0x00002000為分區(qū)的大小,后面相同,用戶可以根據(jù)自己需要增減或者修改分區(qū)信息,但是請(qǐng)最少保留uboot,trust,boot,rootfs分區(qū),這是機(jī)器能正常啟動(dòng)的前提條件。
-
分區(qū)介紹:
在parameter.txt文件中,僅僅保留了5個(gè)不可缺少的分區(qū)。
注意:若發(fā)現(xiàn)根文件分區(qū)大小異常時(shí),執(zhí)行如下命令:
package-file文件用于打包統(tǒng)一固件時(shí)確定需要的分區(qū)鏡像和鏡像路徑,同時(shí)它需要與parameter.txt文件保持一致。 路徑tools/linux/Linux_Pack_Firmware/rockdev/目錄下,以package-file為例:
-
整理分區(qū)鏡像到rockdev/目錄下
提示:在運(yùn)行./mkfirmware時(shí),可能會(huì)遇到如下報(bào)錯(cuò):
表示recovery分區(qū)沒有找到,類似的如oem.img、userdata.img,上文提到,這些屬于可省略分區(qū)鏡像,可以不用理會(huì)。
-
整合統(tǒng)一固件
注意:每次打包固件前,需要運(yùn)行mkfirmware.sh腳本更新rockdev/下的分區(qū)鏡像
-
Windows:AndroidTool_v2.58
-
Linux:Upgrade_tool_1.34
下載 AndroidTool2.58后,解壓,運(yùn)行里面的 AndroidTool.exe(注意,如果是 Windows 7/8,需要按鼠標(biāo)右鍵,選擇以管 理員身份運(yùn)行),如下圖:
前提:設(shè)備燒寫固件或分區(qū)鏡像時(shí),需處于Loader模式或Maskrom模式,參考設(shè)備模式
燒寫統(tǒng)一固件 update.img
燒寫統(tǒng)一固件 update.img 的步驟如下:
-
切換至”升級(jí)固件”頁(yè)。
-
按”固件”按鈕,打開要升級(jí)的固件文件。升級(jí)工具會(huì)顯示詳細(xì)的固件信息
-
按”升級(jí)”按鈕開始升級(jí)。
-
如果升級(jí)失敗,可以嘗試先按”擦除Flash”按鈕來擦除 Flash,然后再升級(jí)。
注意:如果你燒寫的固件loader版本與原來的機(jī)器的不一致,請(qǐng)?jiān)谏?jí)固件前先執(zhí)行”擦除Flash”。
燒寫分區(qū)映像
燒寫分區(qū)映像時(shí),請(qǐng)使用對(duì)應(yīng)SDK下的FFTools/AndroidTool.rar燒寫。步驟如下:
-
切換至”下載鏡像”頁(yè)。
-
勾選需要燒錄的分區(qū),可以多選。
-
確保映像文件的路徑正確,需要的話,點(diǎn)路徑右邊的空白表格單元格來重新選擇。
-
點(diǎn)擊”執(zhí)行”按鈕開始升級(jí),升級(jí)結(jié)束后設(shè)備會(huì)自動(dòng)重啟。
下載Upgrade_tool1.34.zip后,解壓,將upgrade_tool拷貝到/usr/local/bin/目錄下,操作如下:
統(tǒng)一固件燒寫
-
使用upgrade_tool工具燒寫:
-
使用SDK腳本燒寫:
分區(qū)鏡像燒寫
-
使用upgrade_tool工具燒寫:
-
使用腳本燒寫:
說明:rkflash.sh該腳本文件的原理便是使用upgrade_tool工具燒寫
-
嵌入式主板
+關(guān)注
關(guān)注
7文章
6096瀏覽量
36125 -
安卓
+關(guān)注
關(guān)注
5文章
2145瀏覽量
58269 -
Firefly
+關(guān)注
關(guān)注
2文章
541瀏覽量
7380 -
RK3328
+關(guān)注
關(guān)注
1文章
56瀏覽量
3346
發(fā)布評(píng)論請(qǐng)先 登錄
ROC-RK3328-CC超小型開源主板
怎樣去解決RK3328編譯build root報(bào)錯(cuò)的問題呢
RK3328 linux命令是怎樣進(jìn)入gpio口的呢
RK3328硬件參考設(shè)計(jì)資料合集免費(fèi)下載

fireflyCORE-RK3328主板JD4解包/打包 RK 固件介紹
fireflyCORE-RK3328主板JD4啟動(dòng)模式簡(jiǎn)介
fireflyCORE-RK3328主板JD4簡(jiǎn)介

fireflyCORE-RK3328主板JD4介紹

fireflyROC-RK3328PC啟動(dòng)介紹
Core 3328 JD4源代碼Linux SDK包(僅支持RK3328)

Core 3328 JD4源代碼RK3328 Android8.1 SDK包

評(píng)論