CN108334282B - 汽车电子控制单元的程序文件下载方法和装置 - Google Patents

汽车电子控制单元的程序文件下载方法和装置 Download PDF

Info

Publication number
CN108334282B
CN108334282B CN201711466122.XA CN201711466122A CN108334282B CN 108334282 B CN108334282 B CN 108334282B CN 201711466122 A CN201711466122 A CN 201711466122A CN 108334282 B CN108334282 B CN 108334282B
Authority
CN
China
Prior art keywords
program file
vehicle
electronic control
control unit
downloading
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
CN201711466122.XA
Other languages
English (en)
Other versions
CN108334282A (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.)
Ningde Shidai Runzhi Software Technology Co ltd
Original Assignee
Contemporary Amperex Technology 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 Contemporary Amperex Technology Co Ltd filed Critical Contemporary Amperex Technology Co Ltd
Priority to CN201711466122.XA priority Critical patent/CN108334282B/zh
Publication of CN108334282A publication Critical patent/CN108334282A/zh
Application granted granted Critical
Publication of CN108334282B publication Critical patent/CN108334282B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供了一种汽车电子控制单元的程序文件下载方法和装置,涉及电子电气领域。该汽车电子控制单元的程序文件下载方法,包括:获取车载程序文件与汽车电子控制单元的闪存中的单位存储块的映射关系;下载车载程序文件至汽车电子控制单元的闪存中的单位存储块;获取中断写入单位存储块,中断写入单位存储块为车载程序文件下载过程中断时正被写入的单位存储块;基于中断写入单位存储块以及映射关系,得到车载程序文件中需要继续下载的数据部分;将车载程序文件中需要继续下载的数据部分下载至汽车电子控制单元的闪存中的单位存储块。采用本发明实施例中的技术方案能够减少出现中断情况下的车载程序文件下载所花费的时间。

Description

