一种嵌入式固件升级方法技术

技术编号:15638896 阅读:263 留言:0更新日期:2017-06-15 20:06
本发明专利技术公开了一种嵌入式固件升级方法,包括以下步骤:S32:数据端将整体数据分段并计算每个分段数据的校验值;S33:接收端发送数据请求到数据端,数据端收到该数据请求后向接收端发送分段数据和该分段数据的校验值;S34:接收端接收到分段数据和该分段数据的校验值后,将该分段数据进行校验,校验未通过则再次请求本分段数据,校验通过则请求下一个分段数据。本发明专利技术一种嵌入式固件升级方法,通过对数据进行分段,提高了固件升级效率,数据端不需要做超时重发,提高了数据端系统的稳定性。

【技术实现步骤摘要】
一种嵌入式固件升级方法
本专利技术涉及固件升级方法,具体涉及一种嵌入式固件升级方法。
技术介绍
随着技术的发展,各种各样的嵌入式设备层出不穷,功能越来越强大,软件越来越复杂。在这种情况下,嵌入式固件就不可避免的存在问题,这就需要不断迭代固件,使产品越来越稳定,这就为嵌入式固件升级技术提供了广阔的应用前景。目前的嵌入式固件升级方法多为利用存储介质直接对固件进行升级,或者利用手机、电脑通过网络下载固件升级数据后,再下发给设备进行固件升级。现有固件升级方法中对数据传输的稳定性、安全性和高效性缺乏研究,使得固件升级时容易出现固件升级效率低下或在数据传输不稳定时数据端过多超时重发导致数据端系统崩溃。
技术实现思路
本专利技术所要解决的技术问题是固件升级时容易出现固件升级效率低下或在数据传输不稳定时数据端过多超时重发导致数据端系统不稳定,目的在于提供一种嵌入式固件升级方法,解决上述问题。本专利技术通过下述技术方案实现:一种嵌入式固件升级方法,其特征在于,包括以下步骤:S32:整体数据进行网络协议封装之前,数据端先将整体数据分段并计算每个分段数据的校验值;S33:接收端发送数据请求到数据端,数据端收到该数据请求后向接收端发送分段数据和该分段数据的校验值;S34:接收端接收到分段数据和该分段数据的校验值后,将该分段数据进行校验,校验未通过则再次请求本分段数据,校验通过则请求下一个分段数据;数据端只在收到数据请求时才发送数据,而不检测网络状态,也不做超时重发。现有固件升级方法中,如只在整个文件或者数据发送完毕后才进行校验,若最后校验未通过,则需要从头发送整个文件或数据,效率低下;而当数据传输不稳定时,数据端会进行大量的超时重发,容易导致数据端系统崩溃。本专利技术应用时,整体数据进行网络协议封装之前,数据端将整体数据分段并计算每个分段数据的校验值;接收端发送数据请求到数据端,数据端收到该数据请求后向接收端发送分段数据和该分段数据的校验值;接收端接收到分段数据和该分段数据的校验值后,将该分段数据进行校验,校验未通过则再次请求本分段数据,校验通过则请求下一个分段数据。本专利技术将整体数据分段,并对每一个分段数据都进行校验,如果一个分段数据出错,则只需重新传送该分段数据即可,提高了固件升级效率;数据端只需在收到数据请求时发送分段数据,不检测网络状态,不需要做超时重发,减少了数据端系统的工作量,提高了数据端系统的稳定性。进一步的,所述分段数据的分段长度为可修改值。现有固件升级方法中,数据端的传输速率是固定的,而接收端的内存需要与数据端的传输速率相匹配,这就极大的降低了固件升级设备的通用性。本专利技术应用时,分段数据的分段长度可以根据接收端的内存大小进行修改,从而改变数据端的传输速率,提高固件升级设备的通用性,兼容所有嵌入式固件。再进一步的,所述接收端统计数据出错率;所述数据出错率为未通过校验的分段数据数量与全部分段数据数量的比值。现有固件升级方法中,数据端的传输速率是固定的,当数据的传输受到较大干扰时,数据端无法降低传输速率来提高稳定,使得接收端接收到的数据大量出错重发,降低了数据传输效率。本专利技术应用时,当数据的传输受到较大干扰时,接收端统计的数据出错率上升,这时通过降低分段长度来降低传输速率,以达到提高数据传输稳定性,并提高数据传输效率的目的。进一步的,本专利技术还包括以下步骤:S31:数据端计算整体数据的校验值,并在该整体数据的全部分段数据发送完成后,将校验值发送给接收端;S35:接收端接收完全部分段数据后,对整体数据进行校验,校验未通过则执行S33重新接受全部分段数据。本专利技术应用时,整体数据的全部分段数据发送完成后,对该整体数据进行校验,提高了数据的准确性。再进一步的,接收端的存储器在结构上包括第一区域和第二区域,当接收端运行在第一区域时,通过权利要求4所述所有步骤接收升级数据,并对第二区域升级,然后将接收端跳转到第二区域运行。现有技术中,进行嵌入式固件升级时,往往需要接收端脱机。本专利技术应用时,通过接收端在第一区域和第二区域之间的跳转,实现了接收端不脱机的完成固件升级。再进一步的,所述接收端设置定时器;所述接收端发送数据请求并接收到数据后,定时器归零,当定时器到达定时时间时,再执行后续步骤。本专利技术应用时,接收端的操作间隔由定时器控制,防止接收端向数据端过于频繁的发送数据请求,降低了数据端的负载。进一步的,如数据端打断数据传输过程,在数据端恢复数据传输后,接收端重新请求数据端打断数据传输过程时传输的分段数据。现有技术中,当数据端因繁忙、断电或故障等原因打断数据传输过程,在数据端恢复数据传输后,需要重新发送整段数据,降低了数据传输效率。本专利技术应用时,接收端在数据端恢复数据传输后,重新请求数据端打断数据传输过程时传输的分段数据,实现了数据端打断数据传输过程时的断点续传。本专利技术与现有技术相比,具有如下的优点和有益效果:1、本专利技术一种嵌入式固件升级方法,通过对数据进行分段,提高了固件升级效率,数据端不需要做超时重发,提高了数据端系统的稳定性;2、本专利技术一种嵌入式固件升级方法,分段长度可以根据接收端的内存大小进行修改,提高固件升级设备的通用性,兼容所有嵌入式固件;3、本专利技术一种嵌入式固件升级方法,通过降低分段长度来降低传输速率,提高了在较大干扰情况下数据传输稳定性,并提高数据传输效率;4、本专利技术一种嵌入式固件升级方法,通过整体数据的全部分段数据发送完成后,对该整体数据进行校验,提高了数据的准确性;5、本专利技术一种嵌入式固件升级方法,通过接收端在第一区域和第二区域之间的跳转,实现了接收端不脱机的完成固件升级;6、本专利技术一种嵌入式固件升级方法,通过接收端的操作间隔由定时器控制,防止接收端向数据端过于频繁的发送数据请求,降低了数据端的负载;7、本专利技术一种嵌入式固件升级方法,接收端在数据端恢复数据传输后,重新请求数据端打断数据传输过程时传输的分段数据,实现了数据端打断数据传输过程时的断点续传。附图说明此处所说明的附图用来提供对本专利技术实施例的进一步理解,构成本申请的一部分,并不构成对本专利技术实施例的限定。在附图中:图1为本专利技术步骤示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本专利技术作进一步的详细说明,本专利技术的示意性实施方式及其说明仅用于解释本专利技术,并不作为对本专利技术的限定。实施例1如图1所示,一种嵌入式固件升级方法,其特征在于,包括以下步骤:S32:整体数据进行网络协议封装之前,数据端先将整体数据分段并计算每个分段数据的校验值;S33:接收端发送数据请求到数据端,数据端收到该数据请求后向接收端发送分段数据和该分段数据的校验值;S34:接收端接收到分段数据和该分段数据的校验值后,将该分段数据进行校验,校验未通过则再次请求本分段数据,校验通过则请求下一个分段数据;数据端只在收到数据请求时才发送数据,而不检测网络状态,也不做超时重发。本实施例实施时,校验优选为CRC校验,需要传输的文件大小为100kb,数据端将分段大小定为5kb,并将文件分为20段,同时计算每个分段的CRC校验值;接收端发送数据请求,数据端收到请求后将第一个分段及其CRC校验值发送给接收端;接收端收到第一个分段及其CRC校验值后,计算该分段的CRC校验值并对比接收本文档来自技高网...
一种嵌入式固件升级方法

