历史上的今天

今天是:2024年11月19日(星期二)

2020年11月19日 | 更小更快更省流量的差分升级如何做到

发布者:EEWorld资讯 来源: EEWORLD关键字:差分包  远程升级 手机看文章 扫描二维码
随时随地手机看文章

摘要:你的远程升级还在升级整个APP?快来试试差分升级,立功科技基于AMetal SDK提供了一套完整的差分升级算法,升级固件更小、下载速度更快、大大降低网络不稳定造成传输失败概率,同时更节省内存。

 

一、差分包原理

 

在讲差分升级之前,先简单介绍一下差分升级的原理和概念,差分升级是将新老固件具有差异的部分剥离出来,例如固件从V1.1.0升级到V1.1.1,两个固件相比只修改了1K的内容,如下图红色部分为不同部分,将该部分剥离出来生成差分包Diff_V1.1.0~V1.11,通过云端将差分包推送到设备端,设备端接收完成之后,先解压差分包,再通过差分恢复算法,根据差分包中的数据标志,将新老固件进行融合,变成新的固件,从而完成升级。

 

  image.png

 

图 1  差分原理

 

这种升级方式的优点是升级固件更小、下载速度也更快,也更加节省内存空间,相对于整包升级方式,缺点是依赖特定固件,例如该差分包为V1.1.0固件升级到V1.1.1固件的差分包Diff_V1.1.0~V1.1.1,该差分包只能用于升级版本号是V1.1.0固件的设备,其他版本号固件的设备不能用它升级,流程控制上要求比较严格,整包的升级则不依赖特殊固件,随时可以升级。

 

image.png

 

图 2  差分升级

 

二、差分升级架构

 

立功科技基于AMetal SDK软件平台,设计了一套完整的差分升级的算法。以基于华大HC32L196芯片设计差分升级为例,该芯片Flash为256K(0x000_0000~0x0003_FFFF),首先需要对Flash进行划分,主要划分为4个部分:BootLoader区、应用区、download区、参数区,BootLoader区用于引导升级,应用区为升级后的应用程序,download区为下载差分包存储区间,参数区用于存储特定参数。各区大小按照实际使用情况,进行合理划分。

 

image.png

 

图 3  flash划分

 

三、差分升级流程

 

首先介绍BootLoader执行的流程,如下图所示,芯片上电或复位之后,首先开始运行BootLoader的代码,之后检测按键,按键作为升级的提示,如按键按下,准备升级,进入接收固件状态,如接收到固件,对固件进行校验,校验通过后,置位跳转标志位,如校验未通过,重新进入接收固件状态。检测到跳转标志位之后,检查应用程序是否有效,有效进入应用程序运行,无效进入接收固件状态。如果没有按键按下,检查是否有升级标志,有则解析download区的新固件,通过解压缩算法和解差分算法,修改覆盖旧固件,设置跳转标志,检查应用程序是否有效,有效则运行应用程序。

 

image.png

 

图 4  升级流程

 

相信到这不少读者已经清楚升级的原理和升级的过程是怎么回事了,下面介绍一下差分固件的生成。

 

四、差分包制作

 

如开篇所述,差分文件是将新老固件进行对比,然后将有差异的部分取出,作为升级的固件。那么如何才能达到最小的差分固件呢?首先我们需要了解用于升级的MCU的Flash的最小擦除单位是多少,是512字节、1K、2K还是4K?这个与芯片相关,理论上划分得越细,最后的生成文件也就会越小。

 

以HC32L196芯片为例,设置最小的分块单位为1K,将新老两份固件都按1K去划分,划分多少块按两份固件中最大的一个决定,不足的那个后面补0,例如新的固件35.3K,老固件34K,那么最终按新固件大小划分,即按1K划分,将两份固件划分为36块,划分之后,两个固件对应序号的块分别进行比较,将新固件不同于老固件的块进行标记和压缩,最后将所有不同的块压缩为一个包,即差分升级包,到此差分升级包制作完成。AMetal SDK中提供了一个专门用于制作差分包的上位机工具,借助该工具可简单完成差分文件的制作。

 image.png

 

图 5  差分固件格式

关键字:差分包  远程升级 引用地址:更小更快更省流量的差分升级如何做到

上一篇:派拓网络推出5G原生安全产品,为新一代网络保驾护航
下一篇:最后一页

推荐阅读