汽车电子控制单元的程序文件下载方法和装置
技术领域
本发明涉及电子电气领域,尤其涉及一种汽车电子控制单元的程序文件下载方法和装置。
背景技术
电子控制单元(Electronic Control Unit,ECU)在车辆上的应用非常广泛。电子控制单元可以根据采集的各项参数信息,结合存储在电子控制单元的程序进行运算。将运算的结果转变为控制信号,从而实现电子控制单元对车辆的整体控制。
为了满足用户对车辆控制功能的各种要求,电子控制单元需要下载各类程序。在下载程序文件的过程中,可能会出现电源掉电或者报文丢失等异常情况。若出现上述异常情况,程序文件下载收到影响,下载得到的程序文件可能不完整或出现错误,导致程序文件无法运行,也就无法实现程序文件运行产生的功能。需要对整个程序文件重新进行下载。比如:若程序文件的大小为1MB,利用控制器局域网络(Controller Area Network,CAN)总线传输报文,设定每10毫秒收到一帧报文,则将大小为1MB的程序文件全部下载下来大约需要50分钟至60分钟。重新下载整个程序文件花费的时间较长。而且,若出现多次异常情况,则需要多次对整个程序文件重新进行下载。延长了程序文件下载所花费的时间。
发明内容
本发明实施例提供了一种汽车电子控制单元的程序文件下载方法和装置,能够减少出现中断情况下的车载程序文件下载所花费的时间。
第一方面,本发明实施例提供了一种汽车电子控制单元的程序文件下载方法,包括:获取车载程序文件与汽车电子控制单元的闪存中的单位存储块的映射关系;下载车载程序文件至汽车电子控制单元的闪存中的单位存储块;获取中断写入单位存储块,中断写入单位存储块为车载程序文件下载过程中断时正被写入的单位存储块;基于中断写入单位存储块以及映射关系,得到车载程序文件中需要继续下载的数据部分;将车载程序文件中需要继续下载的数据部分下载至汽车电子控制单元的闪存中的单位存储块。
第二方面,本发明实施例提供了一种汽车电子控制单元的程序文件下载装置,包括:映射获取模块,被配置为获取车载程序文件与汽车电子控制单元的闪存中的单位存储块的映射关系;下载模块,被配置为下载车载程序文件至汽车电子控制单元的闪存中的单位存储块;中断获取模块,被配置为获取中断写入单位存储块,中断写入单位存储块为车载程序文件下载过程中断时正被写入的单位存储块;查找模块,被配置为基于中断写入单位存储块以及映射关系,得到车载程序文件中需要继续下载的数据部分;下载模块,还配置为将车载程序文件中需要继续下载的数据部分下载至汽车电子控制单元的闪存中的单位存储块。
本发明实施例提供了一种汽车电子控制单元的程序文件下载方法和装置。可在下载车载程序文件至汽车电子控制单元发生中断的情况下,获取中断写入单位存储块,根据车载程序文件与汽车电子控制单元的内存中的单位存储块的映射关系,下载车载程序文件中因为中断需要继续下载的数据部分。在本发明实施例中,可以将车载程序文件下载过程中未有效下载至汽车电子控制单元中的车载程序文件的数据部分,重新下载至汽车电子控制单元。从而避免在下载车载程序文件发生中断,而进行整个车载程序文件的下载刷写流程。进而减少中断情况下的车载程序文件下载所花费的时间。
附图说明
从下面结合附图对本发明的具体实施方式的描述中可以更好地理解本发明其中,相同或相似的附图标记表示相同或相似的特征。
图1为本发明一实施例提供的一种汽车电子控制单元的程序文件下载方法;
图2为本发明实施例中一种汽车电子控制单元的闪存中的单位存储块的划分示意图;
图3为本发明另一实施例中汽车电子控制单元的程序文件下载方法的流程图;
图4为本发明又一实施例中汽车电子控制单元的程序文件下载方法的流程图;
图5为本发明再一实施例中汽车电子控制单元的程序文件下载方法的流程图;
图6为本发明一实施例中一种汽车电子控制单元的程序文件下载装置的结构示意图;
图7为本发明另一实施例中一种汽车电子控制单元的程序文件下载装置的结构示意图;
图8为本发明又一实施例中一种汽车电子控制单元的程序文件下载装置的结构示意图;
图9为本发明又一实施例中一种汽车电子控制单元的程序文件下载装置的结构示意图。
具体实施方式
下面将详细描述本发明的各个方面的特征和示例性实施例。在下面的详细描述中,提出了许多具体细节,以便提供对本发明的全面理解。但是,对于本领域技术人员来说很明显的是,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明的更好的理解。本发明决不限于下面所提出的任何具体配置和算法,而是在不脱离本发明的精神的前提下覆盖了元素、部件和算法的任何修改、替换和改进。在附图和下面的描述中,没有示出公知的结构和技术,以便避免对本发明造成不必要的模糊。
本发明实施例提供一种汽车电子控制单元的程序文件下载方法。在一个示例中,可应用于汽车中的汽车电子控制单元(Electronic Control Unit,ECU)通过车载终端从远端服务器下载车载程序文件的场景中。或者,应用于具有汽车电子控制单元的车载终端从远端服务器下载车载程序文件的场景中。其中,车载终端与远端服务器可无线通信连接。比如,车载终端与远端服务器通过数据网络、无线保真(Wireless Fidelity,WiFi)、蓝牙或紫蜂等无线通信技术进行通信,实现数据传输。车载终端与汽车电子控制单元可通过有线通信或无线通信实现数据传输。
在另一个示例中,本发明实施例提供的车载程序文件下载方法和装置,也可应用于携带有车载程序文件的硬件设备与车载终端有线连接,将车载程序文件传输给车载终端,将车载程序文件从车载终端下载至汽车电子控制单元。车载终端与汽车电子控制单元可通过有线通信或无线通信实现数据传输。
图1为本发明一实施例提供的一种汽车电子控制单元的程序文件下载方法。如图1所示,汽车电子控制单元的程序文件下载方法包括步骤101至步骤105
在步骤101中,获取车载程序文件与汽车电子控制单元的闪存中的单位存储块的映射关系。
汽车电子控制单元中的车载程序文件存储在闪存中。在下载车载程序文件之前,可先获取汽车电子控制单元的闪存中的单位存储块,并根据车载程序文件的大小,获取车载程序文件与单位存储块的对应关系。不同大小的车载程序文件占用单位存储块的数目也不同。通过车载程序文件与单位存储块的对应关系,可得每个单位存储块存储的是车载程序文件的哪一部分。
在一个示例中,单位存储块可以为汽车电子控制单元的闪存的最小擦写单位。在另一个示例中,单位存储块也可以为汽车电子控制单元的闪存的最小擦写单位的整数倍。
在一个示例中,车载程序文件可以是汽车新下载的控制应用的程序文件,也可以是汽车已有的控制应用的更新程序文件。从形式上来说,车载程序文件可以为s19文件或hex文件。
在步骤102中,下载车载程序文件至汽车电子控制单元的闪存中的单位存储块。
在一个示例中,若车载程序文件较小,则可以将整个车载程序文件直接下载至汽车电子控制单元的闪存中的单位存储块。
在另一个示例中,若车载程序文件较大,则可以将车载程序文件分割为多个数据包,将多个数据包依次下载至汽车电子控制单元的内存中的单位存储块。
在一个示例中,可使用无线传输技术将车载程序文件下载至汽车电子控制单元的闪存中的单位存储块,不需要专业操作人员将携带有车载程序文件的硬件设备与汽车的接口连接,从而为了提高车载程序文件下载的效率。上述实施例中下载车载程序文件至汽车电子控制单元的闪存中的单位存储块,具体可以实现为通过车载终端,从远端服务器下载车载程序至汽车电子控制单元的闪存中的单位存储块。也就是说,车载终端可从远端服务器下载车载程序文件,汽车电子控制单元可从车载终端下载车载程序文件。比如,汽车电子控制单元可通过统一诊断服务(UDS,Unified Diagnostic Service)或通用测量与标定协议(XCP,Universal Measurement and Calibration Protocol)等下载协议与车载终端进行通信。
在一个示例中,车载程序文件也可以是经过加密的车载程序文件。
在步骤103中,获取中断写入单位存储块。
在下载车载程序文件至汽车电子控制单元的闪存中的单位存储模块的过程中,可能会出现中断情况。比如汽车电子控制单元的电源掉电,或者,汽车电子控制单元接收的承载车载程序文件的报文丢失,都会引起下载过程的中断。在下载过程中断时,汽车电子控制单元可能已经下载到了车载程序文件的部分内容,中断写入单位存储块为车载程序文件下载过程中断时正被写入的单位存储块。获取在车载程序文件下载过程中断时正被写入的单位存储块,以便于后续根据中断写入单元存储块,继续进行下载。
在步骤104中,基于中断写入单位存储块以及映射关系,得到车载程序文件中需要继续下载的数据部分。
在步骤101中获取到了车载程序文件与汽车电子控制单元的闪存中的单位存储块的映射关系,因此可以根据该映射关系,查找到在映射关系中与中断写入单位存储块对应的车载程序文件的数据部分。与中断写入单位存储块对应的车载程序文件的数据部分,以及中断写入单位存储块之后的单位存储块可为车载程序文件中需要继续下载的数据部分。
在步骤105中,将车载程序文件中需要继续下载的数据部分下载至汽车电子控制单元的闪存中的单位存储块。
比如,图2为本发明实施例中一种汽车电子控制单元的闪存中的单位存储块的划分示意图。如图2所示,汽车电子控制单元的闪存划分为5个单位存储块,分别为单位存储块1、单位存储块2、单位存储块3、单位存储块4和单位存储块5。每个单位存储块可看作闪存的一个分区。车载程序文件与单位存储块对应,可划分为数据部分1、数据部分2、数据部分3、数据部分4和数据部分5。数据部分1至数据部分5可组合成整个车载程序文件。其中,数据部分1与单位存储块1对应,数据部分2与单位存储块2对应,数据部分3与单位存储块3对应,数据部分4与单位存储块4对应,数据部分5与单位存储块5对应。若下载过程中断时,中断写入单位存储块为单位存储块4,则数据部分4和数据部分5需要继续下载。
在本发明实施例中,可以将车载程序文件下载过程中未有效下载至汽车电子控制单元中的车载程序文件的数据部分,重新下载至汽车电子控制单元。从而避免在下载车载程序文件发生中断,而进行整个车载程序文件的下载刷写流程。进而减少中断情况下的车载程序文件下载所花费的时间。
图3为本发明另一实施例中汽车电子控制单元的程序文件下载方法的流程图。图3与图1的不同之处在于,图1中的步骤104可具体细化为图3中的步骤1041和步骤1042,图1中的步骤105可具体细化为图3中的步骤1051和步骤1052,图3中的汽车电子控制单元的程序文件下载方法还可包括步骤106。
在步骤1041中,基于中断写入单位存储块,在映射关系中查找与中断写入单位存储块的起始地址对应的车载程序文件的数据部分。
在一个示例中,上述实施例中的映射关系可包括车载程序文件的各个数据部分与汽车电子控制单元的闪存中的各个单位存储块的起始地址的对应关系。已知中断写入单元存储块,则可根据映射关系,确定需要继续下载的数据部分。
可为单位存储块预先设置标识,使不同的单位存储块具有不同的标识,以便于记录和查找。单位存储块的标识可为编号,也可为该单位存储块的起始地址。
在步骤1042中,将与中断写入单位存储块的起始地址对应的车载程序文件的数据部分及之后的数据部分,作为车载程序文件中需要继续下载的数据部分。
与中断写入单元存储块的起始地址对应的车载程序文件的数据部分可能已经写入中断写入单元存储块,但还未完全写入。已经写入中断写入单元存储块的数据也属于需要继续下载的数据部分。将与中断写入单位存储块的起始地址对应的车载程序文件的数据部分及之后的数据部分,作为需要继续下载的数据部分。
在步骤1051中,对中断写入单位存储块进行擦除。
由于中断写入单位存储块还没有写入完毕,而且单位存储块可能是汽车电子控制单元中闪存的最小擦写单位。对中断写入单位存储块进行擦除,防止将需要继续下载的数据部分写入到单位存储块中时发生数据混淆。
在步骤1052中,将车载程序文件中需要继续下载的数据部分下载至中断写入单位存储块以及中断写入单位存储块之后的单位存储块。
车载程序文件中需要继续下载的数据部分包括与中断写入单位存储块的起始地址对应的车载程序文件的数据部分及之后的数据部分。与中断写入单位存储块的起始地址对应的车载程序文件的数据部分写入中断写入单位存储块,与中断写入单位存储块的起始地址对应的车载程序文件的数据部分之后的数据部分也分别对应写入中断写入单位存储块之后的单位存储块。
在步骤106中,在将车载程序文件下载至汽车电子控制单元的闪存中的单位存储块时,记录已写入单位存储块。
为了可以更快的获取中断写入单元存储块,可以在将车载程序文件下载至汽车电子控制单元的闪存中的单位存储块时,记录已写入单位存储块。在获取中断写入单位存储块时,可以将最新记录到的已写入单位存储块,作为中断写入单位存储块。
在一个示例中,单位存储块均可位于汽车电子控制单元的闪存中的程序下载区中。由于下载的车载程序文件可能在传输过程中出错,造成下载的车载程序文件并不完整或出现错误。因此,在下载了车载程序文件后,可对车载程序文件进行完整性和准确性的检查。不能够立刻将下载的车载程序文件写入到汽车电子控制单元的闪存中。可在汽车电子控制单元的闪存中设置程序下载区,使程序下载区独立于汽车电子控制单元的闪存中运行程序文件的部分。对车载程序文件的检查可在程序下载区中进行。
在一个示例中,还可对中断写入单位存储块进行检测,若中断写入单位存储块为汽车电子控制单元的闪存中的首个单位存储块,则将整个车载程序文件下载至汽车电子控制单元的闪存中的单位存储块。
若中断写入单位存储块布置汽车电子控制单元的闪存中的首个存储块,则将与中断写入单位存储块对应的车载程序文件的数据部分以及之后的数据部分分别对应写入中断写入单位存储块以及中断写入单位存储块之后的单位存储块。
图4为本发明又一实施例中汽车电子控制单元的程序文件下载方法的流程图。图4与图1的不同之处在于,图4所示的汽车电子控制单元的程序文件下载方法还可包括步骤107至步骤110。
在步骤107中,在将车载程序文件下载至汽车电子控制单元中的过程中,回读下载至汽车电子控制单元中的车载程序文件。
其中,车载程序文件包括循环冗余校验码(Cyclic Redundancy Check,CRC)。车载程序文件包括的循环冗余校验码是传输前的车载程序文件的循环冗余校验码。比如,可将循环冗余校验码放置在车载程序文件的头信息中。在下载车载程序文件的过程中,循环冗余校验码可下载至汽车电子控制单元的闪存中的首个单位存储块中。
循环冗余校验码主要用来检测或校验数据传输或者保存后可能出现的错误。为了避免下载得到的车载程序文件不完整或不准确,可对下载得到的车载程序文件进行循环冗余校验。
在步骤108中,根据回读得到的下载至汽车电子控制单元中的车载程序文件,生成校验用循环冗余校验码。
在车载程序文件下载至汽车电子控制单元的闪存的存储块的过程中,不断将下载得到的车载程序文件的数据回读,根据回读的车载程序文件,计算得到回读的车载程序文件的循环冗余校验码,即校验用循环校验码。
在步骤109中,若校验用循环冗余校验码与车载程序文件中包括的循环冗余校验码不一致,则重新下载车载程序文件。
若校验用循环冗余校验码与车载程序文件中包括的循环冗余校验码不一致,表示下载得到的车载程序文件与未传输前的车载程序文件不一致。也就是说,下载得到的车载程序文件是不完整和/或不准确的。
若确定下载得到的车载程序文件是不完整和/或不准确的,则需要重新下载车载程序文件至汽车电子控制单元的闪存中的单位存储块。而且,不将下载得到的车载程序文件写入汽车电子控制单元的闪存中的程序运行区。还可直接删除不完整和/或不准确的下载得到的车载程序文件。
在步骤110中,若校验用循环冗余校验码与车载程序文件中包括的循环冗余校验码一致,则将程序下载区中下载的车载程序文件写入汽车电子控制单元的闪存中的程序运行区。
若校验用循环冗余校验码与车载程序文件中包括的循环冗余校验码一致,表示下载得到的车载程序文件与未传输前的车载程序文件一致。也就是说,下载得到的车载程序文件是完整且准确。
汽车电子控制单元的闪存可包括程序下载区和程序运行区,程序下载区与程序运行区是相互独立的两个区域。其中,程序运行区运行当前汽车使用的程序文件。若确定下载得到的车载程序文件是完整、准确的,则可将下载得到的车载程序文件写入程序运行区。
在一个示例中,若车载程序文件为更新程序文件等需要占用已经写入程序文件的程序运行区的部分。则可将程序运行区中运行的程序文件擦除,再将下载得到的车载程序文件写入程序运行区。可在汽车需要运行下载得到的车载程序文件时,在程序运行区运行下载得到的车载程序文件。
在本发明实施例中,若下载得到的车载程序文件完整且准确,将下载得到的车载程序文件投入使用,使下载得到的车载程序文件在汽车中运行。避免将不完整和/或不准确的车载程序文件在汽车中运行,避免了汽车由于错误的车载程序文件运行产生的风险,从而提高了汽车控制的安全性。
图5为本发明再一实施例中汽车电子控制单元的程序文件下载方法的流程图。图5与图1的不同之处在于,图5所示的汽车电子控制单元的程序文件下载方法还可包括步骤111至步骤114。
在步骤111中,设置下载状态标识位。
下载状态标识位可表示车载程序文件的下载状态。可以利用下载状态标识位上不同的标识来区分车载程序文件的下载状态。在一个示例中,车载程序文件的下载状态可包括正在下载状态和下载完毕状态。车载状态标识位上的标识可为数字、字母、特殊字符等字符,或为一种字符组成的字符串,或为多种字符组成的字符串,在此并不限定。比如,若下载状态标识位上的标识为0,则表示处于正在下载状态;若下载状态标识位上的标识为1,则标识处于下载完毕状态。
在步骤112中,若下载状态标识位为第一标识,则将程序下载区中下载的车载程序文件写入汽车电子控制单元的闪存中的程序运行区。
若下载状态标识位为第一标识,表示车载程序文件已下载完毕。可以将下载得到的车载程序文件写入到汽车电子控制单元的闪存中的程序运行区。
在一个示例中,若车载程序文件为更新程序文件等需要占用已经写入程序文件的程序运行区的部分,则可擦除程序运行区中的程序文件,再将车载程序文件写入程序运行区。
在步骤113中,若下载状态标识位为第二标识,则发送表示程序下载区中的车载程序文件下载成功的提示消息。
若下载状态标识位为第二标识,表示车载程序文件下载成功。但并不立刻将程序下载区中的车载程序文件写入程序运行区。而是发出提示用户的提示消息。
在一个示例中,本发明实施例中的第二标识与上述实施例中的第一标识可以相同也可以不同。
在一个示例中,还可设置第三标识、第四标识等来表示其他下载状态,以及联动产生其他控制流程。
提示消息可以是图像或文字的显示,也可以为语音内容,在此并不限定。
在步骤114中,接收用户发送的控制指令,根据控制指令,确定是否将程序下载区中下载的车载程序文件写入程序运行区。
在用户查看或收听到提示消息后,可发出控制指令,汽车电子控制单元的程序文件下载装置接收该控制指令。控制指令指示是否将程序下载区中下载的车载程序文件写入程序运行区。若控制指令指示将程序下载区中下载的车载程序文件写入程序运行区,则将程序下载区中下载的车载程序文件写入程序运行区。若控制指令指示不将程序下载区中下载的车载程序文件写入程序运行区,则不将程序下载区中下载的车载程序文件写入程序运行区。
比如,车载程序文件为更新程序文件。当将更新程序文件成功下载至程序下载区时,可发出提示消息“更新程序文件已下载成功,请问是否立刻进行更新”。用户发出表示“立刻更新”或“暂时不更新”的控制指令。汽车电子控制单元的程序文件下载装置接收该控制指令。若控制指令表示“立刻更新”,则将程序下载区中下载的车载程序文件写入程序运行区。若控制指令表示“暂时不更新”,则不将程序下载区中下载的车载程序文件写入程序运行区。
图6为本发明一实施例中一种汽车电子控制单元的程序文件下载装置200的结构示意图。如图6所示,汽车电子控制单元的程序文件下载装置200包括映射获取模块201、下载模块202、中断获取模块203和查找模块204。
映射获取模块201,被配置为获取车载程序文件与汽车电子控制单元的闪存中的单位存储块的映射关系。
下载模块202,被配置为下载车载程序文件至汽车电子控制单元的闪存中的单位存储块。
中断获取模块203,被配置为获取中断写入单位存储块,中断写入单位存储块为车载程序文件下载过程中断时正被写入的单位存储块。
查找模块204,被配置为基于中断写入单位存储块以及映射关系,得到车载程序文件中需要继续下载的数据部分。
下载模块202,还配置为将车载程序文件中需要继续下载的数据部分下载至汽车电子控制单元的闪存中的单位存储块。
在本发明实施例中,可以将车载程序文件下载过程中未有效下载至汽车电子控制单元中的车载程序文件的数据部分,重新下载至汽车电子控制单元。从而避免在下载车载程序文件发生中断,而进行整个车载程序文件的下载刷写流程。进而减少中断情况下的车载程序文件下载所花费的时间。
图7为本发明另一实施例中一种汽车电子控制单元的程序文件下载装置200的结构示意图。图7与图6的不同之处在于,图6中的下载模块202可包括图7中的擦除子模块2021和写入子模块2022。图7所示的汽车电子控制单元的程序文件下载装置200还可包括记录模块205。
擦除子模块2021,被配置为对中断写入单位存储块进行擦除。
写入子模块2022,被配置为将车载程序文件中需要继续下载的数据部分下载至中断写入单位存储块以及中断写入单位存储块之后的单位存储块。
记录模块205,被配置为在将车载程序文件下载至汽车电子控制单元的闪存中的单位存储块时,记录已写入单位存储块。
上述下载模块202还可被配置为:当中断写入单位存储块为汽车电子控制单元的闪存中的首个单位存储块时,将整个车载程序文件下载至汽车电子控制单元的闪存中的单位存储块。
在一个示例中,映射关系包括车载程序文件的各个数据部分与汽车电子控制单元的闪存中的各个单位存储块的起始地址的对应关系。
在一个示例中,上述实施例中的查找模块204可具体被配置为基于中断写入单位存储块,在映射关系中查找与中断写入单位存储块的起始地址对应的车载程序文件的数据部分;将与中断写入单位存储块的起始地址对应的车载程序文件的数据部分及之后的数据部分,作为车载程序文件中需要继续下载的数据部分。
在一个示例中,上述实施例中的单位存储块位于汽车电子控制单元的闪存中的程序下载区。
图8为本发明又一实施例中一种汽车电子控制单元的程序文件下载装置200的结构示意图。图8与图6的不同之处在于,图8所示的汽车电子控制单元的程序下载装置200还可包括回读模块206、校验码生成模块207和第一写入模块208。
回读模块206,被配置为在将车载程序文件下载至汽车电子控制单元中的过程中,回读下载至汽车电子控制单元中的车载程序文件,车载程序文件包括循环冗余校验码;
校验码生成模块207,被配置为根据回读得到的下载至汽车电子控制单元的闪存中的单位存储块的车载程序文件,生成校验用循环冗余校验码;
上述下载模块202,还被配置为若校验用循环冗余校验码与车载程序文件中包括的循环冗余校验码不一致,则重新下载车载程序文件;
第一写入模块208,被配置为若校验用循环冗余校验码与车载程序文件中包括的循环冗余校验码一致,则将程序下载区中下载的车载程序文件写入汽车电子控制单元的闪存中的程序运行区。
图9为本发明又一实施例中一种汽车电子控制单元的程序文件下载装置200的结构示意图。图9与图6的不同之处在于,图9所示的汽车电子控制单元的程序下载装置200还可包括设置模块209、第二写入模块210、擦除模块211、发送模块212和接收模块213。
设置模块209,被配置为设置下载状态标识位。
第二写入模块210,被配置为若下载状态标识位为第一标识,则将程序下载区中下载的车载程序文件写入汽车电子控制单元的闪存中的程序运行区。
擦除模块211,被配置为擦除的程序运行区中的程序文件。
发送模块212,被配置为若下载状态标识位为第二标识,则发送表示程序下载区中的车载程序文件下载成功的提示消息。
接收模块213,被配置为接收用户发送的控制指令,根据控制指令,确定是否将程序下载区中下载的车载程序文件写入程序运行区。
需要明确的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。对于装置实施例而言,相关之处可以参见方法实施例的说明部分。本发明并不局限于上文所描述并在图中示出的特定步骤和结构。本领域的技术人员可以在领会本发明的精神之后,做出各种改变、修改和添加,或者改变步骤之间的顺序。并且,为了简明起见,这里省略对已知方法技术的详细描述。
以上的结构框图中所示的功能模块和功能子模块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。

