RK3399可以通過(guò)哪些方式強(qiáng)制進(jìn)入MaskRom模式呢
2025/7/3 17:47:34??????點(diǎn)擊:
一、啟動(dòng)模式簡(jiǎn)介
RK3399有三種啟動(dòng)模式:1、Normal模式;2、Loader模式;3、MaskRom模式。
Normal模式是正常的啟動(dòng)過(guò)程,各個(gè)組件依次加載,直到正常進(jìn)入系統(tǒng)。
Loader模式會(huì)讓bootloader進(jìn)入升級(jí)狀態(tài),等待主機(jī)命令,用于固件升級(jí)等。Firefly-RK3399要進(jìn)入Loader模式,需要在bootloader啟動(dòng)時(shí)檢測(cè)到RECOVERY(恢復(fù))鍵被按下,并且USB處于和PC連接的狀態(tài)。
MaskRom模式是設(shè)備變磚的最后一條防線,用于bootloader損壞時(shí)進(jìn)行系統(tǒng)修復(fù)。一般情況下是不用進(jìn)入MaskRom模式的,只有在設(shè)備進(jìn)入不了Loader模式(bootloader校驗(yàn)失敗,讀取不了IDR塊,或bootloader損壞)、SD卡啟動(dòng)也失效的情況下,BootRom代碼才會(huì)進(jìn)入MaskRom模式。此時(shí)BootRom代碼等待主機(jī)通過(guò)USB接口傳送bootloader代碼,傳送完成后進(jìn)行加載并運(yùn)行,并進(jìn)入Loader模式。
二、啟動(dòng)流程分析
RK3399支持靈活的啟動(dòng)方式,可以從NandFlash、SPI Flash、eMMC Flash和SD卡啟動(dòng)。

上圖是RK3399的啟動(dòng)流程圖。上電后,A53核從0xffff0000地址得到第一條執(zhí)行指令,之后,BootRom代碼在SRAM上運(yùn)行,依次校驗(yàn)存儲(chǔ)設(shè)備里的bootloader,如果校驗(yàn)通過(guò),則加載并運(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)核。如果所有的存儲(chǔ)設(shè)備的bootloader都無(wú)法校驗(yàn)通過(guò),則會(huì)自動(dòng)進(jìn)入MaskRom模式。
三、“準(zhǔn)備IDB失敗”問(wèn)題
在從Flint OS固件刷回Ubuntu固件的過(guò)程中,出現(xiàn)了“準(zhǔn)備IDB失敗”的問(wèn)題,無(wú)論是哪一個(gè)版本的固件都無(wú)法成功燒寫(xiě),應(yīng)該是檢查ID Block的過(guò)程出現(xiàn)了問(wèn)題,這種情況下是比較麻煩的,既無(wú)法進(jìn)入U(xiǎn)-Boot,又沒(méi)有自動(dòng)進(jìn)入MaskRom模式,所以需要強(qiáng)制進(jìn)入MaskRom模式來(lái)進(jìn)行修復(fù)。要強(qiáng)行進(jìn)入MaskRom模式,可以人為的把Flash的數(shù)據(jù)腳與地線短接,讓系統(tǒng)會(huì)認(rèn)為Flash數(shù)據(jù)出錯(cuò),從而清除Flash數(shù)據(jù),F(xiàn)lash數(shù)據(jù)被清除后,無(wú)法通過(guò)ID Block檢查,從而進(jìn)入MaskRom模式。
四、進(jìn)入MaskRom模式
出現(xiàn)了“準(zhǔn)備IDB失敗”也就宣告了無(wú)法通過(guò)Loader模式進(jìn)行固件更新了,只能通過(guò)強(qiáng)制進(jìn)入MaskRom模式重新下載U-boot進(jìn)行固件更新。
Firefly-rk3399在硬件上預(yù)留了焊點(diǎn)(TP31,TP32),可以通過(guò)以下方式強(qiáng)制進(jìn)入MaskRom模式:
1、設(shè)備斷開(kāi)所有電源,拔出SD卡,并用USBType-C線連接好設(shè)備和主機(jī);
2、 在開(kāi)發(fā)板的背面找到預(yù)留的焊點(diǎn)(TP31, TP32),如下圖所示;
3、用金屬針接通的預(yù)留的焊點(diǎn)(TP31,TP32),并保持;
4、給設(shè)備上電;
5、稍候片刻,之后松開(kāi)金屬針,設(shè)備就會(huì)進(jìn)入MaskRom模式。
可以看到,進(jìn)入MaskRom模式后,進(jìn)行固件升級(jí)時(shí),首先會(huì)下載Boot,當(dāng)Boot成功更新后,MaskRom模式會(huì)自動(dòng)進(jìn)入Loader模式,對(duì)固件進(jìn)行進(jìn)一步的更新,這時(shí)可以發(fā)現(xiàn)IDB的準(zhǔn)備過(guò)程不再提示出現(xiàn)錯(cuò)誤,固件可以成功燒錄。
- 上一篇: 慶祝林顯菊入職十周年 2025/7/7
- 下一篇:2025.6.19 經(jīng)驗(yàn)分享會(huì) 2025/6/20