0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

流川楓楓 ? 來(lái)源:流川楓楓 ? 作者:流川楓楓 ? 2025-04-21 14:32 ? 次閱讀

OTA(Over-The-Air)升級(jí)作為一種無(wú)損失的系統(tǒng)升級(jí)方式,能夠遠(yuǎn)程將新功能部署到產(chǎn)品上,極大地提高了設(shè)備的可維護(hù)性和可擴(kuò)展性。除了通過(guò)網(wǎng)絡(luò)直接下載OTA升級(jí)包外,我們還可以通過(guò)將升級(jí)包下載到SD卡或U盤后,再對(duì)設(shè)備進(jìn)行本地升級(jí)。

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

一、制作recovery.img

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

源碼修改與編譯

如果修改過(guò)該目錄下的源碼文件,需要執(zhí)行以下操作:

進(jìn)入源碼目錄:forlinx@ubuntu:~/OK3568-linux-source$ source envsetup.sh

選擇某一平臺(tái)的recovery配置,輸入96(具體數(shù)字可能因平臺(tái)而異)。

清除編譯產(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ò)源碼文件,則直接執(zhí)行以下操作:

編譯生成recovery.img:forlinx@ubuntu:~/OK3568-linux-source$ ./build.sh recovery

將生成的固件拷貝至rockdev/目錄下:forlinx@ubuntu:~/OK3568-linux-source$ ./mkfirmware.sh

燒寫recovery.img

將生成的recovery.img文件燒寫到設(shè)備的指定分區(qū)。具體操作通常是通過(guò)設(shè)備分區(qū)表,勾選對(duì)應(yīng)的recovery分區(qū)(如分區(qū)9),選擇recovery.img路徑,然后點(diǎn)擊執(zhí)行燒寫操作。

wKgZPGgF5pSAN1OWAACJrzzztYY42.jpeg

二、制作升級(jí)鏡像

為了驗(yàn)證升級(jí)是否成功,我們需要對(duì)boot.img文件進(jìn)行修改。boot.img文件存放有設(shè)備樹(shù)和內(nèi)核,我們可以通過(guò)修改設(shè)備樹(shù)來(lái)實(shí)現(xiàn)升級(jí)效果。

修改設(shè)備樹(shù)文件

