應(yīng)用筆記|米爾NXP iMX 93開發(fā)板OTA功能搭建
1.概述
空中下載技術(shù)(Over-the-Air Technology, OTA)是通過移動通信的空中接口實現(xiàn)對移動終端設(shè)備及SIM卡數(shù)據(jù)進行遠程管理的技術(shù)。本文采用了swupdate的方式進行ota升級,swupdate是一個基于嵌入式的Linux平臺的升級服務(wù)框架程序,它提供了分區(qū)升級,文件升級,差分升級(補丁應(yīng)用)功能,并提供了開放接口,方便用戶添加自定義升級處理函數(shù)。本應(yīng)用筆記主要講述如何使用搭建在米爾基于NXP iMX 93核心板(MYC-LMX9X核心板)系統(tǒng)中的OTA功能,實現(xiàn)對MYC-LMX9X文件系統(tǒng)的遠程升級。
環(huán)境準備
軟件資源
OTA升級文件制作工具:ota-generate_swu.tar.gz(路徑:03_Tools/ota-tools)。
MYC-LMX9X-Core文件系統(tǒng):myir-image-core-myd-lmx9x.ext4(路徑:02_Images/ 或者通過Yocto編譯得到,編譯相關(guān)情況查看軟件開發(fā)指南內(nèi)容)。
Ubuntu操作系統(tǒng)主機環(huán)境,虛擬機或者安裝的Ubuntu PC主機皆可,沒有版本要求。
硬件資源
米爾基于NXP iMX 93開發(fā)板(或者MYC-LMX9X核心板+自研底板,自研底板要求至少有一個網(wǎng)口或者存在Wifi芯片)。
網(wǎng)線或者Wifi天線。
開發(fā)板電源、串口線及其他能夠確保開發(fā)板能夠正常運行啟動所需求的配件。
主機環(huán)境配置
進行OTA升級,必須要要在Ubuntu主機環(huán)境搭建Http服務(wù)器,以下將以Ubuntu18.04的Http服務(wù)器搭建過程舉例,用戶名將以myir舉例,為了后續(xù)OTA升級使用,將Http服務(wù)器直接配置為后續(xù)可直接使用的配置。該過程僅供參考使用,如果使用其他版本的Ubuntu系統(tǒng)在搭建過程中出現(xiàn)任何以下說明中未出現(xiàn)的錯誤情況,請咨詢互聯(lián)網(wǎng)尋找解決辦法。
安裝apache2
sudo apt install -y apache2
配置環(huán)境
默認是80端口,防止其他情況使用導致沖突,修改為自定義端口:8001,修改 /etc/apache2/ports.conf文件監(jiān)聽端口:
修改/etc/apache2/sites-enabled/000-default.conf文件端口與訪問目錄,方便后續(xù)使用。
修改apache2的配置文件/etc/apache2/apache2.conf:
重啟服務(wù)
$: sudo /etc/init.d/apache2 restart
測試
如果是虛擬機請修改Ubuntu網(wǎng)絡(luò)配置為橋接網(wǎng)卡讓虛擬機和Windows主機為同一IP下,如果是其他環(huán)境則可以直接打開瀏覽器,并在瀏覽器中輸入http://{hostIP}:8001,此處hostIP為配置了http服務(wù)器的Ubuntu的ip地址,例如Ubuntu 的ip地址為192.168.1.20,則在瀏覽器中輸入:http://192.168.1.20:8001,成功則如下圖所示:
圖2-1. http搭建成功
升級原理
OTA簡單理解就是在線升級固件,將固件從服務(wù)器下載之后,相應(yīng)的寫入對應(yīng)的分區(qū),在這個過程中可能會存在燒錄中斷電或者其他原因?qū)е路謪^(qū)損壞了問題,所以MYD-LMX9X選擇了AB對稱分區(qū)的方式來保存文件系統(tǒng)。
AB分區(qū)介紹
Swupdate介紹
本節(jié)將介紹在上章節(jié)中,在進入文件系統(tǒng)后會進行swupdate的更新,該更新由systemd的服務(wù)啟動,是自動更新,只需要修改對應(yīng)的ip地址路徑的配置即可。
首先介紹swupdate更新會需要到的swu文件,該文件由腳本制作生產(chǎn),該制作工具壓縮包已存放在03_Tools中,名稱為ota-generate_swu.tar.gz,具體制作過程后續(xù)4.1章節(jié)會介紹,在這里先介紹其中swu文件的配置文件sw-description,該文件如下所示:
操作步驟
遠程升級
要實現(xiàn)OTA功能,至少需要兩塊設(shè)備,分別是服務(wù)器與客戶端。服務(wù)器只有一個,就是MYD-LMX9X(本文以下皆用MYD-LMX9X開發(fā)板做為示例)。開發(fā)板通過串口與PC機連接,或者也可以通過ssh的方式遠程訪問開發(fā)板的串口,這個步驟可以閱讀快速入門指南和評估指南了解具體信息。然后將需要OTA需要的swu文件存放于PC主機,然后開發(fā)板執(zhí)行對應(yīng)命令即可完成OTA升級,接下來詳細介紹操作步驟和注意事項。
制作swu文件
首先通過MYD-LMX9X的米爾電子下載中心鏈接或者百度網(wǎng)盤共享鏈接獲取OTA升級文件制作工具:ota-generate_swu.tar.gz,
更新系統(tǒng)
完成上面的步驟后,開機進入文件系統(tǒng),修改/etc/swupdate.sh,將網(wǎng)絡(luò)地址修改為實際情況下的ip以及對應(yīng)的文件路徑:
修改完成后保存,重啟開發(fā)板后將會自動更新該swu文件。
米爾基于NXP i.MX 93系列產(chǎn)品-MYC-LMX9X核心板及開發(fā)板。NXP i.MX 9系列在i.MX 6和i.MX 8系列產(chǎn)品市場驗證的基礎(chǔ)上,繼承了前代產(chǎn)品的優(yōu)點的同時,進一步提升了性能、資源利用和價格的平衡。其中i.MX 93處理器配備雙核Cortex-A55@1.7 GHz+Cortex-M33@250MHz,兼顧多任務(wù)和實時性需求,集成0.5 TOPS NPU賦能低成本輕量級AI應(yīng)用。