Claims (17)

1.一种汽车电子控制单元的程序文件下载方法,其特征在于,包括:
获取车载程序文件与汽车电子控制单元的闪存中的单位存储块的映射关系;
下载所述车载程序文件至所述汽车电子控制单元的闪存中的单位存储块;
获取中断写入单位存储块,所述中断写入单位存储块为所述车载程序文件下载过程中断时正被写入的单位存储块;
基于所述中断写入单位存储块以及所述映射关系,得到所述车载程序文件中需要继续下载的数据部分;
将所述车载程序文件中需要继续下载的数据部分下载至所述汽车电子控制单元的闪存中的单位存储块;
所述单位存储块位于所述汽车电子控制单元的闪存中的程序下载区;
所述汽车电子控制单元的程序文件下载方法还包括:
设置下载状态标识位;
若所述下载状态标识位为第一标识,则将所述程序下载区中下载的所述车载程序文件写入所述汽车电子控制单元的闪存中的程序运行区,所述第一标识表示所述车载程序文件已下载完毕。
2.根据权利要求1所述的汽车电子控制单元的程序文件下载方法,其特征在于,所述映射关系包括所述车载程序文件的各个数据部分与所述汽车电子控制单元的闪存中的各个单位存储块的起始地址的对应关系。
3.根据权利要求2所述的汽车电子控制单元的程序文件下载方法,其特征在于,所述基于所述中断写入单位存储块以及所述映射关系,得到所述车载程序文件中需要继续下载的数据部分,包括:
基于所述中断写入单位存储块,在所述映射关系中查找与所述中断写入单位存储块的起始地址对应的所述车载程序文件的数据部分;
将与所述中断写入单位存储块的起始地址对应的所述车载程序文件的数据部分及之后的数据部分,作为所述车载程序文件中需要继续下载的数据部分。
4.根据权利要求2所述的汽车电子控制单元的程序文件下载方法,其特征在于,所述将所述车载程序文件中需要继续下载的数据部分下载至汽车电子控制单元的闪存中的单位存储块,包括:
对所述中断写入单位存储块进行擦除;
将所述车载程序文件中需要继续下载的数据部分下载至所述中断写入单位存储块以及所述中断写入单位存储块之后的单位存储块。
5.根据权利要求1所述的汽车电子控制单元的程序文件下载方法,其特征在于,所述汽车电子控制单元的程序文件下载方法还包括:
当所述中断写入单位存储块为所述汽车电子控制单元的闪存中的首个单位存储块时,将整个所述车载程序文件下载至所述汽车电子控制单元的闪存中的单位存储块。
6.根据权利要求1所述的程序文件下载方法,其特征在于,所述汽车电子控制单元的程序文件下载方法还包括:
在将所述车载程序文件下载至所述汽车电子控制单元中的过程中,回读下载至所述汽车电子控制单元中的所述车载程序文件,所述车载程序文件包括循环冗余校验码;
根据回读得到的下载至所述汽车电子控制单元的闪存中的单位存储块的所述车载程序文件,生成校验用循环冗余校验码;
若所述校验用循环冗余校验码与所述车载程序文件中包括的所述循环冗余校验码不一致,则重新下载所述车载程序文件;
若所述校验用循环冗余校验码与所述车载程序文件中包括的所述循环冗余校验码一致,则将所述程序下载区中下载的所述车载程序文件写入所述汽车电子控制单元的闪存中的程序运行区。
7.根据权利要求1所述的汽车电子控制单元的程序文件下载方法,其特征在于,在所述将所述程序下载区中下载的所述车载程序文件写入所述汽车电子控制单元的闪存中的程序运行区之前,还包括:
擦除所述的程序运行区中的程序文件。
8.根据权利要求1或7所述的汽车电子控制单元的程序文件下载方法,其特征在于,所述汽车电子控制单元的程序文件下载方法还包括:
若所述下载状态标识位为第二标识,则发送表示所述程序下载区中的所述车载程序文件下载成功的提示消息,所述第二标识表示所述车载程序文件下载成功。
9.根据权利要求8所述的汽车电子控制单元的程序文件下载方法,其特征在于,所述汽车电子控制单元的程序文件下载方法还包括:
接收用户发送的控制指令,根据所述控制指令,确定是否将所述程序下载区中下载的所述车载程序文件写入所述程序运行区。
10.根据权利要求1所述的汽车电子控制单元的程序文件下载方法,其特征在于,在所述获取所述中断写入单位存储块之前,还包括:
在将所述车载程序文件下载至所述汽车电子控制单元的闪存中的单位存储块时,记录已写入单位存储块。
11.一种汽车电子控制单元的程序文件下载装置,其特征在于,包括:
映射获取模块,被配置为获取车载程序文件与汽车电子控制单元的闪存中的单位存储块的映射关系;
下载模块,被配置为下载所述车载程序文件至所述汽车电子控制单元的闪存中的单位存储块;
中断获取模块,被配置为获取中断写入单位存储块,所述中断写入单位存储块为所述车载程序文件下载过程中断时正被写入的单位存储块;
查找模块,被配置为基于所述中断写入单位存储块以及所述映射关系,得到所述车载程序文件中需要继续下载的数据部分;
所述下载模块,还配置为将所述车载程序文件中需要继续下载的数据部分下载至所述汽车电子控制单元的闪存中的单位存储块;
所述单位存储块位于所述汽车电子控制单元的闪存中的程序下载区;
所述汽车电子控制单元的程序文件下载装置还包括:
设置模块,被配置为设置下载状态标识位;
第二写入模块,被配置为若所述下载状态标识位为第一标识,则将所述程序下载区中下载的所述车载程序文件写入所述汽车电子控制单元的闪存中的程序运行区,所述第一标识表示所述车载程序文件已下载完毕。
12.根据权利要求11所述的汽车电子控制单元的程序文件下载装置,其特征在于,所述映射关系包括所述车载程序文件的各个数据部分与所述汽车电子控制单元的闪存中的各个单位存储块的起始地址的对应关系。
13.根据权利要求12所述的汽车电子控制单元的程序文件下载装置,其特征在于,所述查找模块具体被配置为:
基于所述中断写入单位存储块,在所述映射关系中查找与所述中断写入单位存储块的起始地址对应的所述车载程序文件的数据部分;
将与所述中断写入单位存储块的起始地址对应的所述车载程序文件的数据部分及之后的数据部分,作为所述车载程序文件中需要继续下载的数据部分。
14.根据权利要求12所述的汽车电子控制单元的程序文件下载装置,其特征在于,所述下载模块包括:
擦除子模块,被配置为对所述中断写入单位存储块进行擦除;
写入子模块,被配置为将所述车载程序文件中需要继续下载的数据部分下载至所述中断写入单位存储块以及所述中断写入单位存储块之后的单位存储块。
15.根据权利要求11所述的汽车电子控制单元的程序文件下载装置,其特征在于,所述下载模块还被配置为:
当所述中断写入单位存储块为所述汽车电子控制单元的闪存中的首个单位存储块时,将整个所述车载程序文件下载至所述汽车电子控制单元的闪存中的单位存储块。
16.根据权利要求11、13或14所述的程序文件下载装置,其特征在于,
所述汽车电子控制单元的程序文件下载装置还包括:
回读模块,被配置为在将所述车载程序文件下载至所述汽车电子控制单元中的过程中,回读下载至所述汽车电子控制单元中的所述车载程序文件,所述车载程序文件包括循环冗余校验码;
校验码生成模块,被配置为根据回读得到的下载至所述汽车电子控制单元的闪存中的单位存储块的所述车载程序文件,生成校验用循环冗余校验码;
所述下载模块,还被配置为若所述校验用循环冗余校验码与所述车载程序文件中包括的所述循环冗余校验码不一致,则重新下载所述车载程序文件;
第一写入模块,被配置为若所述校验用循环冗余校验码与所述车载程序文件中包括的所述循环冗余校验码一致,则将所述程序下载区中下载的所述车载程序文件写入所述汽车电子控制单元的闪存中的程序运行区。
17.根据权利要求11所述的汽车电子控制单元的程序文件下载装置,其特征在于,所述汽车电子控制单元的程序文件下载装置还包括:
发送模块,被配置为若所述下载状态标识位为第二标识,则发送表示所述程序下载区中的所述车载程序文件下载成功的提示消息,所述第二标识表示所述车载程序文件下载成功。
CN201711466122.XA 2017-12-28 2017-12-28 汽车电子控制单元的程序文件下载方法和装置 Active CN108334282B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711466122.XA CN108334282B (zh) 2017-12-28 2017-12-28 汽车电子控制单元的程序文件下载方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711466122.XA CN108334282B (zh) 2017-12-28 2017-12-28 汽车电子控制单元的程序文件下载方法和装置

