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