• 正文
  • 相關推薦
申請入駐 產業(yè)圖譜

RK3568開發(fā)板OTA升級

03/24 09:55
717
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

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

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

1、制作recovery.img

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

源碼修改與編譯

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

燒寫recovery.img

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

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

2、制作recovery.img制作升級鏡像

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

修改設備樹文件:

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

對forlinx_control節(jié)點做如下修改。默認只打開HDMI輸出,將MIPILVDS輸出關閉。

/ {
   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ù)產品更新需求對該文件進行調整。

本例程以修改設備樹顯示為例,修改完設備樹后,重新編譯內核。

3、升級操作

SD卡或U盤升級

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

FTP服務器升級

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

下載完成以后使用以下命令進行升級:

update ota /userdata/update.img

升級過程中設備將會進入recovery模式,并進行自動升級,升級成功后會進入到正常normal系統(tǒng)。

4、驗證測試結果

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

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

5、注意事項

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

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

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

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

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

飛凌嵌入式

飛凌嵌入式

保定飛凌嵌入式技術有限公司,創(chuàng)建于2006年,是一家專注嵌入式核心控制系統(tǒng)研發(fā)、設計和生產的高新技術企業(yè),是國內較早專業(yè)從事嵌入式技術的企業(yè)之一。 經(jīng)過十幾年的發(fā)展與積累,公司擁有業(yè)內優(yōu)秀的軟硬件研發(fā)團隊,在北京及保定建立兩大研發(fā)基地,在蘇州、深圳設有華東、華南技術服務中心,并在北美、歐洲以及亞太等其他國家和地區(qū)擁有國際業(yè)務網(wǎng)絡。公司研發(fā)的智能設備核心平臺廣泛應用于物聯(lián)網(wǎng)、工控、軌道交通、醫(yī)療、電力、商業(yè)電子、智能家居、安防、機器人、環(huán)境監(jiān)測等諸多領域。

保定飛凌嵌入式技術有限公司,創(chuàng)建于2006年,是一家專注嵌入式核心控制系統(tǒng)研發(fā)、設計和生產的高新技術企業(yè),是國內較早專業(yè)從事嵌入式技術的企業(yè)之一。 經(jīng)過十幾年的發(fā)展與積累,公司擁有業(yè)內優(yōu)秀的軟硬件研發(fā)團隊,在北京及保定建立兩大研發(fā)基地,在蘇州、深圳設有華東、華南技術服務中心,并在北美、歐洲以及亞太等其他國家和地區(qū)擁有國際業(yè)務網(wǎng)絡。公司研發(fā)的智能設備核心平臺廣泛應用于物聯(lián)網(wǎng)、工控、軌道交通、醫(yī)療、電力、商業(yè)電子、智能家居、安防、機器人、環(huán)境監(jiān)測等諸多領域。收起

查看更多

相關推薦

登錄即可解鎖
  • 海量技術文章
  • 設計資源下載
  • 產業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄

秉承專業(yè)態(tài)度,專注智能設備核心平臺研發(fā)與制造,以技術研發(fā)創(chuàng)新為主導,以客戶實用化,產品化為目標,把握嵌入式行業(yè)的前沿發(fā)展需求,利用核心技術為客戶提供穩(wěn)定、可靠、功能優(yōu)異的高品質產品。合作聯(lián)系:17713286011