Publications (2)

Publication Number Publication Date
CN108334282A CN108334282A (zh) 2018-07-27
CN108334282B true CN108334282B (zh) 2021-07-09

Family

ID=62923876

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711466122.XA Active CN108334282B (zh) 2017-12-28 2017-12-28 汽车电子控制单元的程序文件下载方法和装置

Country Status (1)

Country Link
CN (1) CN108334282B (zh)

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1487740A (zh) * 2002-09-30 2004-04-07 北京中视联数字***有限公司 数字电视广播中的软件下载方法
CN1687899A (zh) * 2005-06-15 2005-10-26 大唐微电子技术有限公司 将应用程序动态下载到用户识别模块的方法、***及模块
CN101253468A (zh) * 2005-08-03 2008-08-27 桑迪士克股份有限公司 用于存储装置的双模式存取的方法和***
CN101546250A (zh) * 2008-03-28 2009-09-30 北京爱国者存储科技有限责任公司 实现移动存储设备断点续传的***
CN101546251A (zh) * 2008-03-28 2009-09-30 北京爱国者存储科技有限责任公司 断点续传的移动存储设备
CN101546321A (zh) * 2008-03-28 2009-09-30 北京爱国者存储科技有限责任公司 一种移动存储设备的断点续传的方法
CN103095529A (zh) * 2013-01-09 2013-05-08 华为技术有限公司 检测引擎装置、防火墙、检测网络传输文件的方法及装置
CN103812944A (zh) * 2014-02-26 2014-05-21 安徽安凯汽车股份有限公司 一种用于电动汽车ecu的远程更新***及方法
CN104281469A (zh) * 2014-08-26 2015-01-14 东风电子科技股份有限公司 实现电子控制单元程序刷写的方法及***
CN105183515A (zh) * 2015-09-02 2015-12-23 深圳一电科技有限公司 云台固件升级的方法及装置
CN105743945A (zh) * 2014-12-10 2016-07-06 广州市动景计算机科技有限公司 基于切换下载源的文件下载方法及***
CN105808285A (zh) * 2015-01-21 2016-07-27 福特全球技术公司 车辆控制更新的方法和***
CN105930193A (zh) * 2016-05-05 2016-09-07 国网重庆市电力公司电力科学研究院 一种基于操作***的电能表软件在线升级方法及***
CN106775778A (zh) * 2017-02-06 2017-05-31 山东鲁能智能技术有限公司 嵌入式程序开发中程序更新识别方法及***
CN107229493A (zh) * 2017-05-18 2017-10-03 宁德时代新能源科技股份有限公司 程序更新方法和装置
CN107291516A (zh) * 2017-07-12 2017-10-24 珠海格力电器股份有限公司 一种固件升级方法和***

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7562112B2 (en) * 2001-07-06 2009-07-14 Intel Corporation Method and apparatus for peer-to-peer services for efficient transfer of information between networks
US20110197004A1 (en) * 2010-02-05 2011-08-11 Serebrin Benjamin C Processor Configured to Virtualize Guest Local Interrupt Controller

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1487740A (zh) * 2002-09-30 2004-04-07 北京中视联数字***有限公司 数字电视广播中的软件下载方法
CN1687899A (zh) * 2005-06-15 2005-10-26 大唐微电子技术有限公司 将应用程序动态下载到用户识别模块的方法、***及模块
CN101253468A (zh) * 2005-08-03 2008-08-27 桑迪士克股份有限公司 用于存储装置的双模式存取的方法和***
CN101546250A (zh) * 2008-03-28 2009-09-30 北京爱国者存储科技有限责任公司 实现移动存储设备断点续传的***
CN101546251A (zh) * 2008-03-28 2009-09-30 北京爱国者存储科技有限责任公司 断点续传的移动存储设备
CN101546321A (zh) * 2008-03-28 2009-09-30 北京爱国者存储科技有限责任公司 一种移动存储设备的断点续传的方法
CN103095529A (zh) * 2013-01-09 2013-05-08 华为技术有限公司 检测引擎装置、防火墙、检测网络传输文件的方法及装置
CN103812944A (zh) * 2014-02-26 2014-05-21 安徽安凯汽车股份有限公司 一种用于电动汽车ecu的远程更新***及方法
CN104281469A (zh) * 2014-08-26 2015-01-14 东风电子科技股份有限公司 实现电子控制单元程序刷写的方法及***
CN105743945A (zh) * 2014-12-10 2016-07-06 广州市动景计算机科技有限公司 基于切换下载源的文件下载方法及***
CN105808285A (zh) * 2015-01-21 2016-07-27 福特全球技术公司 车辆控制更新的方法和***
CN105183515A (zh) * 2015-09-02 2015-12-23 深圳一电科技有限公司 云台固件升级的方法及装置
CN105930193A (zh) * 2016-05-05 2016-09-07 国网重庆市电力公司电力科学研究院 一种基于操作***的电能表软件在线升级方法及***
CN106775778A (zh) * 2017-02-06 2017-05-31 山东鲁能智能技术有限公司 嵌入式程序开发中程序更新识别方法及***
CN107229493A (zh) * 2017-05-18 2017-10-03 宁德时代新能源科技股份有限公司 程序更新方法和装置
CN107291516A (zh) * 2017-07-12 2017-10-24 珠海格力电器股份有限公司 一种固件升级方法和***

