本文來源電子發(fā)燒友社區(qū),作者:ouxiaolong, 帖子地址:https://bbs.elecfans.com/jishu_2303840_1_1.html
開發(fā)環(huán)境:
主機:Ubuntu 18.04
開發(fā)板:ROC-RK3568-PC開發(fā)板
ROC-RK3568-PC開發(fā)板可以使用USB和TF卡燒寫,USB是最常用的燒寫方式,一般在系統(tǒng)變磚后使用該方式。
2.1燒寫(更新)固件前準(zhǔn)備工作
2.1.1 安裝 RK USB 驅(qū)動
在更新固件前,需要安裝RK USB驅(qū)動。
下載 Release_DriverAssistant.zip,解壓,然后運行里面的 DriverInstall.exe。
安裝成功后,PC的設(shè)備管理器顯示信息如下:
說明驅(qū)動安裝成功。
2.1.2固件準(zhǔn)備
這里可以使用Firefly官方的固件,在這里需要對RK3568的固件做一個簡單介紹,RK3568固件文件一般有兩種:
單個統(tǒng)一固件:統(tǒng)一固件是由分區(qū)表、bootloader、uboot、kernel、文件系統(tǒng)所有文件打包合并成的單個文件。這一般是量產(chǎn)采用的方式。
多個分區(qū)鏡像:即各個功能獨立的文件,如分區(qū)表、bootloader、kernel 等,在開發(fā)階段生成。獨立分區(qū)鏡像可以只更新指定的分區(qū),而保持其它分區(qū)數(shù)據(jù)不被破壞,在開發(fā)過程中會很方便調(diào)試。我們在學(xué)習(xí)Linux開發(fā)過程中也是常用的該方式。
筆者本文將講解單個統(tǒng)一固件燒寫的方式,關(guān)于多個分區(qū)鏡像燒寫將在系統(tǒng)移植講解。
值得注意的是,通過統(tǒng)一固件解包/打包工具,可以把統(tǒng)一固件解包為多個分區(qū)鏡像,也可以將多個分區(qū)鏡像合并為一個統(tǒng)一固件。可以說,單個統(tǒng)一固件和多個分區(qū)鏡像本質(zhì)是一樣的。
筆者這里使用Firefly官網(wǎng)提供的固件。
2.1.3 RK3568啟動模式簡介
在開始更新固件之間,還需要了解下RK3568的啟動模式,這樣有助于理解后面的操作。
RK3568有三種啟動模式:Normal 模式、Loader 模式和MaskRom 模式。
1.Normal模式
Normal 模式就是正常的啟動過程,各個組件依次加載,正常進入系統(tǒng),也就是我們正常開機的模式。
2.Loader模式
在 Loader 模式下,bootloader 會進入升級狀態(tài),等待主機命令,用于固件升級等。要進入 Loader 模式,必須讓 bootloader 在啟動時檢測到 RECOVERY(恢復(fù))鍵按下,且 USB 處于連接狀態(tài)。該模式就是我們需要燒寫或更新固件需要進入的模式。
3.MaskRom模式
MaskRom 模式用于bootloader損壞時的系統(tǒng)修復(fù)。一般情況下是不用進入 MaskRom 模式的,只有在 bootloader 校驗失敗(讀取不了 IDR 塊,或 bootloader 損壞)的情況下,BootRom 代碼就會進入 MaskRom 模式。此時 BootRom 代碼等待主機通過 USB 接口傳送 bootloader 代碼,加載并運行之。
2.2 USB OTG燒寫固件
使用USB OTG燒寫系統(tǒng)可采用全燒寫也可采用分布燒寫,本文采用全燒寫。
下載RKDevTool,解壓,運行RKDevTool_Release_v2.86目錄里面的 RKDevTool.exe。
接下來就是正式進入固件燒寫過程。
1.使設(shè)備進入升級模式。
設(shè)備進入升級模式的方法:
USB 一端連接主機,另一端連接開發(fā)板,按住設(shè)備上的 RECOVERY (恢復(fù))鍵并保持,接上電源,大約兩秒鐘后,松開 RECOVERY 鍵,即可進入RECOVERY模式。
2.將切換RKDevTool‘升級固件’頁面。
3.按‘固件’按鈕,選擇要升級的固件文件。升級工具會顯示詳細(xì)的固件信息。
4.按‘升級’按鈕開始升級。
等待燒寫為完成即可。
值得注意的是,如果燒寫失敗,可以嘗試先按‘擦除 Flash’按鈕來擦除 Flash,然后再升級。
當(dāng)然啦,也可通過軟件方式進入Loader模式,在Type-C 數(shù)據(jù)線接好后在串口調(diào)試終端或adb shell給板子運行以下命令:
#reboot loader
2.3 TF卡燒寫固件
ROC-RK3568-PC開發(fā)板出廠默認(rèn)已經(jīng)燒寫了Andrid系統(tǒng),但Andrid不一定滿足需求,因此會進行系統(tǒng)移植,當(dāng)移植的系統(tǒng)在升級過程中出現(xiàn)意外,無法啟動,直接變磚了,導(dǎo)致無法重新升級,這個不要慌,可通過MaskRom 模式來修復(fù)。
2.3.1格式化TF卡
1.安裝SD Card Formatter 5.0.2 Setup.exe 軟件,將SD插入USB讀卡器,再插入到電腦USB口上。
2.打開SdCardFormatter 格式化工具,格式化步驟如下如所示。
選擇要格式化的 SD 卡,選中 Quick format,點擊 Format。
在彈出的對話框中點擊是(Y)。
3.等待格式化完成,在彈出的對話框中點擊確定
2.3.2官方燒寫工具SDDiskTool
1.解壓SDDiskTool_v1.59.zip軟件,將SD插入USB讀卡器,再插入到電腦USB口上。
2.打開SD_Firmware_Tool,勾選“固件升級”框(默認(rèn)勾選),選擇正確的可移動磁盤設(shè)備和升級固件。點擊“開始創(chuàng)建”即可開始下載固件。
等待燒寫完成即可。
2.3.3第三方燒寫工具Win32diskimager
1.安裝Win32diskimager-1.0.0-install.exe軟件,將SD插入USB讀卡器,再插入到電腦USB口上。
2.使用 Win32diskimager 燒寫映像文件 sdcard.img(buildroot文件系統(tǒng)),選擇 SD 卡、選擇映像文件 sdcard.img,然后點擊“寫入”,操作步驟如下圖所示。
確認(rèn)覆蓋。
等到燒寫完成。
燒寫成功后,彈出對話框“寫入成功”,此時點擊 OK,拔下 SD 卡,將啟動開關(guān)撥到 SD 卡處,上電啟動開發(fā)板。
2.3.4系統(tǒng)燒寫
將 TF 卡插入開發(fā)板并啟動,系統(tǒng)將自動進入燒寫流程。燒寫完成后屏幕和串口都將提示:
Please remove SD CARD!!!, wait for reboot.
此時,拔出 TF 卡,系統(tǒng)自動重新啟動(請勿直接斷電),TF卡常用于板子變磚后燒寫固件。
2.4系統(tǒng)調(diào)試
如果系統(tǒng)燒寫成功后,接下來就可以調(diào)試系統(tǒng)了,最常用的就是調(diào)試。推薦使用putty、SecureCRT或Xshell 7等終端工具。
連接好串口,設(shè)置波特率為115200,然后就可以進入到Linux系統(tǒng)了。
當(dāng)然啦,如果PC配置adb,也可使用adb進入系統(tǒng),和使用串口的效果是一樣的。
接下來將針對ROC-RK3568-PC進一步開發(fā),盡情期待。
-
RK3568
+關(guān)注
關(guān)注
4文章
526瀏覽量
5238 -
開發(fā)板試用
+關(guān)注
關(guān)注
3文章
301瀏覽量
2152
發(fā)布評論請先 登錄
相關(guān)推薦
評論