CN109358892B - 一种软件版本升级方法及装置 - Google Patents

一种软件版本升级方法及装置 Download PDF

Info

Publication number
CN109358892B
CN109358892B CN201811123088.0A CN201811123088A CN109358892B CN 109358892 B CN109358892 B CN 109358892B CN 201811123088 A CN201811123088 A CN 201811123088A CN 109358892 B CN109358892 B CN 109358892B
Authority
CN
China
Prior art keywords
software version
version number
data
block area
latest
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811123088.0A
Other languages
English (en)
Other versions
CN109358892A (zh
Inventor
陈娜娜
史家涛
刘晓波
张国花
赵祥博
徐龙增
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Weichai Power Co Ltd
Original Assignee
Weichai Power Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Weichai Power Co Ltd filed Critical Weichai Power Co Ltd
Priority to CN201811123088.0A priority Critical patent/CN109358892B/zh
Publication of CN109358892A publication Critical patent/CN109358892A/zh
Application granted granted Critical
Publication of CN109358892B publication Critical patent/CN109358892B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本申请提供了一种软件版本升级方法,当电子控制单元ECU上电时,将电可擦除可编程只读存储器EEPROM中所有块BLOCK区的全部数据复制到随机存储器RAM中,BLOCK区的全部数据包括当前软件版本号;软件运行时获取最新软件版本号;判断所述最新软件版本号是否大于所述当前软件版本号;若是,判定当前软件版本升级,RAM中0到所述当前软件版本号之间的全部数据保持不变,将所述当前软件版本号与所述最新软件版本号之间的新增变量的值设置为安全的默认值。本发明实现了EEPROM数据的版本兼容,当ECU刷写不同版本时,相同的变量数据不丢失,不同的变量保持安全值。

Description

一种软件版本升级方法及装置
技术领域
本发明涉及计算机软件技术领域,更具体的,涉及一种软件版本升级方法及装置。
背景技术
电子控制单元ECU软件版本不同时,所需要存储在电可擦除可编程只读存储器EEPROM中的变量个数和顺序都会发生变化。
现有技术在ECU软件版本发生变化时,会直接将EEPROM的数据清除,一些重要数据如软硬件版本号、运行时间、行驶里程等都会丢失,如果已经推广到市场,EEPROM数据的丢失会给客户造成困扰及不便。
发明内容
有鉴于此,本发明提供了一种软件版本升级方法,能够实现EEPROM数据的版本兼容,当ECU刷写不同版本时,相同的变量数据不丢失,不同的变量保持安全值。
为了实现上述发明目的,本发明提供的具体技术方案如下:
一种软件版本升级方法,包括:
当电子控制单元ECU上电时,将电可擦除可编程只读存储器EEPROM中所有块BLOCK区的全部数据复制到随机存储器RAM中,BLOCK区的全部数据包括当前软件版本号;
软件运行时获取最新软件版本号;
判断所述最新软件版本号是否大于所述当前软件版本号;
若是,判定当前软件版本升级,RAM中0到所述当前软件版本号之间的全部数据保持不变,将所述当前软件版本号与所述最新软件版本号之间的新增变量的值设置为安全的默认值。
可选的,所述方法还包括:
当所述最新软件版本号与所述当前软件版本号相同时,判定当前软件版本不变,RAM中0到所述当前软件版本号之间的全部数据保持不变。
可选的,所述方法还包括:
当所述最新软件版本号小于所述当前软件版本号时,判定当前软件版本降级,RAM中0到所述最新软件版本号之间的全部数据保持不变,将所述最新软件版本号与所述当前软件版本号之间的多余变量的值更新为安全的默认值。
可选的,所述方法还包括:
在车辆的行驶过程中,控制RAM中软件每个变量分别记录相应的行驶参数;
当ECU下电时,读取RAM中软件的全部数据,并根据读取的软件的全部数据更新EEPROM中的相应数据。
可选的,BLOCK区的全部数据还包括每个BLOCK区的校验和,在所述软件运行时获取最新软件版本号之前,所述方法还包括:
分别根据每个BLOCK区的数据计算每个BLOCK区的实际校验和;
分别判断每个BLOCK区的检验和与其相应的实际校验和是否相同;
若所有BLOCK区的检验和与其相应的实际校验和相同,执行所述所述软件运行时获取最新软件版本号;
对于每一个BLOCK区,若BLOCK区的检验和与其相应的实际校验和不同时,判定EEPROM中的信息不可信,并将该BLOCK区中所有变量的值更新为预设的安全值。
可选的,在所述软件运行时获取最新软件版本号之前,所述方法还包括:
当将EEPROM中所有BLOCK区的全部数据复制到RAM中失败,或ECU为初次使用时,判定EEPROM中的信息不可信,并将每个BLOCK区中所有变量的值更新为预设的安全值;
当将EEPROM中所有BLOCK区的全部数据复制到RAM中成功,且ECU不是初次使用时,执行所述软件运行时获取最新软件版本号。
一种软件版本升级装置,包括:
EEPROM数据复制单元,用于当电子控制单元ECU上电时,将电可擦除可编程只读存储器EEPROM中所有块BLOCK区的全部数据复制到随机存储器RAM中,BLOCK区的全部数据包括当前软件版本号;
最新版本号获取单元,用于软件运行时获取最新软件版本号;
升级判断单元,用于判断所述最新软件版本号是否大于所述当前软件版本号;当所述最新软件版本号大于所述当前软件版本号时,触发版本升级控制单元;当所述最新软件版本号与所述当前软件版本号相同时,触发版本不变控制单元;当所述最新软件版本号小于所述当前软件版本号时,触发版本降级控制单元;
所述版本升级控制单元,用于判定当前软件版本升级,RAM中0到所述当前软件版本号之间的全部数据保持不变,将所述当前软件版本号与所述最新软件版本号之间的新增变量设置为安全的默认值。
所述版本不变控制单元,用于判定当前软件版本不变,RAM中0到所述当前软件版本号之间的全部数据保持不变。
所述版本降级控制单元,用于判定当前软件版本降级,RAM中0到所述最新软件版本号之间的全部数据保持不变,将所述最新软件版本号与所述当前软件版本号之间的多余变量的值更新为安全的默认值。
可选的,所述装置还包括:
行驶参数记录单元,用于在车辆的行驶过程中,控制RAM中软件每个变量分别记录相应的行驶参数;
EEPROM数据更新单元,用于当ECU下电时,读取RAM中软件的全部数据,并根据读取的软件的全部数据更新EEPROM中的相应数据。
可选的,BLOCK区的全部数据还包括每个BLOCK区的校验和,所述装置还包括:
校验和计算单元,用于分别根据每个BLOCK区的数据计算每个BLOCK区的实际校验和;
检验和判断单元,用于分别判断每个BLOCK区的检验和与其相应的实际校验和是否相同;若所有BLOCK区的检验和与其相应的实际校验和相同,触发所述版本号获取单元;对于每一个BLOCK区,若BLOCK区的检验和与其相应的实际校验和不同时,判定EEPROM中的信息不可信,并将该BLOCK区中所有变量的值更新为预设的安全值。
可选的,所述装置还包括:
数据复制成功判断单元,用于判断将EEPROM中所有BLOCK区的全部数据复制到RAM中是否成功;若成功,触发所述版本号获取单元;若失败,判定EEPROM中的信息不可信,并将每个BLOCK区中所有变量的值更新为预设的安全值;
ECU初次使用判断单元,用于判断ECU是否为初次使用;若不是初次使用,触发所述版本号获取单元;若是初次使用,判定EEPROM中的信息不可信,并将每个BLOCK区中所有变量的值更新为预设的安全值。
相对于现有技术,本发明的有益效果如下:
本发明公开的一种软件版本升级方法及装置,当ECU上电时,将EEPROM中所有BLOCK区的全部数据复制到RAM中,当判定软件版本升级时,RAM中0到所述当前软件版本号之间的全部数据保持不变,即在ECU刷写不同版本时,不同版本间相同的变量数据不丢失,并将所述当前软件版本号与所述最新软件版本号之间的新增变量的值设置为安全的默认值,保证不同版本间不同变量保持安全值,避免ECU软件版本升级带来的数据混乱。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例公开的一种软件版本升级方法流程示意图;
图2为本发明实施例公开的另一种软件版本升级方法流程示意图;
图3为本发明实施例公开的又一种软件版本升级方法流程示意图;
图4为本发明实施例公开的一种软件版本升级装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,本实施例公开了一种软件版本升级方法,具体应用于电子控制单元ECU,该方法具体包括以下步骤:
S101:当电子控制单元ECU上电时,将电可擦除可编程只读存储器EEPROM中所有块BLOCK区的全部数据复制到随机存储器RAM中;
其中,EEPROM为电可擦除可编程只读存储器,是一种掉电后数据不丢失的存储芯片,BLOCK是一种内存划分单元。
ECU的软件的变量存储在EEPROM中,软件的所有变量按照功能、基本类型和存储需求划分为不同的BLOCK区进行存储,如软件可以包括行驶里程、驾驶时间等变量,行驶里程和驾驶时间为不同类型的变量,行驶里程和驾驶时间可以分别对应一个BLOCK区存储相应的数据。
EEPROM中所有变量的定义顺序统一,有新增变量时,只能依次往后添加,不允许有删除,如确实需要删除,用缺省变量取代原有变量在BLOCK区中的位置,当变量增加时,软件版本号才会升级。
具体的,请参阅表1,BLOCK区中存储如下数据:软件版本号、校验和、BLOCK区的大小、BLOCK存储次数和变量。
Figure BDA0001811678020000051
S102:软件运行时获取最新软件版本号;
ECU上电后,软件自动运行,自动检测得到最新软件版本号。
S103:判断最新软件版本号是否大于当前软件版本号;
若是,执行S104:判定当前软件版本升级,RAM中0到当前软件版本号之间的全部数据保持不变,将当前软件版本号与最新软件版本号之间的新增变量的值设置为安全的默认值。
可以理解的是,RAM中0到当前软件版本号之间的全部数据为软件升级前的数据,为最新软件版本号与当前软件版本号对应的相同数据,软件版本升级后,不同版本间相同变量的数据保持不变,避免版本升级导致的数据丢失的问题。将当前软件版本号与最新软件版本号之间的新增变量为不同版本间的不同变量,将新增变量的值设置为安全的默认值,如0,避免版本升级导致的数据混乱问题。
需要说明的是,在实际ECU上电时,可能发生软件版本升级,也可能软件版本不变,还可能发生版本降级,在此基础上,请参阅图2,本实施例公开了另一种软件版本升级方法,以解决上述问题,具体包括以下步骤:
S101:当电子控制单元ECU上电时,将电可擦除可编程只读存储器EEPROM中所有块BLOCK区的全部数据复制到随机存储器RAM中;
S102:软件运行时获取最新软件版本号;
ECU上电后,软件自动运行,自动检测得到最新软件版本号。
S103:判断最新软件版本号是否大于当前软件版本号;
若版本升级,执行S104:RAM中0到当前软件版本号之间的全部数据保持不变,将当前软件版本号与最新软件版本号之间的新增变量的值设置为安全的默认值;
若版本不变,执行S105:RAM中0到当前软件版本号之间的全部数据保持不变;
若版本降级,执行S106:RAM中0到最新软件版本号之间的全部数据保持不变,将最新软件版本号与当前软件版本号之间的多余变量的值更新为安全的默认值;
S107:在车辆的行驶过程中,控制RAM中软件每个变量分别记录相应的行驶参数;
如,行驶里程变量实时记录车辆的行驶里程,驾驶时间变量实时记录车辆的驾驶时间。
S108:当ECU下电时,读取RAM中软件的全部数据,并根据读取的软件的全部数据更新EEPROM中的相应数据。
当ECU下电时,RAM中保存的是最新版本号对应的软件记录的车辆行驶参数的最新值,由于RAM在断电时将丢失其存储的内容,因此,读取RAM中软件的全部数据,并根据读取的软件的全部数据更新EEPROM中的相应数据,使EEPROM保存ECU下电时,软件的最新数据。
本实施例公开的软件版本升级方法,通过对最新软件版本号和当前软件版本号进行比较判定软件版本升级、不变或降级,当软件版本升级时,当前软件版本的数据保持不变,最新软件版本与当前软件版本之间新增变量的值设置为默认的安全值;当软件版本降级时,最新软件版本的数据保持不变,最新软件版本与当前软件版本之间多余变量的值设置为默认的安全值;当软件版本不变时,软件数据不变。因此,无论软件版本发生怎样的变化,EEPROM中存储的数据都不会丢失,也不会产生数据混乱的情况。
为了保证EEPROM中数据的安全性,在判断软件版本是否升级之前,需要对EEPROM中的数据安全性进行检测,检测的方法可以有以下三种:
一、判断将EEPROM中所有BLOCK区的全部数据复制到RAM中是否成功,若不成功,判定EEPROM中的信息不可信,并将每个BLOCK区中所有变量的值更新为预设的安全值。
二、判断ECU是否为初次使用,若是初次使用,判定EEPROM中的信息不可信,并将每个BLOCK区中所有变量的值更新为预设的安全值。
三、分别判断每个BLOCK区的检验和与其相应的实际校验和是否相同,若不是所有BLOCK区的校验和与其相应的实际校验和都相同,判定EEPROM中的信息不可信,并将每个BLOCK区中所有变量的值更新为预设的安全值;也可以为,对于每一个BLOCK区,若BLOCK区的检验和与其相应的实际校验和不同时,判定EEPROM中的信息不可信,并将该BLOCK区中所有变量的值更新为预设的安全值。。
需要说明的是,以上三种检测方法可以单独使用,也可以组合使用。作为一种优选的实施方式,将以上三种检测方法组合使用,以判断EEPROM中数据是否安全,三种检测方法的使用不分先后。
请参阅图3,本实施例公开了一种软件版本升级方法,组合使用以上三种检测方法,检测的顺序为举例说明,在实际中可以任意设置三种方法的检测顺序,该软件版本升级方法具体包括以下步骤:
S201:当电子控制单元ECU上电时,将电可擦除可编程只读存储器EEPROM中所有块BLOCK区的全部数据复制到随机存储器RAM中;
S202:判断将EEPROM中所有BLOCK区的全部数据复制到RAM中是否成功;
若不成功,执行S203:判定EEPROM中的信息不可信,并将每个BLOCK区中所有变量的值更新为预设的安全值;
若成功,执行S204:判断ECU是否为初次使用;
若为初次使用,执行S203:判定EEPROM中的信息不可信,并将每个BLOCK区中所有变量的值更新为预设的安全值;
若不是初次使用,执行S205:分别根据每个BLOCK区的数据计算每个BLOCK区的实际校验和;
根据BLOCK区的数据计算BLOCK区的实际校验和的方法可以为现有的任意一种方法,在此不再赘述。
S206:分别判断每个BLOCK区的校验和与其相应的实际校验和是否相同;
若不是所有BLOCK区的校验和与其相应的实际校验和都相同,执行S203:判定EEPROM中的信息不可信,并将每个BLOCK区中所有变量的值更新为预设的安全值;
也可以为,对于每一个BLOCK区,若BLOCK区的检验和与其相应的实际校验和不同时,判定EEPROM中的信息不可信,并将该BLOCK区中所有变量的值更新为预设的安全值。
若所有BLOCK区的校验和与其相应的实际校验和都相同,执行S207;
S207:软件运行时获取最新软件版本号;
ECU上电后,软件自动运行,自动检测得到最新软件版本号。
S208:判断最新软件版本号是否大于当前软件版本号;
若版本升级,执行S209:RAM中0到当前软件版本号之间的全部数据保持不变,将当前软件版本号与最新软件版本号之间的新增变量的值设置为安全的默认值;
若版本不变,执行S210:RAM中0到当前软件版本号之间的全部数据保持不变;
若版本降级,执行S211:RAM中0到最新软件版本号之间的全部数据保持不变,将最新软件版本号与当前软件版本号之间的多余变量的值更新为安全的默认值;
S212:在车辆的行驶过程中,控制RAM中软件每个变量分别记录相应的行驶参数;
S213:当ECU下电时,读取RAM中软件的全部数据,并根据读取的软件的全部数据更新EEPROM中的相应数据。
本实施例公开的一种软件版本升级方法,在判断软件版本是否升级之前对EEPROM进行安全性检测,提高了数据的安全性。
基于上述实施例公开的一种软件版本升级方法,请参阅图4,本实施例对应公开了一种软件版本升级装置,包括:
EEPROM数据复制单元301,用于当电子控制单元ECU上电时,将电可擦除可编程只读存储器EEPROM中所有块BLOCK区的全部数据复制到随机存储器RAM中,BLOCK区的全部数据包括当前软件版本号;
最新版本号获取单元302,用于软件运行时获取最新软件版本号;
升级判断单元303,用于判断所述最新软件版本号是否大于所述当前软件版本号;当所述最新软件版本号大于所述当前软件版本号时,触发版本升级控制单元304;当所述最新软件版本号与所述当前软件版本号相同时,触发版本不变控制单元305;当所述最新软件版本号小于所述当前软件版本号时,触发版本降级控制单元306;
所述版本升级控制单元304,用于判定当前软件版本升级,RAM中0到所述当前软件版本号之间的全部数据保持不变,将所述当前软件版本号与所述最新软件版本号之间的新增变量设置为安全的默认值。
所述版本不变控制单元305,用于判定当前软件版本不变,RAM中0到所述当前软件版本号之间的全部数据保持不变。
所述版本降级控制单元306,用于判定当前软件版本降级,RAM中0到所述最新软件版本号之间的全部数据保持不变,将所述最新软件版本号与所述当前软件版本号之间的多余变量的值更新为安全的默认值。
可选的,所述装置还包括:
行驶参数记录单元,用于在车辆的行驶过程中,控制RAM中软件每个变量分别记录相应的行驶参数;
EEPROM数据更新单元,用于当ECU下电时,读取RAM中软件的全部数据,并根据读取的软件的全部数据更新EEPROM中的相应数据。
可选的,BLOCK区的全部数据还包括每个BLOCK区的校验和,所述装置还包括:
校验和计算单元,用于分别根据每个BLOCK区的数据计算每个BLOCK区的实际校验和;
检验和判断单元,用于分别判断每个BLOCK区的检验和与其相应的实际校验和是否相同;若所有BLOCK区的检验和与其相应的实际校验和相同,触发所述版本号获取单元;对于每一个BLOCK区,若BLOCK区的检验和与其相应的实际校验和不同时,判定EEPROM中的信息不可信,并将该BLOCK区中所有变量的值更新为预设的安全值。
可选的,所述装置还包括:
数据复制成功判断单元,用于判断将EEPROM中所有BLOCK区的全部数据复制到RAM中是否成功;若成功,触发所述版本号获取单元;若失败,判定EEPROM中的信息不可信,并将每个BLOCK区中所有变量的值更新为预设的安全值;
ECU初次使用判断单元,用于判断ECU是否为初次使用;若不是初次使用,触发所述版本号获取单元;若是初次使用,判定EEPROM中的信息不可信,并将每个BLOCK区中所有变量的值更新为预设的安全值。
本实施例公开的一种软件版本升级装置,当ECU上电时,将EEPROM中所有BLOCK区的全部数据复制到RAM中,当判定软件版本升级时,RAM中0到所述当前软件版本号之间的全部数据保持不变,即在ECU刷写不同版本时,不同版本间相同的变量数据不丢失,并将所述当前软件版本号与所述最新软件版本号之间的新增变量的值设置为安全的默认值,保证不同版本间不同变量保持安全值,避免ECU软件版本升级带来的数据混乱。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (9)

1.一种软件版本升级方法,其特征在于,包括:
当电子控制单元ECU上电时,将电可擦除可编程只读存储器EEPROM中所有块BLOCK区的全部数据复制到随机存储器RAM中,BLOCK区的全部数据包括当前软件版本号;
软件运行时获取最新软件版本号;
判断所述最新软件版本号是否大于所述当前软件版本号;
若是,判定当前软件版本升级,RAM中0到所述当前软件版本号之间的全部数据保持不变,将所述当前软件版本号与所述最新软件版本号之间的新增变量的值设置为安全的默认值;
其中,BLOCK区的全部数据还包括每个BLOCK区的校验和,在所述软件运行时获取最新软件版本号之前,所述方法还包括:
分别根据每个BLOCK区的数据计算每个BLOCK区的实际校验和;
分别判断每个BLOCK区的检验和与其相应的实际校验和是否相同;
若所有BLOCK区的检验和与其相应的实际校验和相同,执行所述软件运行时获取最新软件版本号;
对于每一个BLOCK区,若BLOCK区的检验和与其相应的实际校验和不同时,判定EEPROM中的信息不可信,并将该BLOCK区中所有变量的值更新为预设的安全值。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述最新软件版本号与所述当前软件版本号相同时,判定当前软件版本不变,RAM中0到所述当前软件版本号之间的全部数据保持不变。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述最新软件版本号小于所述当前软件版本号时,判定当前软件版本降级,RAM中0到所述最新软件版本号之间的全部数据保持不变,将所述最新软件版本号与所述当前软件版本号之间的多余变量的值更新为安全的默认值。
4.根据权利要求1~3中任一项所述的方法,其特征在于,所述方法还包括:
在车辆的行驶过程中,控制RAM中软件每个变量分别记录相应的行驶参数;
当ECU下电时,读取RAM中软件的全部数据,并根据读取的软件的全部数据更新EEPROM中的相应数据。
5.根据权利要求1所述的方法,其特征在于,在所述软件运行时获取最新软件版本号之前,所述方法还包括:
当将EEPROM中所有BLOCK区的全部数据复制到RAM中失败,或ECU为初次使用时,判定EEPROM中的信息不可信,并将每个BLOCK区中所有变量的值更新为预设的安全值;
当将EEPROM中所有BLOCK区的全部数据复制到RAM中成功,且ECU不是初次使用时,执行所述软件运行时获取最新软件版本号。
6.一种软件版本升级装置,其特征在于,包括:
EEPROM数据复制单元,用于当电子控制单元ECU上电时,将电可擦除可编程只读存储器EEPROM中所有块BLOCK区的全部数据复制到随机存储器RAM中,BLOCK区的全部数据包括当前软件版本号;
最新版本号获取单元,用于软件运行时获取最新软件版本号;
升级判断单元,用于判断所述最新软件版本号是否大于所述当前软件版本号;若是,触发版本升级控制单元;
所述版本升级控制单元,用于判定当前软件版本升级,RAM中0到所述当前软件版本号之间的全部数据保持不变,将所述当前软件版本号与所述最新软件版本号之间的新增变量设置为安全的默认值;
其中,BLOCK区的全部数据还包括每个BLOCK区的校验和,所述装置还包括:
校验和计算单元,用于分别根据每个BLOCK区的数据计算每个BLOCK区的实际校验和;
检验和判断单元,用于分别判断每个BLOCK区的检验和与其相应的实际校验和是否相同;若所有BLOCK区的检验和与其相应的实际校验和相同,触发所述版本号获取单元;对于每一个BLOCK区,若BLOCK区的检验和与其相应的实际校验和不同时,判定EEPROM中的信息不可信,并将该BLOCK区中所有变量的值更新为预设的安全值。
7.根据权利要求6所述的装置,其特征在于,当所述最新软件版本号与所述当前软件版本号相同时,所述装置还包括:
版本不变控制单元,用于判定当前软件版本不变,RAM中0到所述当前软件版本号之间的全部数据保持不变。
8.根据权利要求6所述的装置,其特征在于,当所述最新软件版本号小于所述当前软件版本号时,所述装置还包括:
版本降级控制单元,用于判定当前软件版本降级,RAM中0到所述最新软件版本号之间的全部数据保持不变,将所述最新软件版本号与所述当前软件版本号之间的多余变量的值更新为安全的默认值。
9.根据权利要求6~7中任一项所述的装置,其特征在于,所述装置还包括:
行驶参数记录单元,用于在车辆的行驶过程中,控制RAM中软件每个变量分别记录相应的行驶参数;
EEPROM数据更新单元,用于当ECU下电时,读取RAM中软件的全部数据,并根据读取的软件的全部数据更新EEPROM中的相应数据。
CN201811123088.0A 2018-09-26 2018-09-26 一种软件版本升级方法及装置 Active CN109358892B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811123088.0A CN109358892B (zh) 2018-09-26 2018-09-26 一种软件版本升级方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811123088.0A CN109358892B (zh) 2018-09-26 2018-09-26 一种软件版本升级方法及装置

Publications (2)

Publication Number Publication Date
CN109358892A CN109358892A (zh) 2019-02-19
CN109358892B true CN109358892B (zh) 2022-04-05

Family

ID=65347652

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811123088.0A Active CN109358892B (zh) 2018-09-26 2018-09-26 一种软件版本升级方法及装置

Country Status (1)

Country Link
CN (1) CN109358892B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110096230A (zh) * 2019-04-12 2019-08-06 奇瑞新能源汽车技术有限公司 一种控制器更新后的驾驶数据记录系统及方法
CN111078458B (zh) * 2019-12-31 2023-09-15 潍柴动力股份有限公司 一种电子控制单元及其软件兼容性检测方法、装置和汽车
CN111241008B (zh) * 2019-12-31 2022-09-23 潍柴动力股份有限公司 用于校正eeprom变量与地址的方法、装置和控制器
CN111949305A (zh) * 2020-07-01 2020-11-17 广东芬尼克兹节能设备有限公司 一种参数复位控制方法、装置及存储介质
CN112052032B (zh) * 2020-09-01 2024-04-16 潍柴动力股份有限公司 电子控制单元的刷写方法及装置
CN112634964A (zh) * 2020-12-24 2021-04-09 潍柴动力股份有限公司 电子控制单元的数据写入方法、装置、设备及存储介质
CN113391829B (zh) * 2021-05-24 2022-09-09 杭州新中大科技股份有限公司 一种应对高频率迭代数据的调试方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103246280A (zh) * 2012-12-04 2013-08-14 奇瑞汽车股份有限公司 一种电动汽车诊断系统
CN103648033A (zh) * 2013-12-19 2014-03-19 珠海迈科电子科技有限公司 一种机顶盒节目列表恢复的方法及系统
CN103995712A (zh) * 2014-04-16 2014-08-20 潍柴动力股份有限公司 一种自动更新的bootloader装置及更新方法
CN105677375A (zh) * 2014-11-18 2016-06-15 中兴通讯股份有限公司 升级控制设备、终端、终端升级方法及系统
CN107247603A (zh) * 2017-04-18 2017-10-13 深圳市广和通无线股份有限公司 支持固件自动恢复功能的远程升级方法与系统
CN108304140A (zh) * 2017-01-12 2018-07-20 中兴通讯股份有限公司 闪存数据管理方法、装置及微控制器

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100372294C (zh) * 2004-02-04 2008-02-27 华为技术有限公司 设备升级方法
US9760444B2 (en) * 2013-01-11 2017-09-12 Commvault Systems, Inc. Sharing of secondary storage data
TWI497415B (zh) * 2013-06-21 2015-08-21 Wistron Neweb Corp 韌體升級方法與使用此方法的裝置
CN108376077A (zh) * 2018-02-11 2018-08-07 广东美的厨房电器制造有限公司 控制单元的升级方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103246280A (zh) * 2012-12-04 2013-08-14 奇瑞汽车股份有限公司 一种电动汽车诊断系统
CN103648033A (zh) * 2013-12-19 2014-03-19 珠海迈科电子科技有限公司 一种机顶盒节目列表恢复的方法及系统
CN103995712A (zh) * 2014-04-16 2014-08-20 潍柴动力股份有限公司 一种自动更新的bootloader装置及更新方法
CN105677375A (zh) * 2014-11-18 2016-06-15 中兴通讯股份有限公司 升级控制设备、终端、终端升级方法及系统
CN108304140A (zh) * 2017-01-12 2018-07-20 中兴通讯股份有限公司 闪存数据管理方法、装置及微控制器
CN107247603A (zh) * 2017-04-18 2017-10-13 深圳市广和通无线股份有限公司 支持固件自动恢复功能的远程升级方法与系统

Also Published As

Publication number Publication date
CN109358892A (zh) 2019-02-19

Similar Documents

Publication Publication Date Title
CN109358892B (zh) 一种软件版本升级方法及装置
CN103455354B (zh) 一种防止固件升级失败的方法和设备
US7275153B2 (en) Booting and boot code update system using boot strapper code to select between a loader and a duplicate backup loader
US7774382B2 (en) Method and apparatus for configuring a control device, and corresponding control device
US20020174283A1 (en) Method for updating parametric data for use in data management system
CN110096300B (zh) 一种fpga程序文件备份管理系统、运行方法及升级方法
CN107678762B (zh) 一种系统版本升级方法及装置
CN111796856A (zh) 差分升级方法及装置、存储介质、计算机设备
JP2008504628A (ja) 安全なフラッシング
CN109582332B (zh) 互联网摄像机的系统升级方法及装置
CN104536847A (zh) 一种提高数据写入完整性的方法
CN105549996B (zh) 移动终端的应用程序更新方法与移动终端
CN110764486B (zh) 车载控制器的运行方法、装置、车载控制器及存储介质
CN108604207B (zh) 用于独立于硬件的存储器存储的系统及方法
CN112835601A (zh) 一种固件更新方法、装置、设备及存储介质
CN117407020A (zh) Ota升级刷写方法、装置、电子设备及存储介质
CN116185563B (zh) 一种基于车规级微控制器数据闪存的软件模拟算法
CN110865772A (zh) 保护系统数据物理块擦除计数值的方法、装置、计算机设备及存储介质
CN106990981B (zh) 程序更新方法及装置
CN107783778B (zh) 一种基于特征值查表法的增量升级方法
CN108052294B (zh) 一种分布式存储系统的修改写方法和修改写系统
CN110716696A (zh) 对象处理方法及相关装置
CN108664355B (zh) 备份系统及其备份方法
CN111090541B (zh) 控制器的数据防丢方法、装置、行车电脑设备及存储介质
US8095262B2 (en) Vehicular control apparatus and program storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant