“你的设备远程升级可以不再是升级整个固件。启明提供了一套完整的差分升级算法,升级固件更小、下载速度更快、大大降低网络不稳定造成传输失败概率,同时更节省内存。”
众所周知,传统MCU升级方式通常需要物理接触MCU,通过编程器、烧录器或其他设备进行升级操作。这种方式适用于研发设计阶段对MCU进行升级。一旦设备出厂,大规模或分布式设备的升级,则面临着大量设备返厂、拆机、人工烧录等难题,即费钱又费力。此时需要考虑其他方式,例如:无线升级(FOTA)。启明差分升级方案,作为升级版FOTA,该方案选用乐鑫ESP32系列无线模组将差分数据传输给MCU,然后在MCU上执行升级操作,让待升级的设备无需返厂,设备即可远程独自完成升级,使整个OTA过程更高效、更便捷。
差分升级,是利用算法做出原版APP和新版APP程序的差分包,将差分包下载到flash,内部的BootLoader程序再利用算法将新版APP合成,合成后在搬运,搬运后校验,重启的过程。
例如:固件从v1.0升级到v1.1,两个固件相比只修改了1K的内容,则将不同部分剥离出来生成差分包Diff_v1.0~v1.1,通过云端将差分包推送到设备端,设备端接收完成之后,先解压差分包,再通过差分恢复算法,根据差分包中的数据标志,将新老固件进行融合,变成新的固件,从而完成升级。
差分升级的优点是升级固件小、下载速度快,更加节省内存空间
升级流程
BootLoader执行的流程,如下图所示,芯片上电或复位之后,开始运行BootLoader的代码,之后检测按键,按键作为升级的提示,如按键按下,准备升级,进入接收固件状态,接收到固件,对固件进行校验,校验通过后,置位跳转标志位;校验未通过,重新进入接收固件状态。检测到跳转标志位之后,检查应用程序是否有效,有效进入应用程序运行,无效进入接收固件状态。如果没有按键按下,检查是否有升级标志,有则解析download区的新固件,通过解压缩算法和解差分算法,修改覆盖旧固件,设置跳转标志,检查应用程序是否有效,有效则运行应用程序。
差分升级Demo演示
启明云端差分升级DEMO硬件选择ESP32-C3开发板&STM32L433-NUCELO开发板&STM32L053-NUCLEO开发板来搭建。DEMO演示视频如下:
差分升级的优势
启明云端差分升级引擎4.0
差分包最小仅为整包的1%
算法不断优化,差分包越来越小
差分包比整包升级时间节省约70%
WT—OTA 方案服务领域
智能汽车:整车OTA升级系统解决方案、车载智能设备升级解决方案、智能座舱升级解决方案等。
智能家居:智能家电、智能厨卫、网关、机顶盒、照明等。
智能穿戴:智能腕表、智能眼镜、健康监测等。
智能表记:NB-IoT水表、燃气表、智能电表等。
智能安防:烟雾报警、视频监控、水位感应等。
共享设备:共享单车、共享充电宝、共享充电桩等。
M2M:2G/3G/4G模组wifi模组、Lora模组、NB-IoT模组等。
接入指南
-
mcu
+关注
关注
146文章
16977浏览量
350212 -
设备
+关注
关注
2文章
4469浏览量
70524
发布评论请先 登录
相关推荐
评论