沟通探讨
亲爱的同事们,在上一篇文章中,我们讨论了如何在OTA更新期间使用嵌入式设备从开发人员的计算机安全下载新软件包。今天我们将讨论物联网设备OTA软件升级技术。
这个过程似乎很简单。这不仅仅是下载一个文件。如何写一篇文章?
事实上,下载文件并不容易,但问题是仓库中有多少终端可以更新。
如果有一天你在AWS平台上工作,你应该知道你必须考虑很多细节。
失败是永恒的仇恨!一旦装备升级战略忽略了小细节,总有一天会成为我们的深渊。
这同样适用于产品的生产。这些被践踏的水坑确实是流鼻涕和眼泪的地方,写过文章。
今天,我们将继续OOT后升级阶段。
你还记得我们之前假设的吗?
V1中使用的设备(包括三个文件)位于应用程序目录root的文件系统中。
重点:重点项目
配置Ini:配置文件(包括v1u0版本)
Mylib。因此,调用动态算法库的主程序;
目前,新版本的V2优化了算法。压缩包的名称是appv2。0.Tgz-包含以下文件:
要配置Ini:更改设置:版本,V20;
Mylib:因此,优化算法主要是更新动态库;
升级sh:脚本,新文件;
解压到根升级目录之前,tgz已加载到设备的本地文件系统中。
现在,您需要升级到使用旧版本的程序的新版本。根应用程序目录已被替换。更新脚本。
首先,您需要知道执行update命令、下载压缩包和运行主程序的问题。
如果复制和替换操作允许main,则问题是:无法复制和替换新的主文件。
创建单个程序的小型合作伙伴必须知道,当新固件加载到闪存中时,设备通常会重新启动,并执行特定的文件复制操作。
因此,类似的操作方法可以应用于文件系统所在的设备。
例如,如果设备在运行时重新启动,则本地主程序不会启动。
RC文件中的操作可以更新。地方的
但通过这种方式,操作系统的渗透性非常小,而且看起来总是很糟糕。
下载升级脚本。
此脚本的主要作用是管理更新过程。
这里有一个非常重要的想法。升级,SH位于终端未固定的更新包中。
因此,每次执行更新操作时,都可以根据当前更新的要求灵活编写更新脚本。
如果可以确保升级通道没有问题,则升级过程完全由脚本文件控制。
Copyright © 2022 范炳海 版权所有 豫ICP备2021035568号-1