燒寫固件
啟動(dòng)模式說明
前言
AIO-3399JD4 有靈活的啟動(dòng)方式。一般情況下,除非硬件損壞,AIO-3399JD4 開發(fā)板是不會(huì)變磚的。
如果在升級過程中出現(xiàn)意外,bootloader 損壞,導(dǎo)致無法重新升級,此時(shí)仍可以進(jìn)入 MaskRom 模式來修復(fù)。
加載方式
AIO-3399JD4 有 32KB 的 BootRom 和 200KB 的內(nèi)部 SRAM,支持從以下設(shè)備加載系統(tǒng):
SPI 接口
eMMC 接口
SDMMC 接口
另外 AIO-3399JD4 支持從 USB OTG 接口下載系統(tǒng)代碼。
啟動(dòng)次序
啟動(dòng)的次序是這樣的:
主控上電初始化
BootRom 代碼在 SRAM 上運(yùn)行,校驗(yàn)存儲(chǔ)設(shè)備里的 bootloader
校驗(yàn)通過,加載并運(yùn)行 bootloader 引導(dǎo)代碼
bootloader 引導(dǎo)代碼負(fù)責(zé)初始化 DDR 內(nèi)存,加載 bootloader 完整代碼到 DDR 內(nèi)存中并運(yùn)行
bootloader 加載存儲(chǔ)設(shè)備上的 Linux 內(nèi)核,并將執(zhí)行權(quán)交給 Linux 內(nèi)核
啟動(dòng)模式
AIO-3399JD4 有三種啟動(dòng)模式:
Normal 模式
Loader 模式
MaskRom 模式
Normal 模式
Normal 模式就是正常的啟動(dòng)過程,各個(gè)組件依次加載,正常進(jìn)入系統(tǒng)。
Loader 模式
在 Loader 模式下,bootloader 會(huì)進(jìn)入升級狀態(tài),等待主機(jī)命令,用于固件升級等。要進(jìn)入 Loader 模式,必須讓 bootloader 在啟動(dòng)時(shí)檢測到 RECOVERY(恢復(fù))鍵按下,且 USB 處于連接狀態(tài)。使設(shè)備進(jìn)入升級模式方法如下:
斷開電源適配器
雙公頭 USB 線連接好設(shè)備和主機(jī)。
按住設(shè)備上的 RECOVERY (恢復(fù))鍵并保持。
插上電源。
大約兩秒鐘后,松開 RECOVERY 鍵。
MaskRom 模式
MaskRom 模式用于 bootloader 損壞時(shí)的系統(tǒng)修復(fù)。
一般情況下是不用進(jìn)入 MaskRom 模式的,只有在 bootloader 校驗(yàn)失?。ㄗx取不了 IDB 塊,或 bootloader 損壞) 的情況下,BootRom 代碼 就會(huì)進(jìn)入 MaskRom 模式。此時(shí) BootRom 代碼等待主機(jī)通過 USB 接口傳送 bootloader 代碼,加載并運(yùn)行之。
燒寫工具下載地址(根據(jù)下表下載對應(yīng)版本)
upgrade_tool
Android_tool
固件
官方固件:官方云盤提供的Ubuntu固件中,帶MBR字樣的為舊版本SDK編譯出來的MBR固件,帶GPT字樣的為新SDK編譯出來的GPT固件.
請認(rèn)真閱讀下表,再進(jìn)行燒寫:
升級固件
前言
本文介紹了如何將主機(jī)上的固件文件,通過公對公USB線,燒錄到開發(fā)板的閃存中。升級時(shí),需要根據(jù)主機(jī)操作系統(tǒng)和固件類型來選擇合適的升級方式。
準(zhǔn)備工作
AIO-3399JD4 開發(fā)板
固件
主機(jī)
公對公USB線
固件文件一般有兩種:
單個(gè)統(tǒng)一固件 update.img, 將啟動(dòng)加載器、參數(shù)和所有分區(qū)鏡像都打包到一起,用于固件發(fā)布。
多個(gè)分區(qū)鏡像,如 kernel.img, rootfs.img, recovery.img 等,在開發(fā)階段生成。
可以在這里找到已編譯好的統(tǒng)一[AIO-3399JD4固件(提取碼:jbmd)]https://pan.baidu.com/s/1pSJTa3EarQCBpYniZAGprQ,下載后解壓。也可以參考編譯固件的說明自行編譯。
主機(jī)操作系統(tǒng)支持:
Windows XP (32/64位)
Windows 7 (32/64位)
Windows 8 (32/64位)
Linux (32/64位)
Windows
工具: Androidtool_xxx(版本號)
注意:不同固件使用的工具版本可能不同,請根據(jù)燒寫須知下載對應(yīng)的版本
安裝 RK USB 驅(qū)動(dòng)
下載 Release_DriverAssistant.zip ,解壓,然后運(yùn)行里面的 DriverInstall.exe 。為了所有設(shè)備都使用更新的驅(qū)動(dòng),請先選擇”驅(qū)動(dòng)卸載”,然后再選擇”驅(qū)動(dòng)安裝”。
連接設(shè)備
按照以下方式可以使設(shè)備進(jìn)入升級模式
先斷開電源適配器連接:
公對公USB線一端連接主機(jī),一端連接開發(fā)板
按住設(shè)備上的 RECOVERY (恢復(fù))鍵并保持。
接上電源
大約兩秒鐘后,松開 RECOVERY 鍵。
主機(jī)應(yīng)該會(huì)提示發(fā)現(xiàn)新硬件并配置驅(qū)動(dòng)。打開設(shè)備管理器,會(huì)見到新設(shè)備”Rockusb Device” 出現(xiàn),如下圖。如果沒有,則需要返回上一步重新安裝驅(qū)動(dòng)。
燒寫固件
下載 AndroidTool,解壓,運(yùn)行 AndroidTool_Release_xx 目錄里面的 AndroidTool.exe(注意,如果是 Windows 7/8,需要按鼠標(biāo)右鍵,選擇以管理員身份運(yùn)行),如下圖:
燒寫統(tǒng)一固件 update.img
燒寫統(tǒng)一固件 update.img 的步驟如下:
切換至”升級固件”頁。
按”固件”按鈕,打開要升級的固件文件。升級工具會(huì)顯示詳細(xì)的固件信息。
按”升級”按鈕開始升級。
如果升級失敗,可以嘗試先按”擦除Flash”按鈕來擦除 Flash,然后再升級。一定要根據(jù) 燒寫須知 進(jìn)行擦除燒寫
注意:如果你燒寫的固件laoder版本與原來的機(jī)器的不一致,請?jiān)谏壒碳跋葓?zhí)行”擦除Flash”。
燒寫分區(qū)映像
每個(gè)固件的分區(qū)可能不相同,請注意以下兩點(diǎn):
使用Androidtool_2.38燒寫ubuntu(MBR)和Android7.1固件時(shí)使用默認(rèn)配置即可;
使用Androidtool_2.58燒寫ubuntu(GPT)使用默認(rèn)配置即可,燒寫Android8.1固件請先執(zhí)行以下操作:
切換至”下載鏡像頁面”; 右鍵點(diǎn)擊表格,選擇”導(dǎo)入配置”; 選擇rk3399-Android81.cfg
燒寫分區(qū)映像的步驟如下:
切換至”下載鏡像”頁。
勾選需要燒錄的分區(qū),可以多選。
確保映像文件的路徑正確,需要的話,點(diǎn)路徑右邊的空白表格單元格來重新選擇。
點(diǎn)擊”執(zhí)行”按鈕開始升級,升級結(jié)束后設(shè)備會(huì)自動(dòng)重啟。
Linux
Linux 下無須安裝設(shè)備驅(qū)動(dòng),參照 Windows 章節(jié)連接設(shè)備則可。
工具:upgrade_tool_xxx(版本號)
注意:不同固件使用的工具版本可能不同,請根據(jù)燒寫須知下載對應(yīng)的版本
upgrade_tool
下載 Linux_Upgrade_Tool, 并按以下方法安裝到系統(tǒng)中,方便調(diào)用:
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 a+x /usr/local/bin/upgrade_tool
燒寫統(tǒng)一固件 update.img:
sudo upgrade_tool uf update.img
如果升級失敗,可以嘗試先擦除后再升級。一定要根據(jù)燒寫須知的表格(upgrade_table.md)進(jìn)行擦除燒寫
# 擦除flash 使用ef參數(shù)需要指定loader文件或者對應(yīng)的update.img sudo upgrade_tool ef update.img #update.img :你需要燒寫的ubuntu固件 # 重新燒寫 sudo upgrade_tool uf update.img
燒寫分區(qū)鏡像:Ubuntu(MBR)、Android7.1、Android8.1,使用以下方式:
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 #燒寫 parameter sudo upgrade_tool ul bootloader.bin # 燒寫 bootloader
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 -b $BOOT sudo upgrade_tool di -r $RECOVERY sudo upgrade_tool di -m $MISC sudo upgrade_tool di -oem $OEM sudo upgrade_tool di -userdata $USERDATA sudo upgrade_tool di -rootfs $ROOTFS
如果因 flash 問題導(dǎo)致升級時(shí)出錯(cuò),可以嘗試低級格式化、擦除 nand flash:
sudo upgrade_tool lf update.img # 低級格式化 sudo upgrade_tool ef update.img # 擦除
常見問題
如何強(qiáng)行進(jìn)入 MaskRom 模式
如果板子進(jìn)入不了 Loader 模式,此時(shí)可以嘗試強(qiáng)行進(jìn)入 MaskRom 模式。操作方法見《如何進(jìn)入 MaskRom 模式》。
MaskRom模式
MaskRom 模式是設(shè)備變磚的最后一條防線。強(qiáng)行進(jìn)入 MaskRom 涉及硬件操作,有一定風(fēng)險(xiǎn),因此僅在設(shè)備進(jìn)入不了 Loader 模式的情況下,方可嘗試 MaskRom 模式。
請小心閱讀,并謹(jǐn)慎操作! 操作步驟如下:
設(shè)備斷開所有電源。
拔出 SD 卡。
用公對公USB線連接好設(shè)備和主機(jī)。
用金屬鑷子接通核心板上的如下圖所示的兩個(gè)測試點(diǎn),并保持。
設(shè)備插入電源。
稍候片刻,之后松開鑷子。
這時(shí),設(shè)備應(yīng)該就會(huì)進(jìn)入 MaskRom 模式。
-
嵌入式主板
+關(guān)注
關(guān)注
7文章
6085瀏覽量
35295 -
安卓
+關(guān)注
關(guān)注
5文章
2126瀏覽量
57146 -
Firefly
+關(guān)注
關(guān)注
2文章
538瀏覽量
7027
發(fā)布評論請先 登錄
相關(guān)推薦
評論