基于低速通讯接口的程序升级方法及系统技术方案

技术编号:36806732 阅读:15 留言:0更新日期:2023-03-09 00:19
本发明专利技术揭示了基于低速通讯接口的程序升级方法及系统,其中升级方法包括如下步骤:S1,获取待更新的新程序;S2,将新程序的每个函数及每个资源数据数组存储在FLASH存储器的一个独立的FLASH分块中,每个FLASH分块的存储空间固定且大于其所要存储的函数或资源数据数组的大小;S3,将新程序对应的FLASH分块中存储的内容与旧程序对应的FLASH分块中存储的内容进行比对以确定需要更新的FLASH分块和需要保留新程序对应内容的FLASH分块;S4,对需要更新内容的FLASH分块中的内容进行更新及将需要保留新程序对应内容的FLASH分块中存储的内容进行保留。本发明专利技术可以新、旧程序的对比,标记出需要更新的FLASH分块,只对需要更新的少量的FLASH分块进行更新,从而提高更新效率及保证成功率。率。率。

【技术实现步骤摘要】
基于低速通讯接口的程序升级方法及系统


[0001]本专利技术涉及数字通信领域,尤其是基于低速通讯接口的程序升级方法及系统。

技术介绍

[0002]在工程车辆仪表等终端产品使用时,由于客户要求或者软件漏洞等原因需要对产品进行升级。需要通过总线连接T

Box至外网,或者通过连接外部总线进行程序升级。
[0003]在一些通讯接口速率低的使用场景,如低速率串口、can总线等。整个程序可能大到几MB以上,现有的工程车辆仪表的程序更新往往是程序的全部更新,而速率太低会让整个程序更新过程高达数分钟,这是客户难以接受的,并且很容易造成更新失败率的提高。而工程仪表程序升级时,程序的改动往往很小,全部更新显然是不合适的。

技术实现思路

