啟動模式說明
前言
ROC-RK3308-CC 有著非常靈活的啟動方式。一般情況下,除非硬件損壞,ROC-RK3308-CC 主板是不會變磚的。
如果在升級過程中出現(xiàn)意外,bootloader 損壞,導(dǎo)致無法重新升級,此時仍可以進(jìn)入MaskRom模式來修復(fù)。
加載方式
ROC-RK3308-CC 有 32KB 的 BootRom 和 256KB 的內(nèi)部 SRAM,支持從以下設(shè)備加載系統(tǒng):
8位 Async Nand Flash
8位 toggle Nand Flash
SPI 接口
eMMC 接口
SDMMC 接口
啟動次序
啟動的次序是這樣的:
主控上電初始化
BootRom 代碼在 SRAM 上運(yùn)行,校驗(yàn)存儲設(shè)備里的 bootloader
校驗(yàn)通過,加載并運(yùn)行 bootloader 引導(dǎo)代碼
bootloader 引導(dǎo)代碼負(fù)責(zé)初始化 DDR 內(nèi)存,加載 bootloader 完整代碼到 DDR 內(nèi)存中并運(yùn)行
bootloader 加載存儲設(shè)備上的 Linux 內(nèi)核,并將執(zhí)行權(quán)交給 Linux 內(nèi)核
啟動模式
ROC-RK3308-CC 有四種啟動模式:
Loader 模式
MaskRom 模式
Recovery 模式
Normal 模式
Loader 模式
Loader 模式下,可以進(jìn)行固件的燒寫、升級。可以通過工具單獨(dú)燒寫某一個分區(qū)鏡像文件,方便調(diào)試。
要進(jìn)入 Loader 模式,必須讓 bootloader 在啟動時檢測到 RECOVERY(恢復(fù))鍵按下,且 OTG (Type-C接口)處于連接狀態(tài),方法是:
設(shè)備先斷開電源。
USB Type-C 線一端的USB 2.0接口先連接主機(jī)。
按住設(shè)備上的 RECOVERY (恢復(fù))鍵并保持。
USB Type-C 的另一端 Type-C 接口連接設(shè)備。
大約兩秒鐘后,松開 RECOVERY 鍵。
MaskRom 模式
Flash 在未燒錄固件時,芯片會引導(dǎo)進(jìn)入 Maskrom 模式,可以進(jìn)行初次固件的燒寫;開發(fā)調(diào)試過程中若遇到 Loader 無法正常啟動的情況,也可進(jìn)入 Maskrom 模式燒寫固件
MaskRom 模式多用于 bootloader 損壞時的系統(tǒng)修復(fù)。
一般情況下是不用進(jìn)入 MaskRom 模式的,只有在 bootloader 校驗(yàn)失敗(讀取不了 IDR 塊,或 bootloader 損壞) 的情況下,BootRom 代碼 就會進(jìn)入 MaskRom 模式。此時 BootRom 代碼等待主機(jī)通過 USB 接口傳送 bootloader 代碼,加載并運(yùn)行之。
Recovery
系統(tǒng)引導(dǎo) recovery 啟動,主要作用是升級、恢復(fù)出廠設(shè)置類操作。
Normal 模式
系統(tǒng)引導(dǎo) rootfs 啟動,加載 rootfs,大多數(shù)的開發(fā)都是在這個模式在調(diào)試的。
-
Linux
+關(guān)注
關(guān)注
87文章
11304瀏覽量
209524 -
嵌入式主板
+關(guān)注
關(guān)注
7文章
6085瀏覽量
35342 -
Firefly
+關(guān)注
關(guān)注
2文章
538瀏覽量
7046 -
RK3308
+關(guān)注
關(guān)注
1文章
39瀏覽量
1132
發(fā)布評論請先 登錄
相關(guān)推薦
評論