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