CN112698857A - 一种数据刷写的方法及设备 - Google Patents

一种数据刷写的方法及设备 Download PDF

Info

Publication number
CN112698857A
CN112698857A CN202110001850.3A CN202110001850A CN112698857A CN 112698857 A CN112698857 A CN 112698857A CN 202110001850 A CN202110001850 A CN 202110001850A CN 112698857 A CN112698857 A CN 112698857A
Authority
CN
China
Prior art keywords
data
eol
ecu
flashing
ecu data
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.)
Granted
Application number
CN202110001850.3A
Other languages
English (en)
Other versions
CN112698857B (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 CN202110001850.3A priority Critical patent/CN112698857B/zh
Publication of CN112698857A publication Critical patent/CN112698857A/zh
Application granted granted Critical
Publication of CN112698857B publication Critical patent/CN112698857B/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • G06F11/1056Updating check bits on partial write, i.e. read/modify/write
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore

Landscapes

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

Abstract

本申请提供一种数据刷写的方法及设备,应用于ECU中,用以支持数据批量刷写,提高数据刷写速率。在本申请实施例中,在数据刷写模式为单变量刷写模式后,接收外部刷写设备传输的至少一个电子控制单元ECU数据;将至少一个ECU数据写入EOL备份区,且在EOL备份区中建立至少一个ECU数据对应的待刷写EOL子区的标识;将EOL备份区中存储的至少一个ECU数据刷写至标识对应的待刷写EOL子区中。本申请实施例提供的数据刷写方式支持单变量刷写,即对EOL子区中的至少一个ECU数据进行刷写,无需将该EOL子区中的全部数据擦除再全部写入,减少工作时间,提高刷写效率。

Description

一种数据刷写的方法及设备
技术领域
本发明涉及汽车电子控制领域,尤其涉及一种数据刷写的方法及设备。
背景技术
在实现控制车辆前,需要对电子控制单元(Electronic Control Unit,ECU)进行数据刷写,即外部刷写设备通过通信网络向ECU传输数据信息,完成数据写入,以实现ECU数据的管理和更新。
目前,对于发动机相关的数据刷写,一般采用统一诊断服务协议(UnifiedDiagnostic Services,UDS)或者通用校准协议(Universal Calibration Protocol,XCP)。大部分整车厂,传输机厂采用UDS协议,在ECU数据刷写过程成中分不同权限级别的刷写,对于部分数据会释放给服务器站和终端用户权限,对于ECU数据进行刷写时,针对每一个分区进行全区刷写。
即进行ECU数据刷写时,外部刷写设备和ECU按照刷写流程实时通过应答报文的形式对相应分区进行擦除和刷写,因为每次刷写之前都要进行一次擦除,擦除是对全区进行的,之后在将外部刷写设备传递的数据写入Flash区。整区擦除和写入的工作占用的时间较长,且不利于批量操作。
发明内容
本申请提供一种数据刷写的方法及设备,用以支持批量刷写,提高刷写速率。
第一方面,本申请实施例提供一种数据刷写的方法,该方法包括:
在数据刷写模式为单变量刷写模式后,接收外部刷写设备传输的至少一个ECU数据;
将至少一个ECU数据写入项目终止(End Of Line,EOL)备份区,且在EOL备份区中建立至少一个ECU数据对应的待刷写EOL子区的标识;
将EOL备份区中存储的至少一个ECU数据刷写至标识对应的待刷写EOL子区中。
在一种可能的实现方式中,接收外部刷写设备传输的至少一个ECU数据后,将至少一个ECU数据写入EOL备份区之前,将至少一个ECU数据存储至标定区的随机存取存储器(Calibration Location-Random Access Memory,CAL-RAM)中;
接收到外部刷写设备发送的数据传输结束指令后,将CAL-RAM中存储的ECU数据全部写入EOL备份区,并在EOL备份区中建立至少一个ECU数据对应的待刷写EOL子区的标识;其中,数据传输结束指令用于指示至少一个ECU数据对应的待刷写EOL子区中需要刷写的ECU数据已传输完成。
在一种可能的实现方式中,在数据刷写模式为单变量刷写模式后,接收外部刷写设备传输的至少一个ECU数据之前,在确定最近一次刷写过程中,EOL备份区与对应的待刷写EOL子区中存储的数据一致后,通过发动机管理系统(Engine Management System,EMS)接收外部刷写设备发送的单变量刷写指令;
在接收到单变量刷写指令后,确定数据刷写模式为单变量刷写模式。
在一种可能的实现方式中,在数据刷写模式为单变量刷写模式后,接收外部刷写设备传输的至少一个ECU数据之前,通过对外部刷写设备的安全校验和刷写权限校验。
在一种可能的实现方式中,若未通过对外部刷写设备的安全校验和/或刷写权限校验,则进行复位操作。
在一种可能的实现方式中,当满足下列条件之一时,进行复位操作:
EOL备份区中的ECU数据成功刷写至对应的待刷写EOL子区;
接收外部刷写设备传输的至少一个ECU数据后,再次接收到的其他ECU数据时,确定其他ECU数据对应的EOL子区与至少一个ECU数据对应的待刷写EOL子区不一致;
接收到的至少一个ECU数据与外部刷写设备传输的ECU数据一致性判断失败。
第二方面,本申请实施例提供一种数据刷写的设备,该设备包括:至少一个处理单元以及至少一个存储单元,其中,存储单元存储有程序代码,当程序代码被处理单元执行时,处理单元具体用于:
在数据刷写模式为单变量刷写模式后,接收外部刷写设备传输的至少一个ECU数据;
将至少一个ECU数据写入EOL备份区,且在EOL备份区中建立至少一个ECU数据对应的待刷写EOL子区的标识;
将EOL备份区中存储的至少一个ECU数据刷写至标识对应的待刷写EOL子区中。
第三方面,本申请实施例提供一种数据刷写的装置,该装置包括:
接收单元,用于在数据刷写模式为单变量刷写模式后,接收外部刷写设备传输的至少一个ECU数据;
写入单元,用于将接收的至少一个ECU数据写入EOL备份区,且在EOL备份区中建立至少一个ECU数据对应的待刷写EOL子区的标识;
刷写单元,用于将EOL备份区中存储的至少一个ECU数据刷写至标识对应的待刷写EOL子区中。
第四方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令被处理器执行时实现本申请实施例提供的数据刷写的方法。
本申请实施例有益效果如下:
本申请实施例提供一种数据刷写的方法及设备;在本申请实施例中,在数据刷写模式为单变量刷写模式后,可接收外部刷写设备传输的至少一个ECU数据,并将接收到的ECU数据先写入EOL备份区,防止数据丢失,增加数据刷写次数,在将ECU数据写入EOL备份区后,在EOL备份区中建立至少一个ECU数据对应的待刷写EOL子区的标识,之后将EOL备份区中存储的ECU数据刷写至标识对应的待刷写EOL子区,实现EOL子区的数据刷写,在该数据刷写过程中,支持单变量刷写,可针对EOL子区中的需要刷写的ECU数据进行批量刷写,无需将EOL子区中的数据全部擦除后再写入,减少工作时间,提高刷写效率。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种ECU数据刷写的方法流程图;
图2为本申请实施例提供的一种权限级联示意图;
图3为本申请实施例提供的一种ECU数据刷写的整体方法流程图;
图4为本申请实施例提供的一种ECU数据刷写的设备结构图;
图5为本申请实施例提供的一种ECU数据刷写的装置结构图。
具体实施方式
本申请实施例描述的架构以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请实施例中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
ECU数据刷写,又可称为ECU数据灌装,其基本原理是:外部刷写设备通过ECU通信网络,向ECU传输数据信息,实现ECU数据的管理和更新。
主要有三方面应用:一是发动机/汽车项目终止出厂时进行数据封装,二是汽车维修站进行ECU更新、维修,三是发动机改装应用。发动机ECU在软件设计时将程序和数据进行单独管理,在单片机的Flash物理区中是分开的。ECU数据根据控制任务的不同性质,可分为多个数据区域,例如零部件信息配置区域、动力参数区、排放参数区、故障诊断区等。数据的分区设计便于满足不同应用场合的需求。例如,整车厂只需要配置车辆零部件信息,发动机生产企业则需要调整ECU动力参数、排放参数等数据,维修站关注故障诊断数据,汽车改装多修改喷油、进气等动力参数。
目前,ECU数据刷写过程中,每次进行数据刷写之前都会将需要进行ECU数据刷写的区域中的数据擦除,然后重新写入,整区擦除和写入的工作占用的时间较长,且不利于批量操作。
有鉴于此,本申请实施例提供一种数据刷写的方法及设备,可以支持单变量数据刷写,即在确定只需要改变一个ECU数据的时候,无需将该ECU数据对应的EOL子区中的数据全部进行刷写,而是仅对需要刷写的数据进行刷写,方便快捷,提升刷写速率。
下面参考附图来描述本申请示例性实施方式提供的数据刷写的方法,需要注意的是,上述描述仅是为了便于理解本申请的精神和原理而示出,本申请的实施方式在此方面不受任何限制。
参照图1,图1示例性提供了本申请实施例中一种数据刷写的方法,应用于ECU中,该方法包括如下步骤:
步骤S100,在数据刷写模式为单变量刷写模式后,接收外部刷写设备传输的至少一个ECU数据。
在本申请实施例中,在数据刷写模式为单变量刷写模式后,接收外部刷写设备传输的至少一个ECU数据之前,ECU还可以执行如下操作中的至少一种:
确定是否支持数据刷写;确定数据刷写模式;对外部刷写设备进行安全校验和刷写权限校验,以确定外部刷写设备是否存在篡改ECU数据的企图。
在本申请实施例中,ECU中包括Boot和EMS,其中Boot是EMS的引导加载程序,EMS是发动机正常工作时需要的程序,ECU数据为发动机正常工作时需要的数据。因此本申请实施例中,主要由执行Boot对EMS对应的ECU数据进行更新管理。
当确定ECU上电后,首先运行Boot,并在Boot中进行EMS代码和ECU数据进行校验。
在一种可能的实施方式中,在对代码和ECU数据进行校验的过程中,加入EOL备份区和EOL子区的校验:
其中,EOL备份区和EOL子区都位于Flash物理区,且Flash物理区中可包括多个EOL子区和EOL备份区,要求一个EOL备份区的大小可涵盖多个EOL子区的总和,若一个EOL备份区的大小不能涵盖多个EOL子区的总和,则一个EOL备份区的最小值必须大于各个EOL子区;
首先,根据EOL备份区中存储的EOL子区的标识,确定最近一次刷写过程中EOL备份区对应的待刷写EOL子区,其中EOL备份区中存储的EOL子区的标识是最近一次将CAL-RAM中的数据刷写至EOL备份区后,在EOL备份区的开头建立的;
然后,将EOL备份区中的数据与对应的待刷写EOL子区中的数据进行校验,确定存储的数据是否一致。
若在确定EOL备份区中的数据与对应的待刷写EOL子区中的数据不一致后,将EOL备份区中的数据刷写至对应的待刷写EOL子区中,并在确定刷写成功后,由Boot跳转到EMS;
若在确定EOL备份区中的数据与对应的待刷写EOL子区中的数据一致后,直接由Boot跳转到EMS。
在本申请实施例中,跳转到EMS后,由EMS诊断会话模式,并确定是否支持数据刷写;
其中,会话模式为ECU和外部刷写设备进行信息传输,根据会话模式可以确定ECU和外部刷写设备之间所采用的数据刷写模式。
此时,ECU可接收外部刷写设备发送的数据刷写模式指令,根据数据刷写模式指令确定数据刷写模式;比如,ECU接收到外部刷写设备发送的单变量刷写指令后,确定数据刷写模式为单变量刷写模式。
但,在本申请实施例中,确定了数据刷写模式后,根据数据刷写模式并不能确定是否支持ECU数据刷写,即当前依旧不能确定是否支持ECU数据刷写。此时,需要根据发动机的状态来确定是否支持ECU数据刷写;当发动机转速和车速为零时,确定可以进行数据刷写,否则确定不可进行数据刷写并继续执行诊断会话模式以及确定是否支持数据刷写的操作。
在确定支持数据刷写,以及数据刷写模式后,由EMS跳转到Boot,并通过公共随机存取存储器(Random Access Memory,RAM)记录跳转模式,以使Boot根据公共RAM记录的跳转模式确定数据刷写模式。
比如,EMS确定支持数据刷写,且采用单变量刷写模式后,跳转到Boot,此时公共RAM记录的跳转模式为接收到单变量刷写模式后进行跳转。
当跳转到Boot中,将通过公共RAM记录的跳转模式,确定数据刷写模式为单变量刷写模式,并在确定单变量刷写模式后向外部刷写设备发送会话的正响应,以使外部刷写设备根据正响应确定可进行ECU数据传输后,向ECU传输至少一个ECU数据。此时,ECU在确定数据刷写模式为单变量刷写模式后,接收外部刷写设备传输的至少一个ECU数据。
需要说明的是,在EMS确定支持数据刷写后,跳转到Boot的过程中,在EMS中做Pending负响应,并告知外部刷写设备等待跳转,即告知外部刷写设备等待ECU数据发送。
在一种可能的实施方式中,为了保证数据的安全性,防止外部刷写设备企图篡改数据。本申请实施例中,在接收外部刷写设备传输的至少一个ECU数据之前,还需要对外部刷写设备进行安全校验和刷写权限校验,确定外部刷写设备是否有权限刷写当前待刷写EOL子区。
刷写权限校验是根据发动机厂、整车厂、服务站、用户等采用不同级别的刷写权限,即发动机厂、整车厂、服务站、用户可以刷写不同的EOL子区,保证数据的安全性。
如图2所示,为本申请实施例提供的一种权限级联示意图,EOL子区的权限分为发动机厂权限,整车厂权限,服务站权限,用户权限,权限级别是向下级联的,上级权限可以刷下级权限的数据,下级权限不能刷上级权限范围内的数据,比如,发动机厂可以刷写发动机厂、整车厂、服务站以及用户对应的任一EOL子区,但是用户仅能刷写自身对应的EOL子区,不能刷写其他EOL子区。
需要说明的是,安全校验在不同的权限下,校验算法不一致,并且发动机厂有权限通过数据控制其他权限的算法因子,以达到不同厂家不同算法的目的。
在确定通过对外部刷写设备安全校验和刷写权限校验后,顺利接收外部刷写设备传输的至少一个ECU数据,否则进行复位操作。
在一种可能的实现方式中,在确定通过对外部刷写设备安全校验和刷写权限校验后,接收外部刷写设备传输的至少一个ECU数据之前,还可以将当前待刷写EOL子区中的数据备份到EOL备份区,以保证数据刷写过程的安全性。
步骤S101,将至少一个ECU数据写入EOL备份区,且在EOL备份区中建立至少一个ECU数据对应的待刷写EOL子区的标识。
在一种可能的实施方式中,接收外部刷写设备传输的至少一个ECU数据后,将至少一个ECU数据写入EOL备份区之前,将至少一个ECU数据存储至CAL-RAM中,并确定至少一个ECU数据对应的待刷写EOL子区中需要刷写的ECU数据是否已全部传输。
在本申请实施例中,主要根据是否接收到外部刷写设备发送的数据传输结束指令,来确定至少一个ECU数据对应的待刷写EOL子区中需要刷写的ECU数据是否已全部传输,其中,数据传输结束指令用于指示至少一个ECU数据对应的待刷写EOL子区中需要刷写的ECU数据已传输完成。
因此,在进行数据刷写时,针对同一待刷写EOL子区中需要刷写的ECU数据,可多次接收外部刷写设备针对同一待刷写EOL子区传输的至少一个ECU数据,即外部刷写设备可以分多次传输同一待刷写EOL子区中需要刷写的ECU数据。
需要说明的是,外部刷写设备进行ECU数据传输时,主要传输数据起始地址和数据长度以及数据内容,其中起始地址用于指示具体从哪一个ECU数据开始刷写,数据长度用于指示连续刷写几个ECU数据,数据内容为更新刷写后的ECU数据的内容;
因此ECU接收到数据起始地址和数据长度以及数据内容,并将其打包存放至CAL-RAM,此时若确定未接收到外部刷写设备发送的数据传输结束指令,则需要再次接收外部刷写设备传输的至少一个其他ECU数据;
当接收到外部刷写设备传输的至少一个其他ECU数据时,判断再次接收到的至少一个其他ECU数据对应的待刷写EOL子区与前一次接收的至少一个ECU数据对应的待刷写EOL子区是否为同一待刷写EOL子区;若确定为同一待刷写EOL子区,则将再次接收的至少一个其他ECU数据存储至CAL-RAM中,并继续确定是否接收到外部刷写设备发送的数据传输结束指令;若确定不是同一待刷写EOL子区,则进行复位操作。
当接收到外部刷写设备发送的数据传输结束指令后,确定同一待刷写EOL子区中需要刷写的ECU数据传输完成后,将CAL-RAM中存储的ECU数据全部写入EOL备份区,并在EOL备份区中建立至少一个ECU数据对应的待刷写EOL子区的标识。
在一种可能的实现方式中,确定同一待刷写EOL子区中需要刷写的ECU数据传输完成后,将CAL-RAM中存储的ECU数据全部写入EOL备份区之前,为了保证ECU数据刷写的准确性及安全性,需要判断外部刷写设备传输的数据与ECU接收的数据是否一致,若一致则将CAL-RAM中存储的ECU数据全部写入EOL备份区,否则进行复位操作。
步骤S102,将EOL备份区中存储的至少一个ECU数据刷写至标识对应的待刷写EOL子区中。
在本申请实施例中,当同一待刷写EOL子区中的数据传输完成后,在100MS任务中将EOL备份区中存储的数据刷写至区号标识对应的待刷写EOL子区中,并在刷写完成后进行复位操作,跳转到EMS,并告知外部刷写设备。
参照图3,图3示例性提供了本申请实施例中一种ECU数据刷写的整体方法流程图,包括如下步骤:
步骤S300,确定上电;
步骤S301,运行Boot,判断最近一次数据刷写过程中,EOL备份区与对应的待刷写EOL子区中存储的数据是否一致,若是则执行步骤S303,否则执行步骤S302;
步骤S302,将EOL备份区中的数据刷写至对应的待刷写EOL子区,并执行步骤S303;
步骤S303,由Boot跳转至EMS,通过EMS接收外部刷写设备发送的单变量刷写指令,确定数据刷写模式为单变量刷写模式;
步骤S304,通过EMS根据发动机当前状态确定支持ECU数据刷写后,由EMS跳转至Boot;
步骤S305,跳转到Boot中,在确定数据刷写模式为单变量刷写模式后,向外部刷写设备发送会话消息;
步骤S306,对外部刷写设备进行安全校验和刷写权限校验;
步骤S307,判断安全校验和刷写权限校验是否通过,若是则执行步骤S308,否则执行步骤S316;
步骤S308,接收外部刷写设备传输的至少一个ECU数据;
步骤S309,判断接收到的至少一个ECU数据是否对应多个EOL子区,若是则执行步骤S316,否则执行步骤S310;
步骤S310,将至少一个ECU数据存储至CAL-RAM;
步骤S311,判断至少一个ECU数据对应的EOL子区中需要刷写的ECU数据是否全部传输,若是则执行步骤S312,否则执行步骤S308;
步骤S312,判断外部刷写设备传输的ECU数据与接收到的ECU数据是否一致,若是则执行步骤S313,否则中步骤S316;
步骤S313,将CAL-RAM中存储的ECU数据全部写入到EOL备份区,并在EOL备份区中建立至少一个ECU数据对应的待刷写EOL子区的标识;
步骤S314,将EOL备份区的ECU数据刷写至标识对应的EOL子区;
步骤S315,判断EOL备份区中的ECU数据是否成功刷写至对应的EOL子区,若是则执行步骤S316,否则执行步骤S314;
步骤S316,进行复位操作。
基于同一发明构思,本发明实施例中还提供了一种数据刷写的设备,由于该设备对应的是本发明实施例数据刷写的方法,并且该设备解决问题的原理与该方法原理相似,因此该设备的实施可以参见方法的实施,重复之处不再赘述。
图4示例性提供了本申请实施例中一种数据刷写的设备,该数据刷写设备400包括:至少一个处理单元401以及至少一个存储单元402,其中,存储单元402存储有程序代码,当程序代码被处理单元401执行时,处理单元401具体用于:
在数据刷写模式为单变量刷写模式后,接收外部刷写设备传输的至少一个ECU数据;
将至少一个ECU数据写入EOL备份区,且在EOL备份区中建立至少一个ECU数据对应的待刷写EOL子区的标识;
将EOL备份区中存储的至少一个ECU数据刷写至标识对应的待刷写EOL子区中。
在一种可能的实现方式中,处理单元401还用于:
接收外部刷写设备传输的至少一个ECU数据后,将至少一个ECU数据存储至CAL-RAM中;
接收到外部刷写设备发送的数据传输结束指令后,将CAL-RAM中存储的ECU数据全部写入EOL备份区,并在EOL备份区中建立至少一个ECU数据对应的待刷写EOL子区的标识;其中,数据传输结束指令用于指示至少一个ECU数据对应的待刷写EOL子区中需要刷写的ECU数据已传输完成。
在一种可能的实现方式中,在数据刷写模式为单变量刷写模式后,处理单元401接收外部刷写设备传输的至少一个ECU数据之前,还用于:
在确定最近一次刷写过程中,EOL备份区与对应的待刷写EOL子区中存储的数据一致后,通过EMS接收外部刷写设备发送的单变量刷写指令;
在接收到单变量刷写指令后,确定数据刷写模式为单变量刷写模式。
在一种可能的实现方式中,在数据刷写模式为单变量刷写模式后,处理单元401接收外部刷写设备传输的至少一个ECU数据之前,确定通过对外部刷写设备的安全校验和刷写权限校验。
在一种可能的实现方式中,处理单元401确定未通过对外部刷写设备的安全校验和/或刷写权限校验,则进行复位操作。
在一种可能的实现方式中,处理单元401还用于:
当满足下列条件之一时,进行复位操作:
EOL备份区中的ECU数据成功刷写至对应的待刷写EOL子区;
接收外部刷写设备传输的至少一个ECU数据后,再次接收到的其他ECU数据时,确定其他ECU数据对应的EOL子区与至少一个ECU数据对应的待刷写EOL子区不一致;
接收到的至少一个ECU数据与外部刷写设备传输的ECU数据一致性判断失败。
图5示例性提供了本申请实施例中一种数据刷写的装置,该数据刷写装置500包括:接收单元501,写入单元502以及刷写单元503;其中:
接收单元501,用于在数据刷写模式为单变量刷写模式后,接收外部刷写设备传输的至少一个ECU数据;
写入单元502,用于将至少一个ECU数据写入EOL备份区,且在EOL备份区中建立至少一个ECU数据对应的待刷写EOL子区的标识;
刷写单元503,用于将EOL备份区中存储的至少一个ECU数据刷写至标识对应的待刷写EOL子区中。
在一种可能的实现方式中,接收单元501接收外部刷写设备传输的至少一个ECU数据后,将至少一个ECU数据写入EOL备份区之前,还用于:
将至少一个ECU数据存储至CAL-RAM中;
接收到外部刷写设备发送的数据传输结束指令后,将CAL-RAM中存储的ECU数据全部写入EOL备份区,并在EOL备份区中建立至少一个ECU数据对应的待刷写EOL子区的标识;其中,数据传输结束指令用于指示至少一个ECU数据对应的待刷写EOL子区中需要刷写的ECU数据已传输完成。
在一种可能的实现方式中,在数据刷写模式为单变量刷写模式后,接收单元501接收外部刷写设备传输的至少一个ECU数据之前,还用于:
在确定最近一次刷写过程中,EOL备份区与对应的待刷写EOL子区中存储的数据一致后,通过EMS接收外部刷写设备发送的单变量刷写指令;
在接收到单变量刷写指令后,确定数据刷写模式为单变量刷写模式。
在一种可能的实现方式中,在数据刷写模式为单变量刷写模式后,接收单元501接收外部刷写设备传输的至少一个ECU数据之前,还用于:确定通过对外部刷写设备的安全校验和刷写权限校验。
在一种可能的实现方式中,该装置还用于:若确定未通过对外部刷写设备的安全校验和/或刷写权限校验,则进行复位操作。
在一种可能的实现方式中,该装置还用于:当满足下列条件之一时,进行复位操作:
EOL备份区中的ECU数据成功刷写至对应的待刷写EOL子区;
接收外部刷写设备传输的至少一个ECU数据后,再次接收到的其他ECU数据时,确定其他ECU数据对应的EOL子区与至少一个ECU数据对应的待刷写EOL子区不一致;
接收到的至少一个ECU数据与外部刷写设备传输的ECU数据一致性判断失败。
在一些可能的实施方式中,本申请实施例提供的数据刷写的方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码用于使计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的数据刷写方法中的步骤。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请的实施方式的短信息的传输控制的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在计算装置上运行。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以传输、传播或者传输用于由命令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (11)

1.一种数据刷写的方法,其特征在于,该方法包括:
在数据刷写模式为单变量刷写模式后,接收外部刷写设备传输的至少一个ECU数据;
将所述至少一个ECU数据写入项目终止EOL备份区,且在所述EOL备份区中建立所述至少一个ECU数据对应的待刷写EOL子区的标识;
将所述EOL备份区中存储的所述至少一个ECU数据刷写至所述标识对应的待刷写EOL子区中。
2.如权利要求1所述的方法,其特征在于,所述接收外部刷写设备传输的至少一个ECU数据后,将所述至少一个ECU数据写入EOL备份区之前,还包括:
将所述至少一个ECU数据存储至标定区的随机存取存储器CAL-RAM中;
接收到所述外部刷写设备发送的数据传输结束指令后,将所述CAL-RAM中存储的ECU数据全部写入EOL备份区,并在所述EOL备份区中建立所述至少一个ECU数据对应的待刷写EOL子区的标识;其中,所述数据传输结束指令用于指示所述至少一个ECU数据对应的待刷写EOL子区中需要刷写的ECU数据已传输完成。
3.如权利要求1所述的方法,其特征在于,所述在数据刷写模式为单变量刷写模式后,接收外部刷写设备传输的至少一个ECU数据之前,还包括:
在确定最近一次刷写过程中,所述EOL备份区与对应的待刷写EOL子区中存储的数据一致后,通过发动机管理系统EMS接收所述外部刷写设备发送的单变量刷写指令;
在接收到所述单变量刷写指令后,确定所述数据刷写模式为单变量刷写模式。
4.如权利要求1所述的方法,其特征在于,所述在数据刷写模式为单变量刷写模式后,接收外部刷写设备传输的至少一个ECU数据之前,还包括:
通过对所述外部刷写设备的安全校验和刷写权限校验。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
若未通过对所述外部刷写设备的安全校验和/或刷写权限校验,则进行复位操作。
6.如权利要求1~5任一所述的方法,其特征在于,该方法还包括:
当满足下列条件之一时,进行复位操作:
所述EOL备份区中的ECU数据成功刷写至对应的待刷写EOL子区;
所述接收外部刷写设备传输的至少一个ECU数据后,再次接收到的其他ECU数据时,所述其他ECU数据对应的EOL子区与所述至少一个ECU数据对应的待刷写EOL子区不一致;
接收到的至少一个ECU数据与所述外部刷写设备传输的ECU数据一致性判断失败。
7.一种数据刷写的设备,其特征在于,该设备包括:至少一个处理单元以及至少一个存储单元,其中,存储单元存储有程序代码,当程序代码被处理单元执行时,处理单元具体用于:
在数据刷写模式为单变量刷写模式后,接收外部刷写设备传输的至少一个ECU数据;
将所述至少一个ECU数据写入EOL备份区,且在所述EOL备份区中建立所述至少一个ECU数据对应的待刷写EOL子区的标识;
将所述EOL备份区中存储的所述至少一个ECU数据刷写至所述标识对应的待刷写EOL子区中。
8.如权利要求7所述的设备,其特征在于,所述处理单元还用于:
所述接收外部刷写设备传输的至少一个ECU数据后,将所述至少一个ECU数据存储至CAL-RAM中;
接收到所述外部刷写设备发送的数据传输结束指令后,将所述CAL-RAM中存储的ECU数据全部写入EOL备份区,并在所述EOL备份区中建立所述至少一个ECU数据对应的待刷写EOL子区的标识;其中,所述数据传输结束指令用于指示所述至少一个ECU数据对应的待刷写EOL子区中需要刷写的ECU数据已传输完成。
9.如权利要求7所述的设备,其特征在于,在数据刷写模式为单变量刷写模式后,所述处理单元接收外部刷写设备传输的至少一个ECU数据之前,还用于:
在确定最近一次刷写过程中,所述EOL备份区与对应的待刷写EOL子区中存储的数据一致后,通过EMS接收所述外部刷写设备发送的单变量刷写指令;
在接收到所述单变量刷写指令后,确定所述数据刷写模式为单变量刷写模式。
10.如权利要求7所述的设备,其特征在于,在数据刷写模式为单变量刷写模式后,所述处理单元接收外部刷写设备传输的至少一个ECU数据之前,还用于:
若通过对所述外部刷写设备的安全校验和刷写权限校验,则接收外部刷写设备传输的至少一个ECU数据;或
若未通过对所述外部刷写设备的安全校验和/或刷写权限校验,则进行复位操作。
11.如权利要求7~10任一所述的设备,其特征在于,所述处理单元还用于:
当满足下列条件之一时,进行复位操作:
所述EOL备份区中的ECU数据成功刷写至对应的待刷写EOL子区;
所述接收外部刷写设备传输的至少一个ECU数据后,再次接收到的其他ECU数据时,所述其他ECU数据对应的EOL子区与所述至少一个ECU数据对应的待刷写EOL子区不一致;
接收到的至少一个ECU数据与所述外部刷写设备传输的ECU数据一致性判断失败。
CN202110001850.3A 2021-01-04 2021-01-04 一种数据刷写的方法及设备 Active CN112698857B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110001850.3A CN112698857B (zh) 2021-01-04 2021-01-04 一种数据刷写的方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110001850.3A CN112698857B (zh) 2021-01-04 2021-01-04 一种数据刷写的方法及设备

Publications (2)

Publication Number Publication Date
CN112698857A true CN112698857A (zh) 2021-04-23
CN112698857B CN112698857B (zh) 2023-09-19

Family

ID=75514384

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110001850.3A Active CN112698857B (zh) 2021-01-04 2021-01-04 一种数据刷写的方法及设备

Country Status (1)

Country Link
CN (1) CN112698857B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113359678A (zh) * 2021-06-25 2021-09-07 潍柴动力股份有限公司 一种发动机数据的刷写装置
CN113407196A (zh) * 2021-05-10 2021-09-17 联合汽车电子有限公司 Ecu数据存储方法及ecu
CN114265382A (zh) * 2021-11-12 2022-04-01 潍柴动力股份有限公司 Ecu刷写故障处理方法、装置、电子设备及存储介质

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003120413A (ja) * 2001-10-09 2003-04-23 Denso Corp 電子制御装置へのデータ書込システム
JP2011039825A (ja) * 2009-08-12 2011-02-24 Furukawa Electric Co Ltd:The ファームウェア更新方法及びファームウェア更新装置
CN102360304A (zh) * 2011-10-18 2012-02-22 华南理工大学 嵌入式微处理器系统及其固件更新方法
US20130332647A1 (en) * 2012-06-11 2013-12-12 Samsung Electronics Co. Ltd. Method and apparatus for fault tolerant fota update with single backup block write
CN105278997A (zh) * 2015-11-11 2016-01-27 北京汽车股份有限公司 控制器软件的刷写方法及设备
CN108762783A (zh) * 2018-05-21 2018-11-06 腾讯科技(深圳)有限公司 车辆系统的软件更新方法、装置及车辆系统
CN109117168A (zh) * 2018-08-29 2019-01-01 拓攻(南京)机器人有限公司 无人机固件更新方法、装置、无人机及存储介质
CN110377308A (zh) * 2019-07-18 2019-10-25 上海擎感智能科技有限公司 数据升级方法、系统
CN110688135A (zh) * 2019-09-20 2020-01-14 浙江吉利汽车研究院有限公司 一种控制器的程序刷写方法、装置及介质
CN111061499A (zh) * 2019-12-31 2020-04-24 上海赫千电子科技有限公司 一种基于文件系统的ecu更新方法及系统
CN111198705A (zh) * 2019-12-19 2020-05-26 潍柴动力股份有限公司 一种防止ecu刷死的内存备份方法、装置、存储介质及电子设备
CN111309364A (zh) * 2020-05-11 2020-06-19 深圳市科信通信技术股份有限公司 芯片程序的升级方法、装置及存储介质
CN111722864A (zh) * 2020-06-24 2020-09-29 深圳市元征科技股份有限公司 一种ecu数据刷写方法及相关装置

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003120413A (ja) * 2001-10-09 2003-04-23 Denso Corp 電子制御装置へのデータ書込システム
JP2011039825A (ja) * 2009-08-12 2011-02-24 Furukawa Electric Co Ltd:The ファームウェア更新方法及びファームウェア更新装置
CN102360304A (zh) * 2011-10-18 2012-02-22 华南理工大学 嵌入式微处理器系统及其固件更新方法
US20130332647A1 (en) * 2012-06-11 2013-12-12 Samsung Electronics Co. Ltd. Method and apparatus for fault tolerant fota update with single backup block write
CN105278997A (zh) * 2015-11-11 2016-01-27 北京汽车股份有限公司 控制器软件的刷写方法及设备
CN108762783A (zh) * 2018-05-21 2018-11-06 腾讯科技(深圳)有限公司 车辆系统的软件更新方法、装置及车辆系统
CN109117168A (zh) * 2018-08-29 2019-01-01 拓攻(南京)机器人有限公司 无人机固件更新方法、装置、无人机及存储介质
CN110377308A (zh) * 2019-07-18 2019-10-25 上海擎感智能科技有限公司 数据升级方法、系统
CN110688135A (zh) * 2019-09-20 2020-01-14 浙江吉利汽车研究院有限公司 一种控制器的程序刷写方法、装置及介质
CN111198705A (zh) * 2019-12-19 2020-05-26 潍柴动力股份有限公司 一种防止ecu刷死的内存备份方法、装置、存储介质及电子设备
CN111061499A (zh) * 2019-12-31 2020-04-24 上海赫千电子科技有限公司 一种基于文件系统的ecu更新方法及系统
CN111309364A (zh) * 2020-05-11 2020-06-19 深圳市科信通信技术股份有限公司 芯片程序的升级方法、装置及存储介质
CN111722864A (zh) * 2020-06-24 2020-09-29 深圳市元征科技股份有限公司 一种ecu数据刷写方法及相关装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CORNELIA HEINISCH: "Loading Flashware from External Interfaces Such as CD-ROM or W-LAN and Programming ECUs by an On-Board SW-Component", 《SAE TECHNICAL PAPER》, pages 1 - 13 *
喻文军: "一种刷写汽车发动机ECU 数据的EOL 设备", 《内燃机与配件》, no. 01, pages 17 - 19 *
宋宇宁: "STM32在复杂系统中实现固件自动升级的方法", 《单片机与嵌入式系统应用》, vol. 17, no. 11, pages 22 - 26 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113407196A (zh) * 2021-05-10 2021-09-17 联合汽车电子有限公司 Ecu数据存储方法及ecu
CN113359678A (zh) * 2021-06-25 2021-09-07 潍柴动力股份有限公司 一种发动机数据的刷写装置
CN114265382A (zh) * 2021-11-12 2022-04-01 潍柴动力股份有限公司 Ecu刷写故障处理方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN112698857B (zh) 2023-09-19

Similar Documents

Publication Publication Date Title
CN112698857B (zh) 一种数据刷写的方法及设备
CN108011935B (zh) 一种nb-iot设备的程序升级方法、服务器及nb-iot设备
CN111399884A (zh) 一种车辆组件的升级方法、装置及电子设备
CN110888662A (zh) 一种车辆远程静默升级方法、装置、车辆和存储介质
CN110175677A (zh) 自动更新方法、装置、计算机设备及存储介质
CN111158718A (zh) 本地通讯服务器及其ota升级方法和云端服务器
CN109871225B (zh) 电子控制单元ecu升级方法及ecu
CN110262820A (zh) 基于mqtt协议实现ota升级的方法、装置、系统与存储介质
CN114327543A (zh) 车载控制器的在线升级方法、装置、车辆及存储介质
CN108845824A (zh) 应用更新方法和装置及计算机可读存储介质
CN108510287A (zh) 客户回访的判断方法、电子装置及计算机可读存储介质
CN106020882A (zh) 一种应用升级方法、智能终端及升级系统
CN113760332A (zh) 软件升级方法和电子设备
CN113760333A (zh) 软件升级方法、装置、电子设备及计算机可读存储介质
CN112181455B (zh) 微控制器的在线升级方法、微控制器及存储介质
CN113360175A (zh) 车辆控制器的应用更新方法及车辆控制器
CN116257270A (zh) 一种车辆、车辆的升级方法和装置
CN110493644A (zh) 电视应用升级方法、电视终端及服务器
CN115129340A (zh) 一种整车程序的升级方法、装置、设备及存储介质
CN113342376B (zh) 一种针对物联网设备的操作系统进行升级的方法及装置
CN113342385A (zh) 软件升级方法及装置、空调控制面板
CN105790975A (zh) 一种业务处理操作的执行方法及装置
CN115098138A (zh) 电池管理系统的功能升级方法、装置、电子设备及介质
CN114546455A (zh) 一种双分区的mcu软件升级方法及装置
CN114489711A (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
GR01 Patent grant
GR01 Patent grant