沟通探讨
完全升级是指删除所有以前的程序版本,并将所有新程序复制到以前的升级包中。
脚本文件已更新。SH执行以下主要任务:
停止V1的当前版本。
从根程序目录中删除所有旧文件;
升级包将所有新版本的根升级复制到根升级目录。
这种完全更新的方式是最鲁莽和粗鲁的。
当然,我们也应该考虑细节。例如,复制文件时是否出错?
我刚刚说了我的简历,我不知道你是否有这个问题。
如果用户更改配置信息,升级后所有配置信息将重置为默认值。如果用户丢失了所有设置数据怎么办?
在这个问题上,我们将继续讨论增长。
增量升级:升级只替换要更新的文件,而不是所有文件。
对于我们想要更新的场景,我们可以做两件事。
替换库mylib文件。
更改配置文件的版本字段。Ini包括:版本,V20?
同样,所有更新过程将继续作为升级创建。在此更新方案中,请执行以下操作:
停止V1的当前版本。
从根目录复制。从mylib升级。因此,文件必须以应用程序目录为根。
使用SED命令更改配置文件ini的版本字段。
PS:升级包现在只包含您需要的文档,而不添加未使用的文档。
从我描述的文本来看,完全更新和完成之间几乎没有区别。
因为这里的例子太简单了。当更复杂、多个模块交互时,增量更新的好处显而易见。
一开始,这是OTA的升级过程,尤其是从这个想法开始。在任何情况下,不同场景的需求都可能不同。总的来说,OTA的升级过程是可以理解的。
为了表明我不是在胡说八道,我建议几年前更新脚本模板。
你可以在后台接收信息。
我不知道是否有小伙伴对epi32升级感兴趣。接下来,我将编写一个特殊的esp32模块,介绍如何在mqtt文章中与AWS交互,以及固件下载和升级的过程。
Copyright © 2022 范炳海 版权所有 豫ICP备2021035568号-1