ECU数据的刷写方法与装置制造方法及图纸

技术编号:35104226 阅读:37 留言:0更新日期:2022-10-01 17:13
本申请提供了一种ECU数据的刷写方法与装置,该方法包括:在链接文件中创建多个内存分块,其中,内存分块的数量大于或等于ECU的Flash块的数量;将多个目标文件中的多个函数存储至多个内存分块,其中,目标文件为源文件编译后得到的文件;在将多个函数存储后,计算内存分块对应的特征值,其中,特征值用于唯一标识内存分块;在内存分块对应的特征值与Flash块对应的特征值不相同的情况下,控制Flash块执行刷写操作,直到刷写后的Flash块的特征值与内存分块对应的特征值相同为止,其中,刷写操作用于更新Flash块存储的多个函数,从而解决了现有技术中ECU数据的刷写方式需要消耗大量时间的问题。消耗大量时间的问题。消耗大量时间的问题。

【技术实现步骤摘要】
ECU数据的刷写方法与装置


[0001]本申请涉及发动机领域,具体而言,涉及一种ECU数据的刷写方法、装置、计算机可读存储介质、处理器与电子设备。

技术介绍

[0002]ECU的烧录文件是由多个.c文件通过编译、链接最终生成的可执行程序,这个可执行程序要烧录到ECU的Flash中。现有ECU刷写方式一般有以下三种:1)全量升级方案,该方案的特点是下载时将新版本软件全部下载更新到旧版软件存储位置,缺点是由于要全部下载、擦除和编程,耗时较长;2)差分升级方案,传统差分升级方案通过差分算法获得新旧版本软件的差分升级包,仅需要下载升级包,缺点是ECU中需要很大的RAM空间来用升级包构建新版本软件;3)压缩传输方案,将待传输的内容压缩,传输到ECU后再解压缩,缺点是需要很大的RAM空间。上述方案需要消耗了大量时间和较大的RAM空间,在单片机RAM资源和计算性能比较紧张的情形下,难以使用上述方案。
[0003]针对相关技术中存在的上述问题,目前尚未提出有效的解决方案。

技术实现思路

