升級(jí)固件
前言
本文介紹了如何將主機(jī)上的固件文件,通過(guò)雙公頭USB數(shù)據(jù)線,燒錄到開(kāi)發(fā)板的閃存中。 升級(jí)時(shí),需要根據(jù)主機(jī)操作系統(tǒng)和固件類(lèi)型來(lái)選擇合適的升級(jí)方式。
準(zhǔn)備工作
AIO-3128C 開(kāi)發(fā)板
固件
雙公頭USB數(shù)據(jù)線
固件文件一般有兩種:
單個(gè)統(tǒng)一固件 update.img, 將啟動(dòng)加載器、參數(shù)和所有分區(qū)鏡像都打包到一起,用于固件發(fā)布。
多個(gè)分區(qū)鏡像,如 kernel.img, boot.img, recovery.img 等,在開(kāi)發(fā)階段生成。
這里可以找到已編譯好的統(tǒng)一固件,下載后解壓。也可以參考編譯固件的說(shuō)明自行編譯。 主機(jī)操作系統(tǒng)支持:
Windows XP (32/64位)
Windows 7 (32/64位)
Windows 8 (32/64位)
Linux (32/64位)
Windows
之前燒寫(xiě) RK 的固件,需要用到以下兩種工具:
量產(chǎn)工具 RKBatchTool,用于燒寫(xiě)統(tǒng)一固件(update.img)
開(kāi)發(fā)者工具 RKDevelopTool,可單獨(dú)燒寫(xiě)分區(qū)固件
后來(lái) RK 發(fā)布了 AndroidTool 工具,在 RKDevelopTool 的基礎(chǔ)上增加了統(tǒng)一固件(update.img)的燒寫(xiě)支持,因此現(xiàn)在僅需要這個(gè)工具即可。
使用燒寫(xiě)工具前需要安裝 RK USB 驅(qū)動(dòng)。如果驅(qū)動(dòng)已經(jīng)安裝好,可以跳過(guò)這步。
安裝 RK USB 驅(qū)動(dòng)
下載 Release_DriverAssistant.zip ,解壓,然后運(yùn)行里面的 DriverInstall.exe 。為了所有設(shè)備都使用更新的驅(qū)動(dòng),請(qǐng)先選擇”驅(qū)動(dòng)卸載”,然后再選擇”驅(qū)動(dòng)安裝”。
連接設(shè)備
有兩種方法可以使設(shè)備進(jìn)入升級(jí)模式。一種方法是設(shè)備先斷開(kāi)電源適配器和雙公頭USB數(shù)據(jù)線的連接:
雙公頭USB數(shù)據(jù)線的一端連接主機(jī)。
按住設(shè)備上的 RECOVERY (恢復(fù))鍵并保持。
雙公頭USB數(shù)據(jù)線的另一端連接設(shè)備。
大約兩秒鐘后,松開(kāi) RECOVERY 鍵。
另一種方法,無(wú)需斷開(kāi)電源適配器和雙公頭USB數(shù)據(jù)線的連接:
用雙公頭USB數(shù)據(jù)線連接好設(shè)備和主機(jī)。
按住設(shè)備上的 RECOVERY (恢復(fù))鍵并保持。
短按一下 RESET(復(fù)位)鍵。
大約兩秒鐘后,松開(kāi) RECOVERY 鍵。
如圖(紅色方框)RESET(復(fù)位)鍵和RECOVERY 鍵位置:
燒錄固件時(shí)應(yīng)該使用雙公頭USB數(shù)據(jù)線,連接接口如圖所示:
主機(jī)應(yīng)該會(huì)提示發(fā)現(xiàn)新硬件并配置驅(qū)動(dòng)。打開(kāi)設(shè)備管理器,會(huì)見(jiàn)到新設(shè)備”Rockusb Device” 出現(xiàn),如下圖。如果沒(méi)有,則需要返回上一步重新安裝驅(qū)動(dòng)。
燒寫(xiě)固件
下載 AndroidTool,解壓,運(yùn)行 AndroidTool_Release_v2.35 目錄里面的 AndroidTool.exe(注意,如果是 Windows 7/8,需要按鼠標(biāo)右鍵,選擇以管理員身份運(yùn)行),如下圖:
燒寫(xiě)統(tǒng)一固件 update.img
燒寫(xiě)統(tǒng)一固件 update.img 的步驟如下:
切換至”升級(jí)固件”頁(yè)。
按”固件”按鈕,打開(kāi)要升級(jí)的固件文件。升級(jí)工具會(huì)顯示詳細(xì)的固件信息。
按”升級(jí)”按鈕開(kāi)始升級(jí)。
如果升級(jí)失敗,可以嘗試先按”擦除Flash”按鈕來(lái)擦除 Flash,然后再升級(jí)。
注意:如果你燒寫(xiě)的固件laoder版本與原來(lái)的機(jī)器的不一致,請(qǐng)?jiān)谏?jí)固件前先執(zhí)行”擦除Flash”。
燒寫(xiě)分區(qū)映像
燒寫(xiě)分區(qū)映像的步驟如下:
切換至”下載鏡像”頁(yè)。
勾選需要燒錄的分區(qū),可以多選。
確保映像文件的路徑正確,需要的話(huà),點(diǎn)路徑右邊的空白表格單元格來(lái)重新選擇。
點(diǎn)擊”執(zhí)行”按鈕開(kāi)始升級(jí),升級(jí)結(jié)束后設(shè)備會(huì)自動(dòng)重啟。
Linux
RK 提供了一個(gè) Linux 下的命令行工具 upgrade_tool,支持統(tǒng)一固件 update.img 和分區(qū)鏡像的燒寫(xiě)。
開(kāi)源工具則有兩個(gè)選擇:
rkflashtool https://github.com/Galland/rkflashtool_rk3066
rkflashkit https://github.com/linuxerwang/rkflashkit
它們都僅支持分區(qū)映像燒寫(xiě),不支持統(tǒng)一固件。rkflashtool 是命令行工具,rkflashkit 有圖形界面,后加了命令行支持,更是好用。以下僅對(duì) rkflashkit 做介紹。
Linux 下無(wú)須安裝設(shè)備驅(qū)動(dòng),參照 Windows 章節(jié)連接設(shè)備則可。
upgrade_tool
下載 Linux_Upgrade_Tool, 并按以下方法安裝到系統(tǒng)中,方便調(diào)用:
unzip Linux_Upgrade_Tool_v1.21.zip cd Linux_UpgradeTool_v1.21 sudo mv upgrade_tool /usr/local/bin sudo chown root:root /usr/local/bin/upgrade_tool
燒寫(xiě)統(tǒng)一固件 update.img:
sudo upgrade_tool uf update.img
燒寫(xiě)分區(qū)鏡像:
sudo upgrade_tool di -b /path/to/boot.img sudo upgrade_tool di -k /path/to/kernel.img sudo upgrade_tool di -s /path/to/system.img sudo upgrade_tool di -r /path/to/recovery.img sudo upgrade_tool di -m /path/to/misc.img sudo upgrade_tool di resource /path/to/resource.img sudo upgrade_tool di -p paramater #燒寫(xiě) parameter sudo upgrade_tool ul bootloader.bin # 燒寫(xiě) bootloader
如果因 flash 問(wèn)題導(dǎo)致升級(jí)時(shí)出錯(cuò),可以嘗試低級(jí)格式化、擦除 nand flash:
sudo upgrade_tool lf # 低級(jí)格式化 sudo upgrade_tool ef # 擦除
rkflashkit
安裝:
sudo apt-get install build-essential fakeroot git clone https://github.com/linuxerwang/rkflashkit cd rkflashkit ./waf debian sudo apt-get install python-gtk2 sudo dpkg -i rkflashkit_0.1.4_all.deb
圖形界面:
sudo rkflashkit
命令行:
$ rkflashkit --help Usage: [args] [ [args]...] part List partition flash @ Flash partition with image file cmp @ Compare partition with image file backup @ Backup partition to image file erase @ Erase partition reboot Reboot device For example, flash device with boot.img and kernel.img, then reboot: sudo rkflashkit flash @boot boot.img @kernel.img kernel.img reboot
幫助信息里有使用示例,可以看出,一條命令就可以燒寫(xiě)多個(gè)映像文件并重啟設(shè)備,對(duì)需要經(jīng)常編譯和燒寫(xiě)內(nèi)核的開(kāi)發(fā)者來(lái)說(shuō),是一大福音。
-
嵌入式主板
+關(guān)注
關(guān)注
7文章
6084瀏覽量
35154 -
安卓
+關(guān)注
關(guān)注
5文章
2116瀏覽量
56962 -
Firefly
+關(guān)注
關(guān)注
2文章
538瀏覽量
6963
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論