[0004]本专利技术的目的就是为了解决现有技术中存在的上述问题,提供一种基于低速通讯接口的程序升级方法及系统。
[0005]本专利技术的目的通过以下技术方案来实现:基于低速通讯接口的程序升级方法,包括如下步骤:S1,获取待更新的新程序;S2,将所述新程序的每个函数及每个资源数据数组存储在FLASH存储器的一个独立的FLASH分块中;S3, 将新、旧程序进行比对以确定旧程序对应的FLASH分块中需要更新内容和/或需要清除内容的FLASH分块和/或新程序对应的FLASH分块中需要保留存储内容的FLASH分块;S4,将所述需要更新内容的FLASH分块中存储的内容更新为新程序的对应内容和/或将所述需要清除内容的FLASH分块中存储的内容清除和/或将所述需要保留存储内容的FLASH分块中存储的内容添加到旧程序中。
[0006]优选的,所述基于低速通讯接口的程序升级方法中,在S2之后,S3之前,执行如下步骤:创建与所述新程序对应的地址信息数组;所述地址信息数组可以通过索引名进行数组寻址并调用每个函数及资源数据数组以链接形成程序;在创建的地址信息数组中添加新程序的每个函数的索引名及该函数所在的FLASH分块在FLASH存储器中的定位地址;在创建的地址信息数组中添加新程序的每个资源数组的索引名及该资源数组所在的FLASH分块在FLASH存储器中的定位地址。
[0007]优选的,所述基于低速通讯接口的程序升级方法中,所述地址信息数组存储在FLASH存储器的固定FLASH块中。
[0008]优选的,所述基于低速通讯接口的程序升级方法中,所述S3包括
S31,对比新程序和旧程序对应的地址信息数组;当确定它们不同时,确定旧程序对应的地址信息数组需要更新并根据新程序对应的地址信息数组进行旧程序对应的地址信息数组的更新;S32,通过对新、旧程序对应的每个FLASH分块的内容进行比对以确定旧程序对应的FLASH分块中需要更新内容和/或需要清除内容的FLASH分块和/或新程序对应的FLASH分块中需要保留存储内容的FLASH分块。
[0009]优选的,所述基于低速通讯接口的程序升级方法中,在所述S31中,若确定一索引名在新程序对应的地址信息数组中存在,而在旧程序对应的地址信息数组中不存时,将该索引名及其对应的FLASH分块在FLASH存储器中的定位地址更新到旧程序对应的地址信息数组中;同时,将新程序对应的地址信息数组中与该索引名对应的FLASH分块确定为所述需要保留存储内容的FLASH分块;若确定一索引名在新程序对应的地址信息数组中不存在,而在旧程序对应的地址信息数组中存在,将该索引名及其对应的FLASH分块在FLASH存储器中的定位地址从旧程序对应的地址信息数组中清除;同时,将该索引名对应的FLASH分块确定为所述需要清除内容的FLASH分块;若确定新、旧程序对应的地址信息数组中,相同索引名对应的FLASH分块在FLASH存储器中的定位地址所限定的存储空间的大小不同时,则将旧程序对应的地址信息数组中与该索引名对应的定位地址修改为新程序对应的地址信息数中与该索引名对应的定位地址;且在S32过程中,直接将旧程序对应的地址信息数组中与该索引名对应的FLASH分块确定为所述需要更新存储内容的FLASH分块。
[0010]基于低速通讯接口的程序升级系统,包括:程序接受模块,用于获取待升级的新程序;分块存储模块,用于将所述新程序的每个函数及每个资源数据数组存储在FLASH存储器的一个独立的FLASH分块中;比对模块,用于将新、旧程序进行比对以确定旧程序对应的FLASH分块中需要更新内容和/或需要清除内容的FLASH分块和/或新程序对应的FLASH分块中需要保留存储内容的FLASH分块;;更新模块,用于将所述需要更新内容的FLASH分块中存储的内容更新为新程序的对应内容和/或将所述需要清除内容的FLASH分块中存储的内容清除和/或将所述需要保留存储内容的FLASH分块中存储的内容添加到旧程序中。
[0011]优选的,所述基于低速通讯接口的程序升级系统还包括地址信息数组构建模块,所述地址信息数组构件模块包括:创建单元,用于创建与程序对应的地址信息数组,所述地址信息数组可以通过索引名进行数组寻址并调用每个函数及资源数据数组以链接形成程序;第一信息添加单元,用于在创建的地址信息数组中添加程序的每个函数的索引名及该函数所在的FLASH分块在FLASH存储器中的定位地址;第二信息添加单元,用于在创建的地址信息数组中添加程序的每个资源数组的索引名及该资源数组所在的FLASH分块在FLASH存储器中的定位地址。
[0012]本专利技术技术方案的优点主要体现在:
本专利技术的方法把程序的所有函数和资源数据数组定位在不同FLASH分块中,在获得待更新的新程序后,根据新、旧程序的对比,可以标记出需要更新的FLASH分块,从而只对需要对少量的FLASH分块中的内容进行更新,可以极大地缩小程序需要更新的内容大小,从而提高更新效率及保证成功率。
[0013]本专利技术的方法在实现过程中,通过构建与程序相应的地址信息数组来存储程序的每个函数和资源数据数组所在的FLASH分块的地址信息,从而通过索引名进行数组寻址调用,能够方便、准确地进行新、旧程序的相对应的FLASH分块中的内容的调用和比较,能够提高比对的效率和保证准确性。
[0014]本专利技术先对新旧程序的地址信息数组进行比对,能够快速地确定部分需要更新的FLASH分块,可以有效地减少将相同索引名的FLASH分块中存储的内容进行比较的处理量,有利于提高整体的更新效率。
附图说明
[0015]图1是本专利技术的方法的过程示意图;图2是本专利技术的方法的详细过程示意图。
具体实施方式
[0016]本专利技术的目的、优点和特点,将通过下面优选实施例的非限制性说明进行图示和解释。这些实施例仅是应用本专利技术技术方案的典型范例,凡采取等同替换或者等效变换而形成的技术方案,均落在本专利技术要求保护的范围之内。
[0017]在方案的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“前”、“后”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述和简化描述,而不是指本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于低速通讯接口的程序升级方法,其特征在于:包括如下步骤:S1,获取待更新的新程序;S2,将所述新程序的每个函数及每个资源数据数组存储在FLASH存储器的一个独立的FLASH分块中;S3,将新、旧程序进行比对以确定旧程序对应的FLASH分块中需要更新内容和/或需要清除内容的FLASH分块和/或新程序对应的FLASH分块中需要保留存储内容的FLASH分块;S4,将所述需要更新内容的FLASH分块中存储的内容更新为新程序的对应内容和/或将所述需要清除内容的FLASH分块中存储的内容清除和/或将所述需要保留存储内容的FLASH分块中存储的内容添加到旧程序中。2.根据权利要求1所述的基于低速通讯接口的程序升级方法,其特征在于:在S2之后,S3之前,执行如下步骤:创建与所述新程序对应的地址信息数组;所述地址信息数组可以通过索引名进行数组寻址并调用每个函数及资源数据数组以链接形成程序;在创建的地址信息数组中添加新程序的每个函数的索引名及该函数所在的FLASH分块在FLASH存储器中的定位地址;在创建的地址信息数组中添加新程序的每个资源数组的索引名及该资源数组所在的FLASH分块在FLASH存储器中的定位地址。3.根据权利要求2所述的基于低速通讯接口的程序升级方法,其特征在于:所述地址信息数组存储在FLASH存储器的固定FLASH块中。4.根据权利要求2所述的基于低速通讯接口的程序升级方法,其特征在于:所述S3包括S31,对比新程序和旧程序对应的地址信息数组;当确定它们不同时,确定旧程序对应的地址信息数组需要更新并根据新程序对应的地址信息数组进行旧程序对应的地址信息数组的更新;S32,通过对新、旧程序对应的每个FLASH分块的内容进行比对以确定旧程序对应的FLASH分块中需要更新内容和/或需要清除内容的FLASH分块和/或新程序对应的FLASH分块中需要保留存储内容的FLASH分块。5.根据权利要求4所述的基于低速通讯接口的程序升级方法,其特征在于:在所述S31中,若确定一索引名在新程序对应的地址信息数组中存在,而在旧程序对应的地址信息数组中不存时,将该索引名及其对应的FLASH分块在FLASH存储器中的定位地址更新到旧程序对应的地址信息数组中;同时...

【专利技术属性】
技术研发人员:祝涛潘晓勇龙华丽
申请(专利权)人:苏州蓝博控制技术有限公司
类型:发明
国别省市:

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

1