Also Published As

Publication number Publication date
CN108334282A (zh) 2018-07-27

Similar Documents

Publication Publication Date Title
US10162625B2 (en) Vehicle control storage methods and systems
CN108132795B (zh) 一种电子控制单元的软件更新方法及装置
US7873956B2 (en) Communication terminal and communication network for partially updating software, software update method, and software creation device and method therefor
US11027620B2 (en) Method and system for monitoring charging stations
CN112286170B (zh) 车辆ecu刷写方法、装置、设备及存储介质
JP4722194B2 (ja) 車両のための書き換えシステム
WO2019149052A1 (zh) 标识配置方法、装置及终端
CN103631609A (zh) 一种车载ecu应用程序的刷新方法及***
US20080270427A1 (en) Method and Apparatus for Configuring a Control Device, and Corresponding Control Device
EP3324299A1 (en) System and method for reprogramming ecu devices (electronic control units) in vehicles, via digital radio
US9779563B2 (en) Transfer dongle for stored vehicle information
CN110032377B (zh) 通信模块软件升级方法、***及通信模块
CN112860466B (zh) 一种车载娱乐***重启故障诊断方法和***
CN111722864A (zh) 一种ecu数据刷写方法及相关装置
CN109597634A (zh) 更新车辆ecu的方法、装置及车辆
CN114661607A (zh) 应用于车机***的埋点方法、装置、车辆及存储介质
CN107102849B (zh) 用于周期性点火开关断开的文件替换的方法和设备
CN108334282B (zh) 汽车电子控制单元的程序文件下载方法和装置
CN110795129A (zh) 一种数据刷写方法、装置和设备
JP2006113668A (ja) 故障診断装置
CN115718614A (zh) 一种分块差分升级包生成和分块差分升级方法及装置
KR101207342B1 (ko) 자동 업그레이드 기능을 갖는 차량용 디지털 운행 기록계
CN112286801B (zh) 车辆编程方法、装置、车辆故障诊断设备及介质
CN114237654A (zh) 一种ota升级方法及***
CN208255713U (zh) 基于k线的kwp2000通信协议的手持式汽车诊断仪

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220120

Address after: 352100 science and technology building, No. 2, Xingang Road, Zhangwan Town, Jiaocheng District, Ningde City, Fujian Province

Patentee after: Ningde Shidai Runzhi Software Technology Co.,Ltd.

Address before: 352100 Xingang Road, Zhangwan Town, Jiaocheng District, Ningde, Fujian 1

Patentee before: Contemporary Amperex Technology Co.,Ltd.