【技术保护点】
一种嵌入式固件升级方法,其特征在于,包括以下步骤:S32:整体数据进行网络协议封装之前,数据端先将整体数据分段并计算每个分段数据的校验值;S33:接收端发送数据请求到数据端,数据端收到该数据请求后向接收端发送分段数据和该分段数据的校验值;S34:接收端接收到分段数据和该分段数据的校验值后,将该分段数据进行校验,校验未通过则再次请求本分段数据,校验通过则请求下一个分段数据;数据端只在收到数据请求时才发送数据,而不检测网络状态,也不做超时重发。

【技术特征摘要】
1.一种嵌入式固件升级方法,其特征在于,包括以下步骤:S32:整体数据进行网络协议封装之前,数据端先将整体数据分段并计算每个分段数据的校验值;S33:接收端发送数据请求到数据端,数据端收到该数据请求后向接收端发送分段数据和该分段数据的校验值;S34:接收端接收到分段数据和该分段数据的校验值后,将该分段数据进行校验,校验未通过则再次请求本分段数据,校验通过则请求下一个分段数据;数据端只在收到数据请求时才发送数据,而不检测网络状态,也不做超时重发。2.根据权利要求1所述的一种嵌入式固件升级方法,其特征在于,所述分段数据的分段长度为可修改值。3.根据权利要求2所述的一种嵌入式固件升级方法,其特征在于,所述接收端统计数据出错率;所述数据出错率为未通过校验的分段数据数量与全部分段数据数量的比值。4.根据权利要求1所述的一种嵌入式固件升级方法,其特征在于,还包括以下步骤:...

【专利技术属性】
技术研发人员:施友岚钱超江承利
申请(专利权)人:成都黑盒子电子技术有限公司
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1