瑞芯微RK3399K簡單介紹及燒寫鏡像
文章目錄
- 瑞芯微RK3399K簡單介紹及燒寫鏡像
- 1. 前言
- 2. 官網及相關資料
- 3. 燒寫固件所需軟體
- 4. 直接燒寫單一固件步驟
- 5. 固件檔案
- 6. Windows下燒寫準備
- 6.1 安裝 RK USB 驅動
- 6.2 連接配接裝置
- 7. 燒寫固件
- 7.1 燒寫統一固件 update.img
- 7.2 燒寫分區映像
- 8. Linux下燒寫
- 8.1 upgrade_tool
- 8.2 燒寫分區鏡像
- 9. 常見問題
- 9.1 如何強行進入 MaskRom 模式
- 9.2 燒寫失敗分析
- 10. 最後
1. 前言
之前所介紹的Ubuntu18.04系統所運作的開發闆使用的瑞芯微RK3399K晶片,主要是由于瑞芯微開源了其晶片相關的Linux系統資料,支援Ubuntu(Debian)、Linux buildRoot、Android,是以使用場景非常廣,醫療、車載、機器人、智能家居、人臉識别考勤機、門禁、遊戲外設、POS機、安防機、卡拉OK機等等都可以使用,而且算是國産晶片應用推廣的一大步吧,是以公司部分項目開始使用的該晶片及系統方案。
2. 官網及相關資料
這個是GitHub位址:
https://github.com/rockchip-linux
這個是官網:
https://www.rock-chips.com/
資料較多的Wiki:
https://wiki.t-firefly.com/zh_CN/Firefly-RK3399/index.html
3. 燒寫固件所需軟體
可參考這裡:
https://wiki.t-firefly.com/zh_CN/Firefly-RK3399/03-upgrade_firmware.html
進行下載下傳。
AndroidTool_Release_v2.6.1
DriverAssitant_v4.5
版本可能有變動,但一個是驅動工具,一個是固件燒寫工具,通過usb/type-C或者雙usb頭的線直接進行燒寫(這類較大的系統一般都不通過序列槽直接燒寫,速度會比較慢)。
4. 直接燒寫單一固件步驟
如果有完整的單一固件檔案可以直接更新固件,不需要單獨燒寫部分分區,是以步驟也會相對簡單,直接
搜尋找到裝置->進入更新模式->載入固件->一鍵更新
即可。
5. 固件檔案
固件檔案一般有兩種:
-
單個統一固件
統一固件是由分區表、bootloader、uboot、kernel、system等所有檔案打包合并成的單個檔案。Firefly正式釋出的固件都是采用統一固件格式,更新統一固件将會更新主機闆上所有分區的資料和分區表,并且擦除主機闆上所有資料。
-
多個分區鏡像
即各個功能獨立的檔案,如分區表、bootloader、kernel等,在開發階段生成。獨立分區鏡像可以隻更新指定的分區,而保持其它分區資料不被破壞,在開發過程中會很友善調試。
通過統一固件解包/打包工具,可以把統一固件解包為多個分區鏡像,也可以将多個分區鏡像合并為一個統一固件。
6. Windows下燒寫準備
- 工具:Androidtool_xxx(版本号)
注意:不同固件使用的工具版本可能不同,請根據《使用USB線燒寫須知(重要)》下載下傳對應的版本
6.1 安裝 RK USB 驅動
下載下傳 Release_DriverAssistant.zip,解壓,然後運作裡面的 DriverInstall.exe 。為了所有裝置都使用更新的驅動,請先選擇
驅動解除安裝
,然後再選擇
驅動安裝
。
6.2 連接配接裝置
如下是我們目前測試的闆子,已經通過結構和硬體工程師針對需求做了整體設計調整,直接使用的三個usb口,沒有type-c等,顯示接口使用的HDMI,主要是友善大屏和人臉機以及機器人開發使用,增加了USB3.0的接口,更像是一塊PC闆,可以接滑鼠、鍵盤和高清顯示器,闆子上沒有辨別recovery和reset按鍵,我這裡做下辨別,一般來說需要使裝置進入更新模式需要這兩個按鍵,是以你不知道的時候需要問硬體工程師或者自己看圖紙。
裝置進入更新模式的方式如下(推薦第二種,更友善一些,像我們是使用雙USB頭,是以沒有Type-C資料線,這個不影響,在燒寫前需要看一下你們的闆子是雙USB線還是Type-C,沒有特殊需求大多是Type-C,比較通用):
- 一種方法是裝置先斷開電源擴充卡和 Type-C 資料線的連接配接:(如果是雙usb口的使用對應連接配接線即可)
- USB 一端連接配接主機,Type-C 一端連接配接開發闆 Type-C 母口
- 按住裝置上的 RECOVERY (恢複)鍵并保持
- 接上電源
- 大約兩秒鐘後,松開 RECOVERY 鍵
- 另一種方法,無需斷開電源擴充卡和 Type-C 資料線的連接配接:
- USB 一端連接配接主機,Type-C 一端連接配接開發闆 Type-C 母口
- 按住裝置上的 RECOVERY (恢複)鍵并保持
- 短按一下 RESET(複位)鍵
- 大約兩秒鐘後,松開 RECOVERY 鍵
主機應該會提示發現新硬體并配置驅動。打開裝置管理器,會見到新裝置
Rockusb Device
出現,如下圖。如果沒有,則需要傳回上一步重新安裝驅動。
7. 燒寫固件
下載下傳 AndroidTool(若系統是 Android8.1 則需要 2.54 以上版本),解壓,運作
AndroidTool_Release_v2.38
目錄裡面的
AndroidTool.exe
(注意,如果是 Windows 7/8,需要按滑鼠右鍵,選擇以管理者身份運作),如下圖:
7.1 燒寫統一固件 update.img
燒寫統一固件 update.img 的步驟如下:
- 切換至
頁。更新固件
- 按
按鈕,打開要更新的固件檔案。更新工具會顯示詳細的固件資訊。固件
- 按
按鈕開始更新。更新
- 如果更新失敗,可以嘗試先按’擦除 Flash’按鈕來擦除 Flash,然後再更新。一定要根據《使用USB線燒寫須知(重要)》進行擦除燒寫
注意:如果你燒寫的固件 laoder 版本與原來的機器的不一緻,請在更新固件前先執行’擦除 Flash’。
漢化版的:
7.2 燒寫分區映像
每個固件的分區可能不相同,請注意以下兩點:
- 使用
燒寫Androidtool_2.38
和ubuntu(MBR)
固件時使用預設配置即可;Android7.1
- 使用
燒寫Androidtool_2.58
使用預設配置即可,燒寫ubuntu(GPT)
固件請先執行以下操作: 切換至Android8.1
; 右鍵點選表格,選擇下載下傳鏡像頁面
; 選擇rk3399-Android81.cfg導入配置
- 使用
燒寫Androidtool_2.71
或Android10
固件時使用預設配置即可;Android9
燒寫分區映像的步驟如下:
- 切換至
頁。下載下傳鏡像
- 勾選需要燒錄的分區,可以多選。
- 確定映像檔案的路徑正确,需要的話,點路徑右邊的空白表格單元格來重新選擇。
- 點選
按鈕開始更新,更新結束後裝置會自動重新開機。執行
8. Linux下燒寫
Linux 下無須安裝裝置驅動,參照 Windows 章節連接配接裝置則可。
- 工具:Linux_Upgrade_Tool
注意:不同固件使用的工具版本可能不同,請根據[燒寫須知]下載下傳對應的版本
8.1 upgrade_tool
下載下傳 Linux_Upgrade_Tool (系統是 Android8.1則需要 Linux_Upgrde_Tool_for_android8.1), 并按以下方法安裝到系統中,友善調用:
unzip Linux_Upgrade_Tool_xxxx.zip
cd Linux_UpgradeTool_xxxx
sudo mv upgrade_tool /usr/local/bin
sudo chown root:root /usr/local/bin/upgrade_tool
sudo chmod
燒寫統一固件 update.img:
sudo
如果更新失敗,可以嘗試先擦除後再更新。一定要根據《使用USB線燒寫須知(重要)》的表格進行擦除燒寫
# 擦除 flash 使用 ef 參數需要指定 loader 檔案或者對應的 update.img
sudo upgrade_tool ef update.img #update.img :你需要燒寫的 Ubuntu 固件
# 重新燒寫
sudo
8.2 燒寫分區鏡像
Android7.1、Android8.1使用以下方式:
sudo upgrade_tool di -b boot.img
sudo upgrade_tool di -k kernel.img
sudo upgrade_tool di -s system.img
sudo upgrade_tool di -r recovery.img
sudo upgrade_tool di -m misc.img
sudo upgrade_tool di -re resource.img
sudo upgrade_tool di -p paramater
sudo
Android9.0、Android10.0使用以下方式:
sudo upgrade_tool di -b boot.img
sudo upgrade_tool di -dtbo dtbo.img
sudo upgrade_tool di -misc misc.img
sudo upgrade_tool di -parameter parameter.txt
sudo upgrade_tool di -r recovery.img
sudo upgrade_tool di -super super.img
sudo upgrade_tool di -trust trust.img
sudo upgrade_tool di -uboot uboot.img
sudo
Ubuntu(GPT)使用以下方式:
sudo upgrade_tool ul $LOADER
sudo upgrade_tool di -p $PARAMETER
sudo upgrade_tool di -uboot $UBOOT
sudo upgrade_tool di -trust $TRUST
sudo upgrade_tool di -boot $BOOT
sudo upgrade_tool di -recovery $RECOVERY
sudo upgrade_tool di -misc $MISC
sudo upgrade_tool di -oem $OEM
sudo upgrade_tool di -userdata $USERDATA
sudo upgrade_tool di -rootfs $ROOTFS
如果因 flash 問題導緻更新時出錯,可以嘗試低級格式化、擦除 nand flash:
# 低級格式化
sudo upgrade_tool lf update.img
# 擦除
sudo
9. 常見問題
9.1 如何強行進入 MaskRom 模式
如果闆子進入不了 Loader 模式,此時可以嘗試強行進入 MaskRom 模式。操作方法見《MaskRom模式》。
9.2 燒寫失敗分析
如果燒寫過程中出現Download Boot Fail, 或者燒寫過程中出錯,如下圖所示,通常是由于使用的USB線連接配接不良、劣質線材,或者電腦USB口驅動能力不足導緻的,請更換USB線或者電腦USB端口排查。