修改/OK3568-linux-source/kernel/arch/arm64/boot/dts/rockchip/OK3568-C-common.dtsi文件,對(duì)forlinx_control節(jié)點(diǎn)進(jìn)行如下修改,以默認(rè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文件

根據(jù)升級(jí)需求修改/OK3568-linux-source/tools/linux/Linux_Pack_Firmware/rockdev/package-file文件。

本例中以更新boot.img為例,所以將其他.img文件注釋掉。用戶可以根據(jù)實(shí)際產(chǎn)品更新需求對(duì)該文件進(jìn)行調(diào)整。

wKgZO2gF5pWAapDrAACVK8RykOQ99.jpeg

重新編譯內(nèi)核

修改完設(shè)備樹(shù)后,需要重新編譯內(nèi)核以生成新的boot.img文件。

wKgZPGgF5pWAN6kIAABT0XMQbhA45.jpeg

三、升級(jí)操作

SD卡或U盤升級(jí)

將SD卡或U盤默認(rèn)掛載到RK3568開(kāi)發(fā)板的/run/media目錄下。將update.img鏡像文件拷貝到開(kāi)發(fā)板的/userdata目錄下。重啟開(kāi)發(fā)板后,系統(tǒng)將自動(dòng)檢測(cè)該目錄下的升級(jí)包并進(jìn)行升級(jí)。

FTP服務(wù)器升級(jí)

在RK3568開(kāi)發(fā)板端執(zhí)行相應(yīng)命令,將FTP服務(wù)器上的升級(jí)包文件拷貝到開(kāi)發(fā)板進(jìn)行升級(jí)。

下載完成后,使用update ota /userdata/update.img命令進(jìn)行升級(jí)。

升級(jí)過(guò)程中設(shè)備將會(huì)進(jìn)入recovery模式,并進(jìn)行自動(dòng)升級(jí)。升級(jí)成功后,設(shè)備將進(jìn)入正常系統(tǒng)(normal系統(tǒng))。

wKgZPGgF5paARA2UAACo7kL4_XI97.jpeg

四、驗(yàn)證測(cè)試結(jié)果

燒寫默認(rèn)出廠鏡像文件

將RK3568開(kāi)發(fā)板上電,串口終端按住空格鍵進(jìn)入uboot選屏界面。燒寫默認(rèn)出廠鏡像文件后,觀察現(xiàn)象:默認(rèn)開(kāi)啟HDMI、MIPI和LVDS三個(gè)輸出。

wKgZO2gF5paARJhAAAAsNQD_GcU63.jpeg

燒寫升級(jí)包鏡像文件

燒寫升級(jí)包鏡像文件后,觀察現(xiàn)象:只有HDMI顯示開(kāi)啟,其他兩個(gè)輸出被關(guān)閉。這驗(yàn)證了升級(jí)操作的成功性。

wKgZPGgF5peAY6LxAAAry1z3iA422.jpeg

五、注意事項(xiàng)

打包update.img固件

升級(jí)固件可以全分區(qū)打包,也可以部分升級(jí)。通過(guò)修改package-file文件,可以去掉不需要升級(jí)的分區(qū),從而減小升級(jí)包(update.img)的大小。

如果package-file中包含了recovery.img,它不會(huì)在recovery模式中升級(jí)。為了預(yù)防升級(jí)過(guò)程中掉電導(dǎo)致其他分區(qū)無(wú)法正常升級(jí)的問(wèn)題,recovery.img的升級(jí)放在normal系統(tǒng)下執(zhí)行。執(zhí)行update命令時(shí),會(huì)先檢測(cè)update.img升級(jí)包中是否包含recovery.img,若有則升級(jí)recovery分區(qū),再進(jìn)入recovery模式升級(jí)其他分區(qū)固件。

misc分區(qū)

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

userdata分區(qū)

若將update.img升級(jí)包放置在flash中的userdata分區(qū),則需要保證package-file中不包括userdata.img被打包進(jìn)去,以防止文件系統(tǒng)的損壞和分區(qū)mount不成功的問(wèn)題。

若從SD卡或U盤升級(jí)時(shí),可以打包userdata.img,從而對(duì)userdata分區(qū)進(jìn)行升級(jí)。升級(jí)完成后,會(huì)對(duì)userdata分區(qū)重新進(jìn)行resize操作。

通過(guò)以上步驟和注意事項(xiàng),我們可以成功地在OK3568-C開(kāi)發(fā)板上實(shí)現(xiàn)OTA升級(jí)操作,并驗(yàn)證升級(jí)效果。希望本文能夠?qū)Υ蠹以贠TA升級(jí)方面的項(xiàng)目開(kāi)發(fā)有所幫助。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 開(kāi)發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5532

    瀏覽量

    102428
  • OTA
    OTA
    +關(guān)注

    關(guān)注

    7

    文章

    605

    瀏覽量

    36214
  • RK3568
    +關(guān)注

    關(guān)注

    5

    文章

    582

    瀏覽量

    6104
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    技術(shù)帖 | RK3568開(kāi)發(fā)板OTA升級(jí)教程

    通過(guò)飛凌嵌入式OK3568-C開(kāi)發(fā)板來(lái)為大家介紹OTA升級(jí)的流程,本地升級(jí)程序recovery執(zhí)行升級(jí)
    的頭像 發(fā)表于 04-20 08:01 ?2129次閱讀
    技術(shù)帖 | <b class='flag-5'>RK3568</b><b class='flag-5'>開(kāi)發(fā)板</b>的<b class='flag-5'>OTA</b><b class='flag-5'>升級(jí)</b>教程

    迅為RK3568開(kāi)發(fā)板驅(qū)動(dòng)指南Linux中通用SPI設(shè)備驅(qū)動(dòng)

    迅為RK3568開(kāi)發(fā)板驅(qū)動(dòng)指南Linux中通用SPI設(shè)備驅(qū)動(dòng)
    的頭像 發(fā)表于 01-23 11:02 ?2514次閱讀
    迅為<b class='flag-5'>RK3568</b><b class='flag-5'>開(kāi)發(fā)板</b>驅(qū)動(dòng)指南Linux中通用SPI設(shè)備驅(qū)動(dòng)

    iTOP-RK3568開(kāi)發(fā)板OTA升級(jí)包編譯

    本節(jié)我們將編譯三個(gè)版本的 android 鏡像,V1.0.0 版本、V1.0.1 版本、V1.0.2 版本,其中V1.0.0 版本為基礎(chǔ)版本用于燒寫到 rk3568 開(kāi)發(fā)板上,V.1.0.0 升級(jí)
    發(fā)表于 03-10 16:18

    RK3568開(kāi)發(fā)板數(shù)據(jù)手冊(cè)

    RK3568 開(kāi)發(fā)板主控采用的是瑞芯微 A55 64 位四核處理器 RK3568,其主頻高達(dá) 2.0 GHz。集成了 Mali G52 2EE 圖形處理器,支持 4K 解碼和 1080P 編碼
    發(fā)表于 08-30 11:56 ?25次下載

    【ROC-RK3568-PC開(kāi)發(fā)板試用體驗(yàn)】Firefly ROC-RK3568-PC開(kāi)發(fā)板初探

    本文來(lái)源電子發(fā)燒友社區(qū),作者:ouxiaolong, 帖子地址: https://bbs.elecfans.com/jishu_2303714_1_1.html ROC-RK3568-PC開(kāi)發(fā)板
    的頭像 發(fā)表于 10-18 16:11 ?4291次閱讀
    【ROC-<b class='flag-5'>RK3568</b>-PC<b class='flag-5'>開(kāi)發(fā)板</b>試用體驗(yàn)】Firefly ROC-<b class='flag-5'>RK3568</b>-PC<b class='flag-5'>開(kāi)發(fā)板</b>初探

    RK3568開(kāi)發(fā)板GPIO擴(kuò)展——竟如此豐富

    為了對(duì)核心進(jìn)行更好的資源利用,迅為對(duì)RK3568開(kāi)發(fā)板底板進(jìn)行了升級(jí),在開(kāi)發(fā)板背面引出了20PIN貼片插針。
    的頭像 發(fā)表于 12-14 10:49 ?2628次閱讀

    RK3568開(kāi)發(fā)板借助 U 盤或 TF 卡拷貝程序到開(kāi)發(fā)板

    RK3568開(kāi)發(fā)板借助 U 盤或 TF 卡拷貝程序到開(kāi)發(fā)板
    的頭像 發(fā)表于 05-20 18:01 ?1777次閱讀
    <b class='flag-5'>RK3568</b><b class='flag-5'>開(kāi)發(fā)板</b>借助 U 盤或 TF 卡拷貝程序到<b class='flag-5'>開(kāi)發(fā)板</b>上

    【教程上新】基于迅為iTOP-RK3568開(kāi)發(fā)板的OpenCV開(kāi)發(fā)手冊(cè)

    【教程上新】基于迅為iTOP-RK3568開(kāi)發(fā)板的OpenCV開(kāi)發(fā)手冊(cè)
    的頭像 發(fā)表于 02-08 15:22 ?1493次閱讀
    【教程上新】基于迅為iTOP-<b class='flag-5'>RK3568</b><b class='flag-5'>開(kāi)發(fā)板</b>的OpenCV<b class='flag-5'>開(kāi)發(fā)</b>手冊(cè)

    迅為RK3568開(kāi)發(fā)板系統(tǒng)編程手冊(cè)全新升級(jí)

    迅為RK3568開(kāi)發(fā)板系統(tǒng)編程手冊(cè)全新升級(jí)
    的頭像 發(fā)表于 06-25 15:50 ?1469次閱讀
    迅為<b class='flag-5'>RK3568</b><b class='flag-5'>開(kāi)發(fā)板</b>系統(tǒng)編程手冊(cè)全新<b class='flag-5'>升級(jí)</b>

    瑞芯微RK3568主板開(kāi)發(fā)板PET_RK3568_P01簡(jiǎn)述

    瑞芯微RK3568主板開(kāi)發(fā)板PET_RK3568_P01簡(jiǎn)述
    的頭像 發(fā)表于 08-08 11:41 ?4304次閱讀
    瑞芯微<b class='flag-5'>RK3568</b>主板<b class='flag-5'>開(kāi)發(fā)板</b>PET_<b class='flag-5'>RK3568</b>_P01簡(jiǎn)述

    迅為RK3568開(kāi)發(fā)板Debian系統(tǒng)使用python 進(jìn)行攝像頭開(kāi)發(fā)

    迅為RK3568開(kāi)發(fā)板Debian系統(tǒng)使用python 進(jìn)行攝像頭開(kāi)發(fā)
    的頭像 發(fā)表于 09-14 16:58 ?2074次閱讀
    迅為<b class='flag-5'>RK3568</b><b class='flag-5'>開(kāi)發(fā)板</b>Debian系統(tǒng)使用python 進(jìn)行攝像頭<b class='flag-5'>開(kāi)發(fā)</b>

    RK3568開(kāi)發(fā)板規(guī)格書(shū)

    RK3568開(kāi)發(fā)板規(guī)格書(shū)
    發(fā)表于 03-23 15:28 ?70次下載

    迅為RK3568開(kāi)發(fā)板驅(qū)動(dòng)開(kāi)發(fā)指南-輸入子系統(tǒng)

    迅為RK3568開(kāi)發(fā)板驅(qū)動(dòng)開(kāi)發(fā)指南-輸入子系統(tǒng)
    的頭像 發(fā)表于 02-23 15:11 ?1493次閱讀
    迅為<b class='flag-5'>RK3568</b><b class='flag-5'>開(kāi)發(fā)板</b>驅(qū)動(dòng)<b class='flag-5'>開(kāi)發(fā)</b>指南-輸入子系統(tǒng)

    RK3568開(kāi)發(fā)板支持AMP雙系統(tǒng)

    RK3568開(kāi)發(fā)板支持AMP雙系統(tǒng)
    的頭像 發(fā)表于 06-04 15:33 ?1060次閱讀
    <b class='flag-5'>RK3568</b><b class='flag-5'>開(kāi)發(fā)板</b>支持AMP雙系統(tǒng)

    【迅為】瑞芯微RK3588開(kāi)發(fā)板RK3568開(kāi)發(fā)板區(qū)別及優(yōu)勢(shì)

    RK3568開(kāi)發(fā)板
    的頭像 發(fā)表于 11-18 14:19 ?1312次閱讀
    【迅為】瑞芯微<b class='flag-5'>RK</b>3588<b class='flag-5'>開(kāi)發(fā)板</b><b class='flag-5'>RK3568</b><b class='flag-5'>開(kāi)發(fā)板</b>區(qū)別及優(yōu)勢(shì)

    電子發(fā)燒友

    中國(guó)電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品