[0004]本申请的主要目的在于提供一种ECU数据的刷写方法、装置、计算机可读存储介质、处理器与电子设备,以解决现有技术中ECU数据的刷写方式需要消耗大量时间的问题。
[0005]为了实现上述目的,根据本申请的一个方面,提供了一种ECU数据的刷写方法,包括:在链接文件中创建多个内存分块,其中,内存分块的数量大于或等于ECU的Flash块的数量;将多个目标文件中的多个函数存储至多个内存分块,其中,目标文件为源文件编译后得到的文件;在将多个函数存储后,计算内存分块对应的特征值,其中,特征值用于唯一标识内存分块;在内存分块对应的特征值与Flash块对应的特征值不相同的情况下,控制Flash块执行刷写操作,直到刷写后的Flash块的特征值与内存分块对应的特征值相同为止,其中,刷写操作用于更新Flash块存储的多个函数。
[0006]可选地,将多个目标文件中的多个函数存储至多个内存分块,包括:将同一个目标文件中的多个函数依次存储至内存分块中。
[0007]可选地,将多个目标文件中的多个函数存储至多个内存分块,包括:在函数的占用内存大于内存分块的剩余内存的情况下,将函数存储至可用内存大于等于函数的占用内存的内存分块中。
[0008]可选地,将多个目标文件中的多个函数存储至多个内存分块,包括:在函数的占用内存大于一个内存分块的内存的情况下,将函数存储至组合内存分块中,其中,组合内存分块由多个连续的内存分块组合而成,组合内存分块的内存大于函数的占用内存。可选地,在将多个函数存储后,计算内存分块对应的特征值,包括:获取内存分块中的多个函数;控制校验程序对多个函数进行计算,以得到内存分块对应的特征值。
[0009]可选地,在将多个函数存储后,计算内存分块对应的特征值之后,该方法包括:将
特征值存储到内存分块的前四个字节中。
[0010]为了实现上述目的,根据本申请的一个方面,提供了一种ECU数据的刷写装置,包括:创建单元,用于在链接文件中创建多个内存分块,其中,内存分块的数量大于或等于ECU的Flash块的数量;第一存储单元,用于将多个目标文件中的多个函数存储至多个内存分块,其中,目标文件为源文件编译后得到的文件;计算单元,用于在将多个函数存储后,计算内存分块对应的特征值,其中,特征值用于唯一标识内存分块;控制单元,用于在内存分块对应的特征值与Flash块对应的特征值不相同的情况下,控制Flash块执行刷写操作,直到刷写后的Flash块的特征值与内存分块对应的特征值相同为止,其中,刷写操作用于更新Flash块存储的多个函数。
[0011]为了实现上述目的,根据本申请的另一方面,提供了一种计算机可读存储介质,该计算机可读存储介质包括存储的程序,其中,该程序执行任一种上述ECU数据的刷写方法。
[0012]为了实现上述目的,根据本申请的另一方面,提供了一种处理器,处理器用于运行程序,其中,该程序执行任一种上述ECU数据的刷写方法。
[0013]为了实现上述目的,根据本申请的另一方面,提供了一种电子设备,包括:一个或多个处理器,存储器,显示装置以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置为由上述一个或多个处理器执行,上述一个或多个程序包括用于执行任一种上述ECU数据的刷写方法。
[0014]应用本申请的技术方案,通过在链接文件中创建多个内存分块;将多个目标文件中的多个函数存储至多个内存分块,其中,目标文件为源文件编译后得到的文件;在将多个函数存储后,计算内存分块对应的特征值,其中,特征值用于唯一标识内存分块;在内存分块对应的特征值与ECU的Flash块对应的特征值不相同的情况下,控制Flash块执行刷写操作,直到刷写后的Flash块的特征值与内存分块对应的特征值相同为止,其中,刷写操作用于更新Flash块存储的多个函数,在本方案中,在链接文件中创建多个内存分块,内存分块的数量大于或等于ECU的Flash块的数量,将多个目标文件中的多个函数存储至多个内存分块,在多个函数都存储到多个内存分块后,分别计算多个内存分块的特征值,确认多个内存分块的特征值与其对应的Flash块的特征值是否相同,在多个内存分块的特征值与其对应的Flash块的特征值不相同的情况下,说明Flash块存储的函数发生了改变,仅需将存储的函数发生改变的Flash块的原存储内容删除,再执行刷写操作,直到刷写后的Flash块的特征值与内存分块对应的特征值相同为止,进而解决了现有技术中ECU的数据刷写需要将全部Flash块进行函数更新,消耗了大量时间,该方法解决了现有技术中ECU数据的刷写方式需要消耗大量时间的问题。
附图说明
[0015]构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0016]图1示出了根据本申请实施例的一种ECU数据的刷写方法的流程图;
[0017]图2示出了根据本申请实施例的一种ECU数据的刷写装置的示意图。
具体实施方式
[0018]需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
[0019]为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
[0020]需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种ECU数据的刷写方法,其特征在于,包括:在链接文件中创建多个内存分块,其中,所述内存分块的数量大于或等于ECU的Flash块的数量;将多个目标文件中的多个函数存储至多个所述内存分块,其中,所述目标文件为源文件编译后得到的文件;在将多个所述函数存储后,计算所述内存分块对应的特征值,其中,所述特征值用于唯一标识所述内存分块;在所述内存分块对应的特征值与所述Flash块对应的特征值不相同的情况下,控制所述Flash块执行刷写操作,直到刷写后的所述Flash块的特征值与所述内存分块对应的特征值相同为止,其中,所述刷写操作用于更新所述Flash块存储的多个所述函数。2.根据权利要求1所述的方法,其特征在于,将多个目标文件中的多个函数存储至多个所述内存分块,包括:将同一个所述目标文件中的多个所述函数依次存储至所述内存分块中。3.根据权利要求1所述的方法,其特征在于,将多个目标文件中的多个函数存储至多个所述内存分块,包括:在所述函数的占用内存大于所述内存分块的剩余内存的情况下,将所述函数存储至可用内存大于等于所述函数的占用内存的所述内存分块中。4.根据权利要求1所述的方法,其特征在于,将多个目标文件中的多个函数存储至多个所述内存分块,包括:在所述函数的占用内存大于一个所述内存分块的内存的情况下,将所述函数存储至组合内存分块中,其中,所述组合内存分块由多个连续的所述内存分块组合而成,所述组合内存分块的内存大于所述函数的占用内存。5.根据权利要求1所述的方法,其特征在于,在将多个所述函数存储后,计算所述内存分块对应的特征值,包括:获取所述内存分块中的多个所述函数;控制校验程序对多个所述函数进行计算,以得到所...

【专利技术属性】
技术研发人员:史家涛刘晓波张本西刘硕薛琦程民彪
申请(专利权)人:潍坊潍柴动力科技有限责任公司
类型:发明
国别省市:

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

1