据科技日报报道,中国专利保护协会近日发布《人工智能技术专利深度分析报告》(下称《报告》),对人工智能技术在世界范围内和在我国的专利申请数据进行了分析。《报告》显示,在申请总量上,中国有明显优势,但在高质量、高价值专利方面,还和美国、日本存在一些差距。在主要专利权人申请量方面,百度和IBM分别占据了中美两国的榜首。DWPI数据库统计显示...
(文章来源:金石兴机器人学院) 现在的生产车间中,工作人员的数量正在下降,很多的企业都使用机器人代替人进行生产,根据生产的需要,工业机器人型号越来越多,那应该怎样选择吗?下面就是详细的介绍,大家现在就来了解一下吧,希望能够帮助大家。 怎么选择工业机器人型号? 1、如果你希望机器人完成将目标工件从一个工位搬运到另一个工位,需要注意...
中美两国在尖端科技上的竞争越演越烈。继5G之后,量子科技或将成为美国最为忌惮的中国科技。10月16日,中共中央政治局集体学习量子科技。就在此前一天,美国国务院发布了《关键与新兴技术国家战略》,详细介绍了美国为保持全球领导力而强调发展“关键与新兴技术”,明确了20项关键与新兴技术的清单,其中就包括量子信息科学。中美为何如此重视量子科技?专...
广告摘要声明广告高工机器人产业研究所(GGII)数据显示,2020年中国多关节机器人销售10.3万台,同比增长10.4%,预计到2023年中国多关节机器人销量有望破16.5万台。多关节机器人的市场蓝海亟待挖掘。为了助力中国工业机器人制造实现弯道超车,作为一家聚焦于高端智能装备制造和人工智能机器人的高科技上市公司,哈工智能与现代重工携手合作,结合各自产业...

史海拾趣

问答坊 | AI 解惑

求教使用高频VCO过程中的其他频率干扰问题,谢谢!

最近在调试一个中频调制电路,其中使用一款VCO—MAX2609来产生本地正弦震荡,该VCO的频率变化范围为540MHz-650MHz,单独调试是能够产生预期的560MHz正弦波。但是由于在整体电路中,数字部分的器件中使用了一个44MHz的晶振,当整体调试时,就发现VCO ...…

查看全部问答∨

车载网络成为汽车电子领域的最大热点

毋庸置疑,汽车电子已体现出网络化的发展方向,车载网络成为汽车电子领域的最大热点。提高控制单元间通讯可靠性和降低导线成本的网络总线技术应用成为动力所在,包括CAN、LIN、FlexRey、MOST、IDB1394等已成为现代汽车网络总线的关键技术。为适应这 ...…

查看全部问答∨

高分辨率ADC的板布线

(模/数变换器)是各种应用领域(如质谱仪,超声,激光雷达/雷达,电信收发机模块等)中关键的模拟处理元件。无论应用是基于时域或频域,都需要ADC最高的动态性能。更快和更高分辨率的ADC,可使超声系统具有更详明的图像,使通信系统具有更高数据的处理 ...…

查看全部问答∨

准备发帖的楼主们请先看一看!

      最近,论坛出于运营等多方面考虑,实现了芯币制,这样考虑有利于论坛的发展,我们也只好理解了。       但作为发帖的楼主们,能不能多为大家考虑呀,多一份奉献精神哪。我发现有些帖子的资料是“出 ...…

查看全部问答∨

MCU或者CPU的复位脉冲有几种?

请教 MCU或者CPU的复位脉冲有几种,分别是哪几种复位脉冲信号? 谢谢…

查看全部问答∨

单片机软硬之争

引子:单片机系统是非常典型的软硬结合的系统 对软件和硬件能力的要求很平均 软件上,你会得自己处理协议、组织控制逻辑甚至加密解密等 硬件上,你们会用运放调整信号、设计合适的电源稳定的驱动电路等 在开发管理上,常见的有以下两种模式: ...…

查看全部问答∨

破解无线网络密码

我电脑可以搜索很多无线网络。。。。 但有密码进不去。。。。 各位高手指点下怎么破解。。。 先说声谢谢了。。。 …

查看全部问答∨

CE的弱智问题:怎么样才能生成DLL文件

写好xxx.def. Dir,写好sources文件include好路径 这样就可以生成DLL文件么? 然后再bib文件和platform.reg修改好,可以可产生镜像文件? 我的理解是这样的。。。不知道对不对。。。…

查看全部问答∨

CE5.0上使用msxml3.dll的问题

如题,我现在用的是模拟器,使用了xml解析器(msxml3)单步发现调用函数CoCreateInstance失败,提示没有注册类别,我判断是没有安装msxml3造成的,从msdn上下载了msxml3.msi,但无法安装,请问该怎样安装呢,需要手动改注册表吗(我的是wince5.0,模 ...…

查看全部问答∨

急!!!关于利用GPRS模块向PC机传输数据的问题!!

各位高人,帮我看看。我现在要实现GPRS模块向可以上网的电脑发送数据。弄了好久,也没弄出来,只好向各位求救啦。 现有的情况:            支持GPRS的模块 SIM300 ,该模块通过串口和PC相连接,用超级终 ...…

查看全部问答∨
小广播
最新网络通信文章

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved