摘要:你的远程升级还在升级整个APP?快来试试差分升级,立功科技基于AMetal SDK提供了一套完整的差分升级算法,升级固件更小、下载速度更快、大大降低网络不稳定造成传输失败概率,同时更节省内存。
一、差分包原理
在讲差分升级之前,先简单介绍一下差分升级的原理和概念,差分升级是将新老固件具有差异的部分剥离出来,例如固件从V1.1.0升级到V1.1.1,两个固件相比只修改了1K的内容,如下图红色部分为不同部分,将该部分剥离出来生成差分包Diff_V1.1.0~V1.11,通过云端将差分包推送到设备端,设备端接收完成之后,先解压差分包,再通过差分恢复算法,根据差分包中的数据标志,将新老固件进行融合,变成新的固件,从而完成升级。
图 1 差分原理
这种升级方式的优点是升级固件更小、下载速度也更快,也更加节省内存空间,相对于整包升级方式,缺点是依赖特定固件,例如该差分包为V1.1.0固件升级到V1.1.1固件的差分包Diff_V1.1.0~V1.1.1,该差分包只能用于升级版本号是V1.1.0固件的设备,其他版本号固件的设备不能用它升级,流程控制上要求比较严格,整包的升级则不依赖特殊固件,随时可以升级。
图 2 差分升级
二、差分升级架构
立功科技基于AMetal SDK软件平台,设计了一套完整的差分升级的算法。以基于华大HC32L196芯片设计差分升级为例,该芯片Flash为256K(0x000_0000~0x0003_FFFF),首先需要对Flash进行划分,主要划分为4个部分:BootLoader区、应用区、download区、参数区,BootLoader区用于引导升级,应用区为升级后的应用程序,download区为下载差分包存储区间,参数区用于存储特定参数。各区大小按照实际使用情况,进行合理划分。
图 3 flash划分
三、差分升级流程
首先介绍BootLoader执行的流程,如下图所示,芯片上电或复位之后,首先开始运行BootLoader的代码,之后检测按键,按键作为升级的提示,如按键按下,准备升级,进入接收固件状态,如接收到固件,对固件进行校验,校验通过后,置位跳转标志位,如校验未通过,重新进入接收固件状态。检测到跳转标志位之后,检查应用程序是否有效,有效进入应用程序运行,无效进入接收固件状态。如果没有按键按下,检查是否有升级标志,有则解析download区的新固件,通过解压缩算法和解差分算法,修改覆盖旧固件,设置跳转标志,检查应用程序是否有效,有效则运行应用程序。
图 4 升级流程
相信到这不少读者已经清楚升级的原理和升级的过程是怎么回事了,下面介绍一下差分固件的生成。
四、差分包制作
如开篇所述,差分文件是将新老固件进行对比,然后将有差异的部分取出,作为升级的固件。那么如何才能达到最小的差分固件呢?首先我们需要了解用于升级的MCU的Flash的最小擦除单位是多少,是512字节、1K、2K还是4K?这个与芯片相关,理论上划分得越细,最后的生成文件也就会越小。
以HC32L196芯片为例,设置最小的分块单位为1K,将新老两份固件都按1K去划分,划分多少块按两份固件中最大的一个决定,不足的那个后面补0,例如新的固件35.3K,老固件34K,那么最终按新固件大小划分,即按1K划分,将两份固件划分为36块,划分之后,两个固件对应序号的块分别进行比较,将新固件不同于老固件的块进行标记和压缩,最后将所有不同的块压缩为一个包,即差分升级包,到此差分升级包制作完成。AMetal SDK中提供了一个专门用于制作差分包的上位机工具,借助该工具可简单完成差分文件的制作。
图 5 差分固件格式
上一篇:派拓网络推出5G原生安全产品,为新一代网络保驾护航
下一篇:最后一页
推荐阅读
史海拾趣
在被VIA收购后的一段时间里,Cyrix继续寻求市场扩张的机会。例如,在1998年,Cyrix与北京大船电子技术公司签订了总代理协议,以扩大其在中国的分销网络。这一策略帮助Cyrix进一步打开了中国市场的大门,为其在全球市场的发展奠定了基础。
以上五个故事描绘了Cyrix Corp公司在电子行业中的发展历程。从初创时期的挑战英特尔到被多次收购后的市场策略调整和市场扩张尝试,Cyrix的发展之路充满了曲折和变革。
为了提高生产效率和产品质量,北京人民电器投入大量资金建设了自动化装配检测流水线。这一举措使得公司的生产能力得到了大幅提升,同时也确保了产品的一致性和可靠性。自动化流水线的建设,是北京人民电器在现代化生产道路上迈出的重要一步。
H&D Wireless公司成立于2009年,总部位于瑞典斯德哥尔摩。成立初期,公司专注于物联网技术的研发,致力于提供智能家居Wi-Fi组件和无线多媒体解决方案。2016年,H&D Wireless宣布获得了一笔300万美元的风险投资,投资方包括Blasieholmen Investment Group及旗下网络内的40名瑞典和欧洲企业家与私人投资家。这笔资金为公司后续的全球业务扩张和物联网云服务平台的发布奠定了坚实基础。
随着公司业务的不断发展,宇阳科技在产能扩张和全球布局方面也取得了显著进展。公司在深圳、东莞、安徽等地建立了多个生产基地,引进了先进的生产线和检测设备,确保了产品的高品质和稳定供应。同时,宇阳科技还积极拓展海外市场,与全球多家知名企业建立了长期稳定的合作关系。
近年来,冠西电子积极布局全球市场,设立了多个分公司和办事处,以便更好地服务全球客户。同时,冠西电子还不断关注新兴技术和市场需求的变化,积极寻求新的发展机遇。展望未来,冠西电子将继续秉承“专业、创新、品质、服务”的理念,不断推动公司业务的发展和进步。
以上五个故事概要涵盖了冠西电子(COSMO)公司从创立到发展的主要阶段和事实。每个阶段都体现了冠西电子在技术、市场、品质、品牌等方面的努力和成就。
最近在调试一个中频调制电路,其中使用一款VCO—MAX2609来产生本地正弦震荡,该VCO的频率变化范围为540MHz-650MHz,单独调试是能够产生预期的560MHz正弦波。但是由于在整体电路中,数字部分的器件中使用了一个44MHz的晶振,当整体调试时,就发现VCO ...… 查看全部问答∨ |
毋庸置疑,汽车电子已体现出网络化的发展方向,车载网络成为汽车电子领域的最大热点。提高控制单元间通讯可靠性和降低导线成本的网络总线技术应用成为动力所在,包括CAN、LIN、FlexRey、MOST、IDB1394等已成为现代汽车网络总线的关键技术。为适应这 ...… 查看全部问答∨ |
(模/数变换器)是各种应用领域(如质谱仪,超声,激光雷达/雷达,电信收发机模块等)中关键的模拟处理元件。无论应用是基于时域或频域,都需要ADC最高的动态性能。更快和更高分辨率的ADC,可使超声系统具有更详明的图像,使通信系统具有更高数据的处理 ...… 查看全部问答∨ |
最近,论坛出于运营等多方面考虑,实现了芯币制,这样考虑有利于论坛的发展,我们也只好理解了。 但作为发帖的楼主们,能不能多为大家考虑呀,多一份奉献精神哪。我发现有些帖子的资料是“出 ...… 查看全部问答∨ |
写好xxx.def. Dir,写好sources文件include好路径 这样就可以生成DLL文件么? 然后再bib文件和platform.reg修改好,可以可产生镜像文件? 我的理解是这样的。。。不知道对不对。。。… 查看全部问答∨ |
|
如题,我现在用的是模拟器,使用了xml解析器(msxml3)单步发现调用函数CoCreateInstance失败,提示没有注册类别,我判断是没有安装msxml3造成的,从msdn上下载了msxml3.msi,但无法安装,请问该怎样安装呢,需要手动改注册表吗(我的是wince5.0,模 ...… 查看全部问答∨ |
各位高人,帮我看看。我现在要实现GPRS模块向可以上网的电脑发送数据。弄了好久,也没弄出来,只好向各位求救啦。 现有的情况: 支持GPRS的模块 SIM300 ,该模块通过串口和PC相连接,用超级终 ...… 查看全部问答∨ |
- 新突破!超高速内存,为英特尔至强6性能核处理器加速
- 将vRAN站点整合至单服务器,助力运营商降低总体拥有成本
- Wi-Fi 8规范已在路上:2.4/5/6GHz三频工作
- 治理混合多云环境的三大举措
- Microchip借助NVIDIA Holoscan平台加速实时边缘AI部署
- 是德科技 FieldFox 手持式分析仪配合 VDI 扩频模块,实现毫米波分析功能
- 高通推出其首款 RISC-V 架构可编程连接模组 QCC74xM,支持 Wi-Fi 6 等协议
- Microchip推出广泛的IGBT 7 功率器件组合,专为可持续发展、电动出行和数据中心应用而设计
- 英飞凌推出新型高性能微控制器AURIX™ TC4Dx