CN117742763A - Ecu固件升级方法、装置、系统、汽车及存储介质 - Google Patents
Ecu固件升级方法、装置、系统、汽车及存储介质 Download PDFInfo
- Publication number
- CN117742763A CN117742763A CN202410122966.6A CN202410122966A CN117742763A CN 117742763 A CN117742763 A CN 117742763A CN 202410122966 A CN202410122966 A CN 202410122966A CN 117742763 A CN117742763 A CN 117742763A
- Authority
- CN
- China
- Prior art keywords
- storage
- block
- data
- ecu
- memory
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 230000015654 memory Effects 0.000 claims abstract description 79
- 230000004044 response Effects 0.000 claims abstract description 40
- 230000008569 process Effects 0.000 claims abstract description 23
- 230000005856 abnormality Effects 0.000 claims description 9
- 230000002159 abnormal effect Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 4
- 238000001514 detection method Methods 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 abstract description 12
- 238000004891 communication Methods 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002035 prolonged effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本申请提供一种ECU固件升级方法、装置、系统、汽车及计算机可读存储介质,固件包中的数据被划分成多个数据块,每个数据块与所述ECU的存储空间的其中一个存储块的地址段对应,所述方法包括:将所述数据块写入所述存储空间中所对应的存储块;接收所述存储空间返回的存储响应消息,所述存储响应消息中携带有存储块标识;确定所述存储块是否发生写入异常,其中,所述写入异常的情况包括:基于所述存储响应消息确定的写入异常;基于所述存储块标识确定目的数据块,将所述目的数据块重新写入存储块标识指向的所述存储块。本申请可以在写入过程被中断时确定断点所在的存储块,以重新写入该存储块及后续的数据,实现断点续传。
Description
技术领域
本申请涉及固件升级技术领域,尤其涉及一种ECU固件升级方法、装置、系统、汽车及计算机可读存储介质。
背景技术
OTA(Over the Air,固件空中升级技术)是一种从云端服务器获取固件包进行固件升级的技术。用户可以通过OTA技术随时随地更新车辆的ECU(Electronic ControlUnit,电子控制单元)固件,无需车辆开至4S店,送回生产厂商手中。生产厂商也可以通过OTA技术完成设备新功能集成、现有功能升级、问题修复等操作,节约了成本。但在用户所处通信环境较差或用户主动停止固件升级等情况下,固件升级过程会被中断,现有方案为重新发起升级请求,从头开始传输固件包,无法实现断点续传,这将加长设备通过OTA技术进行固件升级的耗时,严重影响用户体验,甚至影响用户安全。
发明内容
为克服相关技术中存在的问题,本申请提供了一种ECU固件升级方法、装置、系统、汽车及计算机可读存储介质。
根据本申请实施例的第一方面,提供一种ECU固件升级方法,固件包中的数据被划分成多个数据块,每个数据块与所述ECU的存储空间的其中一个存储块的地址段对应,该方法包括:
将所述数据块写入所述存储空间中所对应的存储块;
接收所述存储空间返回的存储响应消息,所述存储响应消息中携带有存储块标识;
确定所述存储块是否发生写入异常,其中,所述写入异常的情况包括:基于所述存储响应消息确定的写入异常;
基于所述存储块标识确定目的数据块,将所述目的数据块重新写入存储块标识指向的所述存储块。
根据本申请实施例的第二方面,提供一种汽车,所述汽车带有OTA主控和至少一个ECU节点,所述ECU节点带有存储空间,所述存储空间包括多个存储块,所述OTA主控用于执行如第一方面所述的方法。
根据本申请实施例的第三方面,提供一种ECU固件升级装置,固件包中的数据被划分成多个数据块,每个数据块与所述ECU的存储空间的其中一个存储块的地址段对应,该装置包括:
数据写入模块,用于将所述数据块写入所述存储空间中所对应的存储块;
消息接收模块,用于接收所述存储空间返回的存储响应消息,所述存储响应消息中携带有存储块标识;
异常检测模块,用于确定所述存储块是否发生写入异常,其中,所述写入异常的情况包括:基于所述存储响应消息确定的写入异常;
断点续传模块,用于基于所述存储块标识确定目的数据块,将所述目的数据块重新写入存储块标识指向的所述存储块。
根据本申请实施例的第四方面,提供一种ECU固件升级系统,该系统包括OTA主控设备和至少一个ECU节点,所述ECU节点带有存储空间,所述存储空间包括多个存储块;
所述OTA主控设备包括:
处理器;
存储器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如第一方面所述的方法。
根据本申请实施例的第五方面,提供一种计算机可读存储介质,其上存储有程序,所述程序被处理器执行时实现第一方面的方法中的操作。
本申请的实施例提供的技术方案可以包括以下有益效果:
本申请实施例中,首先将固件包分成了多个数据块,并建立了数据块和存储块的对应关系,然后将数据块写入存储空间中所对应的存储块;之后,接收存储空间返回的存储响应消息,该存储响应消息中携带有存储块标识,可以用于确定断点所属的存储块和对应的数据块;然后确定存储块是否发生写入异常,其中,写入异常的情况包括基于存储响应消息确定的写入异常;确定发生写入异常且确定异常点位置之后,可以基于存储块标识确定目的数据块,将目的数据块重新写入存储块标识指向的所述存储块,以实现断点续传。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本申请的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是本申请根据一示例性实施例示出的一种ECU固件升级方法的流程图。
图1A是本申请根据一示例性实施例示出的一种可执行文件。
图1B是本申请根据一示例性实施例示出的一种编程状态信息文件。
图1C是本申请根据一示例性实施例示出的一种描述信息文档。
图2是本申请根据一示例性实施例示出的一种汽车的结构框图。
图3是本申请根据一示例性实施例示出的一种ECU固件升级的装置框图。
图4是本申请根据一示例性实施例示出的一种ECU固件升级系统的结构框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
接下来对本申请实施例进行详细说明。
固件是指设备内部保存的设备"驱动程序",通过固件,操作系统才能按照标准的设备驱动实现特定机器的运行动作,固件升级过程指的就是升级驱动程序,使设备设备功能更完善的过程。而通常情况下的ECU指的是一种车内的控制单元,其一般由微控制器(MCU)、存储器(ROM、RAM)、输入/输出接口(I/O)、模数转换器(A/D)以及整形、驱动等大规模集成电路组成。对于用户来说,想要对ECU等设备进行固件升级是很麻烦的,只能将其开至4S点或送回制造商手里进行固件升级,因此,目前常见的做法是基于OTA技术对车上的设备进行固件升级,这样,既不会对用户的正常使用造成太多影响,又能完成固件升级。
但在用户所处通信环境较差或用户主动停止固件升级等情况下,固件升级过程会被中断,现有方案为重新发起升级请求,从头开始传输固件包,无法实现断点续传,这将加长设备通过OTA技术进行固件升级的耗时,严重影响用户体验,甚至影响用户安全。
基于此,本申请提出一种ECU固件升级方法,如图1所示,图1是本申请根据一示例性实施例示出的一种ECU固件升级方法的流程图,其中,固件包中的数据被划分成多个数据块,每个数据块与所述ECU的存储空间的其中一个存储块的地址段对应,本申请公开的ECU固件升级方法可以包括如下S101-S104:
S101、将数据块写入存储空间中所对应的存储块;
本步骤中,可以事先从云端服务器获取固件包,该固件包按照存储块的大小和写入顺序分成了多个数据块。然后将该固件包中的数据块对应地写入存储空间的存储块中。为了更好地控制固件升级过程,车上一般还会设置一个专门用于控制固件升级过程的控制器,称为OTA主控,OTA主控可以从云端服务器获取固件包,当然,本步骤获取固件包的执行主体也可以是车上其他能与云端服务器进行通信的设备,本申请并不对此进行限制。
根据本申请的一个实施例,上述将固件包分成多个数据块的过程,可以是直接在固件包内部建立任意一个数据与存储块的对应关系,将对应于同一个存储块的所有数据视为一个数据块。也可以将上述固件包分为多个小固件包,每个小固件包可以与一个或多个存储块对应;当每个小固件包与多个存储块对应时,可以将每个小固件包分为多个数据块,每个数据块与一个存储块对应。这样,可以通过化整为零的方式减少每一次传输过程需要写入的数据,减少单次写入过程所需的时间,降低写入过程中断的几率。
可以理解,每一个存储块都对应一个包含多个地址的地址段,每个地址下可以存储多个数据,上述“建立任意一个数据与存储块的对应关系”可以是:通过指定数据的存储地址的方式建立任意一个数据与存储块的对应关系。因此,本申请所使用的存储器可以是存储空间,其可以是Flash,也可以是其他可以指定数据的存储地址的非易失性存储介质,本申请不做限制。
示例性地,本申请的方法使用的固件包可以包括如图1A所示的可执行文件Hex。其中,Sector ID为MCU内部Flash等存储空间的存储块的标识,与同一个存储块对应的所有数据即为一个数据块。
图中Addr为存储块的地址。从图中可见,一个存储块对应多个Addr,同一个存储块对应的多个Addr即为对应存储块的地址段,每个地址可以是16字节,也可以是8字节,本申请并不限制每个地址的空间大小。
Data即为固件包中携带的用于固件升级的数据,示例性的,图中Data为16进制数据。可以理解,由于固件包的大小通常不是存储块大小的整数倍,一般情况下无法完全填满最后一个存储块。根据本申请的一个实施例,可以用无意义的数据(即图中最后两行和倒数第三行的数据,示例性地,图中均用“FF”作为无意义数据)对空位进行填充。可见,本申请通过指定数据存储的地址的方式按照存储块对齐,并用无意义数据对空位执行填充,以方便划分数据块、生成校验码或执行其他操作。
可以理解的是,图中示出的Sector ID,Addr,Data等各项所对应的数据均是示例性的,本领域技术人员可以自由决定固件包对应的存储块编号、地址段、数据等内容,不应将图中示出的固件包的具体内容视为对本申请的限制。
S102、接收存储空间返回的存储响应消息,该存储响应消息中携带有存储块标识;
本步骤中,存储响应消息至少包括存储块标识,还可以包括其他有利于确定传输是否中断和断点位置的信息,本申请对该部分内容不做限制。
S103、确定所述存储块是否发生写入异常,其中,写入异常的情况包括:基于存储响应消息确定的写入异常;
本步骤中,OTA主控可以基于存储响应消息确定是否发生写入异常。当然,OTA主控也可以基于用户的操作请求等其他消息确定是否发生写入异常,例如,在检测到写入过程被用户中断时确定发生写入异常。
根据本申请公开的一个实施例,存储响应消息至少携带有以下任意一项:响应时长或第一校验码。其中,第一校验码基于存储块已写入数据生成,用于表征该存储块发生写入错误。与此对应,基于存储响应消息确定的异常至少包括:存储响应消息得响应时长超过预设值或存储块发生写入错误。其中,写入错误又可以包括:存储块已写入的数据错误或存储块未被写满。
根据本申请公开的一个实施例,为了确定存储块是否未被写满,可以在ECU的存储空间外,比如EEPROM,DFLASH等存储器存储如图1B所示的编程状态信息ProgramInfo,针对每个存储块,上述编程信息至少包括Valid Flag和上述第一校验码(图中以CRC校验码为例)。其中,Valid Flag是用于表征当前存储块被写满的特殊序列。通过检测存储块的状态和是否存在上述Valid Flag这一特殊序列,即可确定存储块是否被写满。当此存储块写满数据后,计算与当前存储块对应的第一校验码,并写入上述编程状态信息文件中。
本领域技术人员熟知,CRC校验码并不是唯一一种能用于判断存储块是否发生写入错误的校验码。第一校验码可以是CRC校验码,也可以是校验和、奇偶校验码等其他校验码,本领域技术人员可以自由选择所使用的校验码的类别,本申请不作限制,不应将图1B中的CRC视为对本申请的限制。
为了确定存储块是否发生写入错误,本申请所使用的固件包还可以包括描述信息文档Hexinfo.txt。示例性地,本申请所使用地描述信息文档可以包括如图1C所示的SectorID、Addr、Size、第二校验码(图中仍以CRC为例)等内容。同样不应将此处的CRC视为对本申请的限制。
其中,Sector ID与上述可执行文件中一致,均为存储块的标识。Addr可以是该存储块的起始地址,也可以是该存储块的地址段。Size即为存储块所包含的地址的数量或存储块的空间大小。
同样地,不应将图中示出的固件包的具体内容视为对本申请的限制。
此外,由于上述描述信息文档的内容仅有描述性作用,在将固件包写入ECU时,可以仅将可执行文件的数据写入存储块,OTA主控负责从固件包中读取描述信息文档的相关内容;也可以将可执行文件的数据写入存储块,将描述信息文档的内容写入EEPROM,DFLASH等其他存储器,可以理解,由于无需将描述信息文档划分为多个数据块,所以无需指定文档中的数据存储的地址,进而无需指定存储该文档的存储器,只需将其与存储可执行文件的存储器区分即可。根据本申请的一个实施例,可以将可执行文件写入至程序Flash中,将描述信息文档写入至数据Flash中,程序Flash和数据Flash不同。
基于上述描述信息文档的内容,根据本申请公开的一个实施例,基于存储响应消息确定存储块发生写入错误的方法可以包括如下的S1031-S1032:
S1031、获取基于所述数据块的数据生成的第二校验码;
本步骤中,OTA主控可以从固件包中获取第二校验码,也可以控制ECU从存放描述信息文档的存储器中获取第二校验码。
S1032、比较所述第一校验码和第二校验码是否一致,确定所述存储块是否发生写入错误。
本步骤中,通过对比第一、第二校验码是否一致来确定存储块是否发生写入错误。其中,第一校验码是基于已写入的数据生成的,第二校验码是基于固件包原有的数据生成的。而且,根据本申请的上述实施例,每一个存储块均与一个第一校验码和一个第二校验码对应,
可以理解,为了进行比较,第一校验码的生成方式和生成时所使用的数据应该与第二校验码相同。其中,生成与Sector_m对应的第一、第二校验码时所使用的数据可以是Sector_n~Sector_m的所有数据,也可以仅有Sector_m所对应的数据。
上述确定存储块是否发生写入错误的过程可以是由OTA主控在写入时根据描述信息文档和存储响应消息确定是否发生写入错误,也可以是在运行固件程序时,通过程序识别是否存在写入错误。
本领域技术人员熟知,Flash等存储空间的特点是:只能写入空白的存储单元,因此在写入之前需要擦除原有数据。其中,最小的存储单元是页(Page),多个页组成一个块(Sector)。写入时按页写入,擦除时按块擦除。所以,在实现被传输至存储空间上的固件包的断点续传时,无论是将发生异常的断点位置精确到块还是进一步精确到页,后续重新写入时均需将整个块的原有数据全部擦除。
若是将断点精确到页,写入过程中需要每写满一个页立即判断一次是否发生写入错误,由于擦除时按块擦除,无论是不备份数据,重新传输当前存储块对应的数据;还是备份数据,重新传输当前存储页对应的数据,都将加重ECU负担。因此,本申请的方案仅将断点的位置精确至块,既实现了固件包的断点续传,又不会给ECU造成太大的负担。
根据本申请的一个实施例,固件包可以用于对车上的ECU节点进行固件升级。车辆通常包括多个ECU节点,每个ECU节点分别控制一个或多个功能模块,例如,ECU节点A用于控制车辆的动力系统,ECU节点B用于控制车辆的空调,ECU节点C用于控制车内灯光等等。
由于汽车在行驶过程中需要读取存储器中的数据,而同步进行写入和读取会给存储器带来较大负担,在行驶过程中继续进行固件升级会影响车辆性能,甚至危及用户人身安全。因此,根据本申请公开的一个实施例,可以在检测到车辆处于行驶状态时,中断重要等级为预设等级的ECU节点的升级。该方法可以包括如下的S1033-S1035:
S1033、判断ECU节点的重要程度;
本步骤中,可以基于驾驶安全、用户体验等因素区分当前正在执行升级的ECU节点的重要程度。根据本申请的上述实施例,ECU节点A控制的是汽车动力系统,基于行驶安全的因素,认为其重要程度为重要;ECU节点C控制的是车内灯光,基于行驶安全、用户体验等因素,认为其重要程度为不重要。可以理解,本申请判断ECU节点重要程度的因素并不局限于上述行驶安全、用户体验两种因素,本领域技术人员可以根据实际情况灵活选择判断重要程度的因素。
S1034、判断车辆是否处于行驶状态。
本步骤中,为了进一步避免误判,在固件升级和行驶安全、用户体验中间做一个平衡,可以基于位置、车速、加速度、是主驾驶的位置是否有人等信息综合判断车辆当前是否处于行驶状态。
S1035、车辆处于行驶状态的情况下,中断重要等级为预设等级的ECU节点
具体地,若检测到当前ECU节点的重要程度为重要且车辆处于行驶状态,可以中断当前ECU节点的写入过程,保护用户的安全;
若检测到当前ECU节点的重要程度为不重要,无论车辆是否处于行驶状态,均可以不中断当前写入过程,以在车辆行驶过程中继续执行固件写入过程,尽量减少由于需要固件升级导致用户无法使用车辆的时间,方便用户使用。
S104、基于存储块标识确定目的数据块,将目的数据块重新写入存储块标识指向的存储块。
本步骤中,OTA主控可以在确定存储块发生写入异常后确定存储块标识,写入与该发生写入异常的存储块对应的数据块。
可以理解,在将上述目的数据块写入对应的存储块之前,OTA主控还可以判断当前条件是否满足预设的续传条件。例如,在写入过程被用户中断或车辆处于行驶状态的情况下被中断写入过程时,可以判断车辆当前的行驶状态,在车辆当前空闲时询问用户是否进行断点续传或由OTA主控决定是否进行断点续传。其中,判断车辆当前的行驶状态的方法可以如上述步骤S1034所示。
至此,本申请公开了一种ECU固件升级方法,本申请的上述方法可以通过确定断点所属的存储块,然后重新写入与该存储块对应的数据块,以实现断点续传。在检测到车辆处于行驶状态时,可以仅中断重要程度较高的ECU节点的固件升级,继续对重要程度低的ECU节点进行固件升级,在保证用户行驶安全的基础上,将固件升级对车辆的占用时间降至三十分钟以内,提升了用户体验。
与前述方法的实施例相对应,本申请还提供了ECU固件升级装置及其所应用的电子设备终端、存储软件程序的存储介质的实施例。
本申请文件处理装置的实施例可以应用在计算机设备上,例如服务器或终端设备。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在文件处理的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。
根据本申请的第二方面,如图2所示,提供一种汽车200,该汽车带有OTA主控201和至少一个ECU节点,所述ECU节点带有存储空间,所述存储空间包括多个存储块,所述OTA主控201用于执行与上述方法实施例对应的方法。
根据本申请的第三方面,提供一种ECU固件升级装置300,固件包中的数据被划分成多个数据块,每个数据块与所述ECU的存储空间的其中一个存储块的地址段对应,如图3所示,为本申请实施例ECU固件升级装置所在电子设备的一种软件结构图,包括:
数据写入模块301,用于将所述数据块写入所述存储空间中所对应的存储块;
消息接收模块302,用于接收所述存储空间返回的存储响应消息,所述存储响应消息中携带有存储块标识;
异常检测模块303,用于确定所述存储块是否发生写入异常,其中,所述写入异常的情况包括:基于所述存储响应消息确定的写入异常;
断点续传模块304,用于基于所述存储块标识确定目的数据块,将所述目的数据块重新写入存储块标识指向的所述存储块。
根据本申请实施例的第四方面,提供一种ECU固件升级系统,如图4所示,该系统包括OTA主控设备400和至少一个ECU节点500,所述ECU节点500带有存储空间,所述存储空间包括多个存储块;
所述OTA主控设备400包括处理器401、存储器402及存储在存储器402上并可在处理器401上运行的计算机程序、通信接口403、总线404。其中,处理器401执行程序时实现如第一方面的方法。其中处理器401、存储器402、通信接口403通过总线404实现彼此之间在设备内部的通信连接。
处理器401可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器402可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器402可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器402中,并由处理器401来调用执行。
通信接口403用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线404包括一通路,在设备的各个组件(例如处理器401、存储器402、通信接口403)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器401、存储器402、通信接口403以及总线404,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
与前述方法的实施例相对应,本申请还提供一种ECU固件升级计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现上述方法实施例中的对应操作。
对于装置、设备、存储介质实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种ECU固件升级方法,其特征在于,固件包中的数据被划分成多个数据块,每个数据块与所述ECU的存储空间的其中一个存储块的地址段对应,所述方法包括:
将所述数据块写入所述存储空间中所对应的存储块;
接收所述存储空间返回的存储响应消息,所述存储响应消息中携带有存储块标识;
确定所述存储块是否发生写入异常,其中,所述写入异常的情况包括:基于所述存储响应消息确定的写入异常;
基于所述存储块标识确定目的数据块,将所述目的数据块重新写入存储块标识指向的所述存储块。
2.根据权利要求1所述的方法,其特征在于,基于所述存储响应消息确定的所述写入异常包括:所述存储响应消息的响应时长超过预设值或所述存储块发生写入错误。
3.根据权利要求2所述的方法,其特征在于,所述存储响应消息携带有响应时长或第一校验码,所述第一校验码基于所述存储块已写入数据生成,用于表征所述存储块发生写入错误。
4.根据权利要求3所述的方法,其特征在于,所述写入错误包括已写入的数据错误、或所述存储块中的数据未被全部写入。
5.根据权利要求3所述的方法,其特征在于,基于所述存储响应消息确定的所述存储块发生写入错误包括:
获取基于所述数据块的数据生成的第二校验码;
比较所述第一校验码和第二校验码是否一致,确定所述存储块是否发生写入错误。
6.根据权利要求1所述的方法,其特征在于,所述ECU置于车辆上,所述车辆包括多个ECU节点,所述方法还包括:
所述车辆处于行驶状态的情况下,中断重要等级为预设等级的所述ECU节点的写入过程。
7.一种汽车,其特征在于,所述汽车带有OTA主控和至少一个ECU节点,所述ECU节点带有存储空间,所述存储空间包括多个存储块,所述OTA主控用于执行如权利要求1-6任一项所述的方法。
8.一种ECU固件升级装置,其特征在于,固件包中的数据被划分成多个数据块,每个数据块与所述ECU的存储空间的其中一个存储块的地址段对应,所述装置包括:
数据写入模块,用于将所述数据块写入所述存储空间中所对应的存储块;
消息接收模块,用于接收所述存储空间返回的存储响应消息,所述存储响应消息中携带有存储块标识;
异常检测模块,用于确定所述存储块是否发生写入异常,其中,所述写入异常的情况包括:基于所述存储响应消息确定的写入异常;
断点续传模块,用于基于所述存储块标识确定目的数据块,将所述目的数据块写入存储块标识指向的所述存储块。
9.一种ECU固件升级系统,其特征在于,所述系统包括OTA主控设备和至少一个ECU节点,所述ECU节点带有存储空间,所述存储空间包括多个存储块;
所述OTA主控设备包括:
处理器;
存储器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如权利要求1-6任一项所述的方法。
10.一种计算机可读存储介质,其上存储有程序,其特征在于,所述程序被处理器执行时实现权利要求1-6任意一项所述方法中的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410122966.6A CN117742763A (zh) | 2024-01-29 | 2024-01-29 | Ecu固件升级方法、装置、系统、汽车及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410122966.6A CN117742763A (zh) | 2024-01-29 | 2024-01-29 | Ecu固件升级方法、装置、系统、汽车及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117742763A true CN117742763A (zh) | 2024-03-22 |
Family
ID=90252953
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410122966.6A Pending CN117742763A (zh) | 2024-01-29 | 2024-01-29 | Ecu固件升级方法、装置、系统、汽车及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117742763A (zh) |
-
2024
- 2024-01-29 CN CN202410122966.6A patent/CN117742763A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10162625B2 (en) | Vehicle control storage methods and systems | |
US20050013154A1 (en) | Non-volatile storage device control method | |
CN112000358B (zh) | 充电桩的升级方法与智能充电桩 | |
CN104282342A (zh) | 闪存装置、存储器控制器及闪存的控制方法 | |
CN112015447B (zh) | 电子设备的系统更新方法及装置、电子设备及存储介质 | |
CN114895947A (zh) | 车载控制器的软件升级方法、装置、设备和存储介质 | |
CN113220319A (zh) | 一种数据更新方法、装置及车辆 | |
CN113093694A (zh) | 一种基于uds的车载电控单元数据刷写方法及系统 | |
CN117742763A (zh) | Ecu固件升级方法、装置、系统、汽车及存储介质 | |
CN111143181A (zh) | 一种服务器维护方法、系统、设备及计算机可读存储介质 | |
CN107908500B (zh) | 一种坏块识别方法及装置 | |
CN110704076A (zh) | 数据处理方法和装置、车载控制器及计算机可读存储介质 | |
CN114780114A (zh) | 固件升级方法、系统、车辆及存储介质 | |
CN113823341A (zh) | 用于运行计算单元的方法 | |
CN115098138A (zh) | 电池管理系统的功能升级方法、装置、电子设备及介质 | |
US20070033492A1 (en) | Method and device for monitoring an electronic circuit | |
US8503241B2 (en) | Electronic apparatus and data reading method | |
US9773562B2 (en) | Storage apparatus, flash memory control apparatus, and program | |
CN113377421B (zh) | 一种软硬件版本信息的检测方法、装置、设备及介质 | |
CN114567628B (zh) | 一种ota升级方法和装置 | |
CN114461552B (zh) | 一种数据存储方法及装置 | |
US20240184453A1 (en) | Information processing system, storage medium, and data write count management method | |
CN117912537A (zh) | 一种Flash的擦除检测方法、装置、车辆以及存储介质 | |
CN113468008B (zh) | 安全控制器的检测方法、装置、设备及存储介质 | |
CN114518834B (zh) | 一种信息存储方法、装置及电子设备 |
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 |