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

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

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

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

飛凌嵌入式 ? 2024-04-20 08:01 ? 次閱讀

說(shuō)起OTA我們應(yīng)該都不陌生,它是一種可以為設(shè)備無(wú)損失升級(jí)系統(tǒng)的方式,能將新功能遠(yuǎn)程部署到產(chǎn)品上。我們不僅可以通過(guò)網(wǎng)絡(luò)下載OTA升級(jí)包,也可以通過(guò)下載OTA升級(jí)包到SD卡或U盤(pán)后再對(duì)設(shè)備升級(jí)。

本文將通過(guò)飛凌嵌入式OK3568-C開(kāi)發(fā)板來(lái)為大家介紹OTA升級(jí)的流程,本地升級(jí)程序recovery執(zhí)行升級(jí)的流程及技術(shù)細(xì)節(jié)。

1. 制作 recovery.img

recovery相關(guān)的源碼路徑:

buildroot/output/OK3568-recovery/build/recovery-develop

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

(1).forlinx@ubuntu:~/OK3568-linux-source$source envsetup.sh

(2).選擇某一平臺(tái)的 recovery 配置,輸入96

(3).forlinx@ubuntu:~/OK3568-linux-source$make recovery-dirclean && make recovery #清除編譯產(chǎn)物重新編譯

(4).forlinx@ubuntu:~/OK3568-linux-source$make rkupdate-dirclean && make rkupdate #清除編譯產(chǎn)物重新編譯

如果沒(méi)有修改過(guò)上述目錄的源碼文件,則直接執(zhí)行以下操作:

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

(2).forlinx@ubuntu:~/OK3568-linux-source$ ./mkfirmware.sh

#將生成的固件拷貝至 rockdev/目錄下

燒寫(xiě)/OK3568-linux-source/buildroot/output/OK3568-recovery/images/recovery.img文件。

點(diǎn)擊設(shè)備分區(qū)表,勾選9,選擇recovery路徑,點(diǎn)擊執(zhí)行。

wKgaomYmCmqAS_xFAABXO-3B-Xk775.png

2. 制作升級(jí)鏡像

如何驗(yàn)證是否升級(jí)成功了呢?我們要先對(duì)boot.img文件有一個(gè)初步了解,boot.img文件存放有設(shè)備樹(shù)和內(nèi)核,我們只要對(duì)設(shè)備樹(shù)或者內(nèi)核進(jìn)行適當(dāng)?shù)男薷募纯?。本例程以更新boot.img文件為例,對(duì)設(shè)備樹(shù)進(jìn)行了適當(dāng)修改。

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

/OK3568-linux-source/kernel/arch/arm64/boot/dts/rockchip/OK3568-C-common.dtsi,

對(duì)forlinx_control節(jié)點(diǎn)做如下修改。默認(rèn)只打開(kāi)HDMI輸出,將MIPI和LVDS輸出關(guān)閉。

/ { 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"; };

修改文件:

/OK3568-linux-source/tools/linux/Linux_Pack_Firmware/rockdev/package-file

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

wKgZomYmCqeATpKOAAEUlJ9669c577.png

本例程以修改設(shè)備樹(shù)顯示為例,修改完設(shè)備樹(shù)后,重新編譯內(nèi)核。

wKgaomYmCr-AfYuBAAAeMp9aLTk179.png

3.升級(jí)操作

SD卡或U盤(pán)升級(jí)

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

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

OK3568-C開(kāi)發(fā)板端執(zhí)行如下命令,將服務(wù)器的升級(jí)包文件拷貝到開(kāi)發(fā)板進(jìn)行升級(jí)。

wKgaomYmCu6AKxy9AABEw4x9tP4363.png

下載完成以后使用以下命令進(jìn)行升級(jí):

update ota /userdata/update.img

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

4. 驗(yàn)證測(cè)試結(jié)果

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

wKgaomYmCwuARtb1AAAKH78qOmg124.png

燒寫(xiě)升級(jí)包鏡像文件后現(xiàn)象:只有HDMI顯示開(kāi)啟,其他的兩個(gè)輸出被關(guān)閉。

wKgaomYmCy6ARZEhAAAJ_IBg4ss976.png

5. 注意事項(xiàng)

打包update.img固件時(shí)需要注意,升級(jí)固件可以全分區(qū)打包,也可以部分升級(jí),可修改package-file文件,將不要升級(jí)的分區(qū)去掉,這樣可以減少升級(jí)包(update.img)的大小。

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

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

如果將update.img升級(jí)包放置在flash中的userdata分區(qū),則需要保證package-file中不包括userdata.img被打包進(jìn)去,原因是可能會(huì)導(dǎo)致文件系統(tǒng)的損壞,升級(jí)成功后可能使oem或userdata分區(qū)mount不成功。若從SD卡或U盤(pán)升級(jí)時(shí),可以打包userdata.img,從而對(duì)userdata分區(qū)進(jìn)行升級(jí)。升級(jí)完成后會(huì)對(duì)userdata分區(qū)重新resize操作。


至此,OTA升級(jí)的全部流程講解完畢,用戶可以先按照該文章操作進(jìn)行試驗(yàn),熟悉本文章操作后,就可以對(duì)uboot,內(nèi)核或者文件系統(tǒng)進(jìn)行修改,通過(guò)OTA方式遠(yuǎn)程升級(jí)用戶產(chǎn)品,從而修復(fù)產(chǎn)品中的BUG,更加方便地進(jìn)行產(chǎn)品優(yōu)化,更新迭代。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5045

    文章

    18813

    瀏覽量

    298429
  • 開(kāi)發(fā)
    +關(guān)注

    關(guān)注

    0

    文章

    357

    瀏覽量

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

    關(guān)注

    7

    文章

    552

    瀏覽量

    34974
  • RK3568
    +關(guān)注

    關(guān)注

    4

    文章

    479

    瀏覽量

    4716
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    瑞芯微RK3568鴻蒙開(kāi)發(fā)板OpenHarmony系統(tǒng)修改cfg文件權(quán)限方法

    本文適用于OpenHarmony開(kāi)源鴻蒙系統(tǒng)修改cfg文件權(quán)限方法,深圳觸覺(jué)智能研發(fā)的RK3566、RK3568、RK3588等開(kāi)發(fā)板、主板等產(chǎn)品均適用此教程
    的頭像 發(fā)表于 09-11 13:26 ?377次閱讀
    瑞芯微<b class='flag-5'>RK3568</b>鴻蒙<b class='flag-5'>開(kāi)發(fā)板</b>OpenHarmony系統(tǒng)修改cfg文件權(quán)限方法

    北京迅為RK3568開(kāi)發(fā)板嵌入式學(xué)習(xí)之Linux驅(qū)動(dòng)全新更新-CAN+

    北京迅為RK3568開(kāi)發(fā)板嵌入式學(xué)習(xí)之Linux驅(qū)動(dòng)全新更新-CAN+
    的頭像 發(fā)表于 09-04 15:29 ?176次閱讀
    北京迅為<b class='flag-5'>RK3568</b><b class='flag-5'>開(kāi)發(fā)板</b>嵌入式學(xué)習(xí)之Linux驅(qū)動(dòng)全新更新-CAN+

    國(guó)產(chǎn)核心全面進(jìn)攻-RK3568開(kāi)發(fā)板評(píng)測(cè)

    隨著端側(cè)AI應(yīng)用的落地,預(yù)計(jì)集成NPU的SoC產(chǎn)品將迎來(lái)爆發(fā)式的增量市場(chǎng)。本期與非網(wǎng)給大家?guī)?lái)一款采用國(guó)內(nèi)知名SoC廠商的產(chǎn)品——基于瑞芯微RK3568開(kāi)發(fā)板
    的頭像 發(fā)表于 08-30 11:49 ?375次閱讀
    國(guó)產(chǎn)核心<b class='flag-5'>板</b>全面進(jìn)攻-<b class='flag-5'>RK3568</b><b class='flag-5'>開(kāi)發(fā)板</b>評(píng)測(cè)

    米爾RK3568加推工控和工控機(jī),更豐富的場(chǎng)景應(yīng)用

    國(guó)產(chǎn)之星-瑞芯微RK3568一直備受關(guān)注,米爾電子推廣的RK3568核心采用創(chuàng)新LGA設(shè)計(jì),核心質(zhì)量更可靠,成本更優(yōu)。除米粉派RK3568
    的頭像 發(fā)表于 08-02 08:01 ?279次閱讀
    米爾<b class='flag-5'>RK3568</b>加推工控<b class='flag-5'>板</b>和工控機(jī),更豐富的場(chǎng)景應(yīng)用

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

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

    鴻蒙OpenHarmony南向:【RK3568開(kāi)發(fā)板介紹】

    RK3568開(kāi)發(fā)板基于Rockchip RK3568芯片,集成雙核心架構(gòu)GPU以及高效能NPU;搭載四核64位Cortex-A55處理器,采用22nm先進(jìn)工藝,主頻高達(dá)2.0GHz;支持藍(lán)牙
    的頭像 發(fā)表于 05-07 10:13 ?585次閱讀
    鴻蒙OpenHarmony南向:【<b class='flag-5'>RK3568</b><b class='flag-5'>開(kāi)發(fā)板</b>介紹】

    鴻蒙OpenHarmony【標(biāo)準(zhǔn)系統(tǒng)編譯】 (基于RK3568開(kāi)發(fā)板

    DevEco Device Tool支持Rockchip RK3568開(kāi)發(fā)板的源碼一鍵編譯功能,提供編譯工具鏈和編譯環(huán)境依賴的檢測(cè)及一鍵安裝,簡(jiǎn)化復(fù)雜編譯環(huán)境的同時(shí),提升了編譯的效率。
    的頭像 發(fā)表于 04-24 20:55 ?906次閱讀
    鴻蒙OpenHarmony【標(biāo)準(zhǔn)系統(tǒng)編譯】 (基于<b class='flag-5'>RK3568</b><b class='flag-5'>開(kāi)發(fā)板</b>)

    通過(guò)RK3568開(kāi)發(fā)板進(jìn)行OTA本地程序升級(jí)

    將通過(guò)飛凌嵌入式OK3568-C開(kāi)發(fā)板來(lái)為大家介紹OTA升級(jí)的流程,本地升級(jí)程序recovery執(zhí)行升級(jí)
    發(fā)表于 04-20 11:23

    迅為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 ?584次閱讀
    迅為<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ā)板助力智能車(chē)載產(chǎn)業(yè)快速發(fā)展

    迅為RK3568開(kāi)發(fā)板助力智能車(chē)載產(chǎn)業(yè)快速發(fā)展
    的頭像 發(fā)表于 01-23 13:59 ?390次閱讀
    迅為<b class='flag-5'>RK3568</b><b class='flag-5'>開(kāi)發(fā)板</b>助力智能車(chē)載產(chǎn)業(yè)快速發(fā)展

    RK3568---NPU開(kāi)發(fā)案例

    RK3568---NPU開(kāi)發(fā)案例
    的頭像 發(fā)表于 01-19 13:50 ?667次閱讀
    <b class='flag-5'>RK3568</b>---NPU<b class='flag-5'>開(kāi)發(fā)</b>案例

    RK3568-視頻開(kāi)發(fā)案例

    RK3568-視頻開(kāi)發(fā)案例
    的頭像 發(fā)表于 01-18 15:51 ?609次閱讀
    <b class='flag-5'>RK3568</b>-視頻<b class='flag-5'>開(kāi)發(fā)</b>案例

    RK3568開(kāi)發(fā)板在工控工業(yè)物聯(lián)網(wǎng)網(wǎng)關(guān)方面的應(yīng)用

    RK3568開(kāi)發(fā)板在工控工業(yè)物聯(lián)網(wǎng)網(wǎng)關(guān)方面的應(yīng)用
    的頭像 發(fā)表于 11-22 14:21 ?673次閱讀
    <b class='flag-5'>RK3568</b><b class='flag-5'>開(kāi)發(fā)板</b>在工控工業(yè)物聯(lián)網(wǎng)網(wǎng)關(guān)方面的應(yīng)用

    toybrick_RK3568X開(kāi)發(fā)板:跑通 android 開(kāi)發(fā)流程

    前段時(shí)間買(mǎi)了一塊官方的開(kāi)發(fā)板,瑞芯微的 RK3568 芯片的 toybrick TB-RK3568X 開(kāi)發(fā)板,配置是 4G 內(nèi)存,32G 存儲(chǔ),想用這個(gè)
    發(fā)表于 11-16 21:30

    迅為iTOP-RK3568開(kāi)發(fā)板npu手冊(cè)更新

    iTOP -RK3568開(kāi)發(fā)板使用教程更新,后續(xù)資料會(huì)不斷更新,不斷完善,幫助用戶快速入門(mén),大大提升研發(fā)速度。 為了滿足人工智能的需要,去年,迅為基于RK3568開(kāi)發(fā)板編寫(xiě)了對(duì)應(yīng)的手冊(cè)
    發(fā)表于 11-03 14:40