RK3568開(kāi)發(fā)板OTA升級

發(fā)布時(shí)間:2025-3-31 15:40    發(fā)布者:秦徹呀呀呀
OTA(Over-The-Air)升級作為一種無(wú)損失的系統升級方式,能夠遠程將新功能部署到產(chǎn)品上,極大地提高了設備的可維護性和可擴展性。除了通過(guò)網(wǎng)絡(luò )直接下載OTA升級包外,我們還可以通過(guò)將升級包下載到SD卡或U盤(pán)后,再對設備進(jìn)行本地升級。

本文將基于飛凌嵌入式RK3568開(kāi)發(fā)板,詳細介紹OTA升級的流程,特別是本地升級程序recovery的執行流程及技術(shù)細節。

一、制作recovery.img
首先,我們需要制作recovery鏡像。recovery相關(guān)的源碼位于buildroot/output/OK3568-recovery/build/recovery-develop目錄下。

源碼修改與編譯
  • 如果修改過(guò)該目錄下的源碼文件,需要執行以下操作:
    • 進(jìn)入源碼目錄:forlinx@ubuntu:~/OK3568-linux-source$ source envsetup.sh
    • 選擇某一平臺的recovery配置,輸入96(具體數字可能因平臺而異)。
    • 清除編譯產(chǎn)物并重新編譯recovery:forlinx@ubuntu:~/OK3568-linux-source$ make recovery-dirclean && make recovery
    • 清除rkupdate編譯產(chǎn)物并重新編譯:forlinx@ubuntu:~/OK3568-linux-source$ make rkupdate-dirclean && make rkupdate
  • 如果沒(méi)有修改過(guò)源碼文件,則直接執行以下操作:
    • 編譯生成recovery.img:forlinx@ubuntu:~/OK3568-linux-source$ ./build.sh recovery
    • 將生成的固件拷貝至rockdev/目錄下:forlinx@ubuntu:~/OK3568-linux-source$ ./mkfirmware.sh


燒寫(xiě)recovery.img
將生成的recovery.img文件燒寫(xiě)到設備的指定分區。具體操作通常是通過(guò)設備分區表,勾選對應的recovery分區(如分區9),選擇recovery.img路徑,然后點(diǎn)擊執行燒寫(xiě)操作。
二、制作升級鏡像
為了驗證升級是否成功,我們需要對boot.img文件進(jìn)行修改。boot.img文件存放有設備樹(shù)和內核,我們可以通過(guò)修改設備樹(shù)來(lái)實(shí)現升級效果。

修改設備樹(shù)文件
修改/OK3568-linux-source/kernel/arch/arm64/boot/dts/rockchip/OK3568-C-common.dtsi文件,對forlinx_control節點(diǎn)進(jìn)行如下修改,以默認只打開(kāi)HDMI輸出,關(guān)閉MIPI和LVDS輸出:
/ {   model =“Forlinx OK3568-C Board";   compatible ="forlinx,ok3568","rockchip,rk3568-evb1-ddr4-V10","rockchip,rk3568";   forlinx control {           status ="okay";           video-hdmi ="hdmi";           video-mipi-edp ="off";           video-lvds-rgb ="off";       };
修改package-file文件
根據升級需求修改/OK3568-linux-source/tools/linux/Linux_Pack_Firmware/rockdev/package-file文件。

本例中以更新boot.img為例,所以將其他.img文件注釋掉。用戶(hù)可以根據實(shí)際產(chǎn)品更新需求對該文件進(jìn)行調整。
重新編譯內核
修改完設備樹(shù)后,需要重新編譯內核以生成新的boot.img文件。
三、升級操作
SD卡或U盤(pán)升級
將SD卡或U盤(pán)默認掛載到RK3568開(kāi)發(fā)板的/run/media目錄下。將update.img鏡像文件拷貝到開(kāi)發(fā)板的/userdata目錄下。重啟開(kāi)發(fā)板后,系統將自動(dòng)檢測該目錄下的升級包并進(jìn)行升級。

FTP服務(wù)器升級
在RK3568開(kāi)發(fā)板端執行相應命令,將FTP服務(wù)器上的升級包文件拷貝到開(kāi)發(fā)板進(jìn)行升級。
下載完成后,使用update ota /userdata/update.img命令進(jìn)行升級。
升級過(guò)程中設備將會(huì )進(jìn)入recovery模式,并進(jìn)行自動(dòng)升級。升級成功后,設備將進(jìn)入正常系統(normal系統)。
四、驗證測試結果
燒寫(xiě)默認出廠(chǎng)鏡像文件
將RK3568開(kāi)發(fā)板上電,串口終端按住空格鍵進(jìn)入uboot選屏界面。燒寫(xiě)默認出廠(chǎng)鏡像文件后,觀(guān)察現象:默認開(kāi)啟HDMI、MIPI和LVDS三個(gè)輸出。
燒寫(xiě)升級包鏡像文件
燒寫(xiě)升級包鏡像文件后,觀(guān)察現象:只有HDMI顯示開(kāi)啟,其他兩個(gè)輸出被關(guān)閉。這驗證了升級操作的成功性。
五、注意事項
打包update.img固件
  • 升級固件可以全分區打包,也可以部分升級。通過(guò)修改package-file文件,可以去掉不需要升級的分區,從而減小升級包(update.img)的大小。
  • 如果package-file中包含了recovery.img,它不會(huì )在recovery模式中升級。為了預防升級過(guò)程中掉電導致其他分區無(wú)法正常升級的問(wèn)題,recovery.img的升級放在normal系統下執行。執行update命令時(shí),會(huì )先檢測update.img升級包中是否包含recovery.img,若有則升級recovery分區,再進(jìn)入recovery模式升級其他分區固件。

misc分區
  • misc分區不建議打包進(jìn)update.img中。即使打包進(jìn)去,在升級程序中加載判斷到后也會(huì )忽略該分區。即使升級了misc分區,升級成功后recovery程序仍會(huì )清空misc分區中所有的命令及參數,從而達到預期效果。

userdata分區
  • 若將update.img升級包放置在flash中的userdata分區,則需要保證package-file中不包括userdata.img被打包進(jìn)去,以防止文件系統的損壞和分區mount不成功的問(wèn)題。
  • 若從SD卡或U盤(pán)升級時(shí),可以打包userdata.img,從而對userdata分區進(jìn)行升級。升級完成后,會(huì )對userdata分區重新進(jìn)行resize操作。

通過(guò)以上步驟和注意事項,我們可以成功地在OK3568-C開(kāi)發(fā)板上實(shí)現OTA升級操作,并驗證升級效果。希望本文能夠對大家在OTA升級方面的項目開(kāi)發(fā)有所幫助。​​​​

本文地址:http://selenalain.com/thread-884852-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页