应用笔记|米尔NXP iMX 93开发板OTA功能搭建

发布时间:2024-05-23  

1.概述


空中下载技术(Over-the-Air Technology, OTA)是通过移动通信的空中接口实现对移动终端设备及SIM卡数据进行远程管理的技术。本文采用了swupdate的方式进行ota升级,swupdate是一个基于嵌入式的Linux平台的升级服务框架程序,它提供了分区升级,文件升级,差分升级(补丁应用)功能,并提供了开放接口,方便用户添加自定义升级处理函数。本应用笔记主要讲述如何使用搭建在米尔基于NXP iMX 93核心板(MYC-LMX9X核心板)系统中的OTA功能,实现对MYC-LMX9X文件系统的远程升级。


image.png


2.环境准备


2.1.软件资源


  • OTA升级文件制作工具:ota-generate_swu.tar.gz(路径:03_Tools/ota-tools)。

  • MYC-LMX9X-Core文件系统:myir-image-core-myd-lmx9x.ext4(路径:02_Images/ 或者通过Yocto编译得到,编译相关情况查看软件开发指南内容)。

  • Ubuntu操作系统主机环境,虚拟机或者安装的Ubuntu PC主机皆可,没有版本要求。


2.2.硬件资源


  • 米尔基于NXP iMX 93开发板(或者MYC-LMX9X核心板+自研底板,自研底板要求至少有一个网口或者存在Wifi芯片)。

  • 网线或者Wifi天线。

  • 开发板电源、串口线及其他能够确保开发板能够正常运行启动所需求的配件。


2.3.主机环境配置


进行OTA升级,必须要要在Ubuntu主机环境搭建Http服务器,以下将以Ubuntu18.04的Http服务器搭建过程举例,用户名将以myir举例,为了后续OTA升级使用,将Http服务器直接配置为后续可直接使用的配置。该过程仅供参考使用,如果使用其他版本的Ubuntu系统在搭建过程中出现任何以下说明中未出现的错误情况,请咨询互联网寻找解决办法。


  • 安装apache2

    sudo apt install -y apache2

  • 配置环境

    默认是80端口,防止其他情况使用导致冲突,修改为自定义端口:8001,修改 /etc/apache2/ports.conf文件监听端口:

    $: vi  /etc/apache2/ports.conf

    Listen 8001 ## 其它行不变

    修改/etc/apache2/sites-enabled/000-default.conf文件端口与访问目录,方便后续使用。

    $: vi /etc/apache2/sites-enabled/000-default.conf

    ## 其他行不变

    #DocumentRoot /var/www/html ## 默认浏览器访问目录,注释掉

    DocumentRoot /home/myir/swupdate ##修改为此目录,用户名请根据修改做修改

    修改apache2的配置文件/etc/apache2/apache2.conf:

      $: vi /etc/apache2/apache2.conf

      ##找到如下行,并修改为如下内容

      # ##配置文件默认目录,注释掉

     

        Options Indexes FollowSymLinks

        AllowOverride None

        Require all granted

     

  • 重启服务

    $: sudo /etc/init.d/apache2 restart

  • 测试

    如果是虚拟机请修改Ubuntu网络配置为桥接网卡让虚拟机和Windows主机为同一IP下,如果是其他环境则可以直接打开浏览器,并在浏览器中输入http://{hostIP}:8001,此处hostIP为配置了http服务器的Ubuntu的ip地址,例如Ubuntu 的ip地址为192.168.1.20,则在浏览器中输入:

       http://192.168.1.20:8001,成功则如下图所示:

image.png

图2-1. http搭建成功


3.升级原理


OTA简单理解就是在线升级固件,将固件从服务器下载之后,相应的写入对应的分区,在这个过程中可能会存在烧录中断电或者其他原因导致分区损坏了问题,所以MYD-LMX9X选择了AB对称分区的方式来保存文件系统。


3.1.AB分区介绍


3.2.Swupdate介绍


本节将介绍在上章节中,在进入文件系统后会进行swupdate的更新,该更新由systemd的服务启动,是自动更新,只需要修改对应的ip地址路径的配置即可。

首先介绍swupdate更新会需要到的swu文件,该文件由脚本制作生产,该制作工具压缩包已存放在03_Tools中,名称为ota-generate_swu.tar.gz,具体制作过程后续4.1章节会介绍,在这里先介绍其中swu文件的配置文件sw-description,该文件如下所示:


4.操作步骤


4.1.远程升级


要实现OTA功能,至少需要两块设备,分别是服务器与客户端。服务器只有一个,就是MYD-LMX9X(本文以下皆用MYD-LMX9X开发板做为示例)。开发板通过串口与PC机连接,或者也可以通过ssh的方式远程访问开发板的串口,这个步骤可以阅读快速入门指南和评估指南了解具体信息。然后将需要OTA需要的swu文件存放于PC主机,然后开发板执行对应命令即可完成OTA升级,接下来详细介绍操作步骤和注意事项。


4.1.1.制作swu文件


首先通过MYD-LMX9X的米尔电子下载中心链接或者百度网盘共享链接获取OTA升级文件制作工具:ota-generate_swu.tar.gz,


4.1.2.更新系统


完成上面的步骤后,开机进入文件系统,修改/etc/swupdate.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

修改完成后保存,重启开发板后将会自动更新该swu文件。


米尔基于NXP i.MX 93系列产品-MYC-LMX9X核心板及开发板。NXP i.MX 9系列在i.MX 6和i.MX 8系列产品市场验证的基础上,继承了前代产品的优点的同时,进一步提升了性能、资源利用和价格的平衡。其中i.MX 93处理器配备双核Cortex-A55@1.7 GHz+Cortex-M33@250MHz,兼顾多任务和实时性需求,集成0.5 TOPS NPU赋能低成本轻量级AI应用。


image.png




文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>