CN113946356A - 电子控制器程序的更新方法、装置、电子控制器 - Google Patents
电子控制器程序的更新方法、装置、电子控制器 Download PDFInfo
- Publication number
- CN113946356A CN113946356A CN202111191987.6A CN202111191987A CN113946356A CN 113946356 A CN113946356 A CN 113946356A CN 202111191987 A CN202111191987 A CN 202111191987A CN 113946356 A CN113946356 A CN 113946356A
- Authority
- CN
- China
- Prior art keywords
- program
- target
- electronic controller
- backup
- check
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R16/00—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
- B60R16/02—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1044—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management 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)
- Mechanical Engineering (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请涉及一种电子控制器程序的更新方法、装置、电子控制器和存储介质。所述方法包括:在发生对电子控制器进行上电操作和复位操作中的至少一种操作时,确定该电子控制器中当前待校验的目标入口信息。若该目标入口信息通过有效性校验,则获取目标程序。这样,能够确保目标程序的目标入口信息的有效性。若该目标程序未通过完整性校验,则获取与该目标程序对应的备份程序。若该备份程序通过完整性校验,则将电子控制器的目标程序更新为该备份程序。这样,在目标程序的完整性校验不成功时,通过将目标程序更新为有效的备份程序,能够自动恢复电子控制器的控制功能和通讯功能,从而确保汽车运行的安全性。
Description
技术领域
本申请涉及电子控制器技术领域,特别是涉及一种电子控制器程序的更新方法、装置、电子控制器和存储介质。
背景技术
随着电子控制器制造技术的发展,常常通过电子控制器(Electronic ControlUnit,ECU)来实现汽车车辆的各种功能,比如,汽车防抱死制动系统功能、安全气囊功能、及发动机管理功能等。其中,当售出汽车的电子控制器的程序出现问题时,需要对电子控制器程序进行重新更新。
然而,若电子控制器程序的更新过程中,一旦汽车的电子控制器意外断电或通讯中断,则电子控制器程序的更新过程会被中断。这样,原有的程序会被擦除,导致电子控制器的程序丢失,使得电子控制器缺少有效的程序,从而无法实现电子控制器的控制功能和通讯功能,存在无法确保汽车运行的安全性的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种电子控制器程序的更新方法、装置、电子控制器和存储介质。
一种电子控制器程序的更新方法,该方法包括:
在发生对电子控制器进行上电操作和复位操作中的至少一种操作时,确定该电子控制器中当前待校验的目标入口信息;
对该目标入口信息进行有效性校验,若该目标入口信息通过有效性校验,则基于该目标入口信息,从该电子控制器的存储区域中获取目标程序,对该目标程序进行完整性校验;
若该目标程序未通过完整性校验,则从该存储区域中获取与该目标程序对应的备份程序,并对该备份程序进行完整性校验;
若该备份程序通过完整性校验,则将电子控制器的目标程序更新为该备份程序。
一种电子控制器程序的更新装置,该装置包括:
确定模块,用于在发生对电子控制器进行上电操作和复位操作中的至少一种操作时,确定该电子控制器中当前待校验的目标入口信息;
第一校验模块,用于对该目标入口信息进行有效性校验,若该目标入口信息通过有效性校验,则基于该目标入口信息,从该电子控制器的存储区域中获取目标程序,对该目标程序进行完整性校验;
第二校验模块,用于若该目标程序未通过完整性校验,则从该存储区域中获取与该目标程序对应的备份程序,并对该备份程序进行完整性校验;
更新模块,用于若该备份程序通过完整性校验,则将电子控制器的目标程序更新为该备份程序。
一种电子控制器,包括存储器和微控制器,所述存储器存储有计算机程序,所述微控制器执行所述计算机程序时实现如上述任一电子控制器程序的更新方法。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被微控制器执行时实现如上述任一电子控制器程序的更新方法。
上述电子控制器程序的更新方法、装置、电子控制器和存储介质,在发生对电子控制器进行上电操作和复位操作中的至少一种操作时,确定该电子控制器中当前待校验的目标入口信息。对该目标入口信息进行有效性校验,若该目标入口信息通过有效性校验,则基于该目标入口信息,从该电子控制器的存储区域中获取目标程序。这样,能够确保目标程序的目标入口信息的有效性。若该目标程序未通过完整性校验,则从该存储区域中获取与该目标程序对应的备份程序,并对该备份程序进行完整性校验。若该备份程序通过完整性校验,则将电子控制器的目标程序更新为该备份程序。这样,在目标程序的完整性校验不成功时,通过将电子控制器的目标程序更新为有效的备份程序,能够自动恢复电子控制器的控制功能和通讯功能,从而确保汽车运行的安全性。
附图说明
图1为一个实施例中电子控制器程序的更新方法的应用环境图;
图2为一个实施例中电子控制器程序的更新方法的流程示意图;
图3为一个实施例中电子控制器内存区域分布情况示意图;
图4为另一个实施例中电子控制器存储区域分布情况示意图;
图5为另一个实施例中电子控制器程序的更新方法的流程示意图;
图6为一个实施例中有效性校验步骤的流程示意图;
图7为另一个实施例中有效性校验步骤的流程示意图;
图8为另一个实施例中电子控制器程序的更新方法的流程示意图;
图9为另一个实施例中电子控制器程序的更新方法的流程示意图;
图10为一个实施例中电子控制器程序的更新装置的结构框图;
图11为一个实施例中电子控制器的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的电子控制器程序的更新方法,可以应用于如图1所示的应用环境中。电子控制器102通过网络与计算机设备104进行通信。在发生计算机设备104对电子控制器102进行上电操作和复位操作中的至少一种操作时,电子控制器102确定该电子控制器中当前待校验的目标入口信息。电子控制器102对该目标入口信息进行有效性校验,若该目标入口信息通过有效性校验,则基于该目标入口信息,电子控制器102从该电子控制器的存储区域中获取目标程序,对该目标程序进行完整性校验。若该目标程序未通过完整性校验,则电子控制器102从该存储区域中获取与该目标程序对应的备份程序,并对该备份程序进行完整性校验。若该备份程序通过完整性校验,则电子控制器102将电子控制器的目标程序更新为该备份程序。其中,电子控制器102可以但不限于是交通工具或者其他的电子设备中的控制器,比如,汽车中的电子控制器。计算机设备104可以是终端或服务器。其中,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种电子控制器程序的更新方法,以该方法应用于图1中的电子控制器为例进行说明,包括以下步骤:
步骤S202,在发生对电子控制器进行上电操作和复位操作中的至少一种操作时,确定该电子控制器中当前待校验的目标入口信息。
其中,电子控制器(Electronic Control Unit,ECU)为微控制器(Microcontroller Unit,MCU)的系统,该电子控制器能够实现汽车车辆的不同功能,比如,汽车的防抱死制动系统功能、安全气囊功能、发动机管理功能等。对于汽车车辆,所有的电子控制器和传感器都连接在总线上,并通过总线进行通信。其中,电子控制器的存储分布情况如图3所示,该电子控制器的存储主要分为只读存储区域(ROM)和存储区域,该只读存储区域中包含了启动模块(Startup block,一般为电子控制器中微控制器内置的Boot ROM(启动只读存储器)模块,该模块包含了电子控制器的入口信息)。该存储区域包含了BootBlock(引导加载程序)模块、Program Version(应用程序)、Data Version(标定数据)。该应用程序(应用软件)为实现功能算法(如防抱死功能)的软件组件,该应用程序在正常操作器件处于活动状态,且可重新编程。该标定数据是控制算法所需要的控制参数,例如整定参数等,该标定数据可以根据变种汽车的需求来重新确定。该引导加载程序不实施任何控制算法,主要用于上电和其他复位时验证应用程序,并处理用于更改电子控制器中应用程序的重新编程会话。该引导加载程序在正常操作期间处于非活动状态。通常,引导加载程序在汽车的整个生命周期内不会改变,并且不可重新编程。然而,在某些情况下,引导块也可以重新编程。其中,电子控制器的程序包括应用程序和标定数据两种。
具体地,当计算机设备对电子控制器进行上电操作和复位操作中的至少一种操作时,电子控制器基于只读存储区域中的入口地址,确定该电子控制器中当前待校验的目标入口信息。
步骤S204,对该目标入口信息进行有效性校验,若该目标入口信息通过有效性校验,则基于该目标入口信息,从该电子控制器的存储区域中获取目标程序,对该目标程序进行完整性校验。
其中,有效性校验用于验证与电子控制器程序对应的入口信息的有效性。
具体地,电子控制器获取当前待校验的目标入口信息,对该目标入口信息进行有效性校验。若该目标入口信息通过有效性校验,则电子控制器基于目标入口信息,确定目标程序的起始地址和结束地址。该电子控制器基于目标程序的起始地址和结束地址,从该电子控制器的存储区域程序中获取目标程序。电子控制器基于该目标程序,对该目标程序进行完整性校验。
在其中一个实施例中,电子控制器从只读存储区域中获取当前待校验的目标入口信息,基于该目标入口信息,对该目标入口信息进有效性校验。若该目标入口信息通过有效性校验,则电子控制器基于存储区域确定目标应用程序存储片段。电子控制器基于该目标应用程序存储片段中头部区域存储的目标应用头部校验文件,对该目标应用头部校验文件进行校验。若该目标应用头部校验文件通过校验,则电子控制器基于目标应用程序存储片段中尾部区域存储的目标应用尾部校验文件,对该目标应用尾部校验文件进行校验。若该目标应用尾部校验文件通过校验,则电子控制器基于该存储区域确定目标标定数据存储片段。电子控制器基于该目标标定数据存储片段中头部区域存储的目标参数头部校验文件,对该目标参数头部校验文件进行校验。若该目标参数头部校验文件通过校验,则电子控制器基于目标标定数据存储片段中尾部区域存储的目标参数尾部校验文件,对该目标参数尾部校验文件进行校验。若该目标参数尾部校验文件通过校验,则电子控制器确定该目标程序通过完整性校验。
其中,对于目标应用头部校验文件、目标应用尾部校验文件、目标参数头部校验文件以及目标参数尾部校验文件,每个校验文件的校验均基于地址校验、ECC(Error Checkand Correct,误差校正码)校验、校验文件中第一部分的CRC(Cyclic Redundancy Check,循环冗余校验)校验、模式代码校验、校验文件中第二部分的CRC校验、以及兼容性校验,确定各个校验文件的校验结果。其中,目标应用头部校验文件中的第一部分和第二部分,分别对应在第一存储片段(即目标应用程序存储片段)中的头部区域和中部区域;该目标应用尾部校验文件中的第一部分和第二部分,分别对应第一存储片段中的尾部区域和中部区域;该目标参数头部校验文件中的第一部分和第二部分,分别对应第二存储片段(即目标标定数据存储片段)中的头部区域和中部区域;该目标参数尾部校验文件中的第一部分、第二部分,分别对应第二存储片段中尾部区域和中部区域。步骤S206,若该目标程序未通过完整性校验,则从该存储区域中获取与该目标程序对应的备份程序,并对该备份程序进行完整性校验。
其中,备份程序为目标程序的复制版本。该电子控制器中的存储区域具体分布如图4所示。图中DS Backup为标定数据的备份数据,ASW Backup为应用程序的备份程序,Bootloader Backup为备份引导加载程序。DS(Data Version)为标定数据,ASW(ProgramVersion)为应用程序,Bootloader为引导加载程序。
具体地,若该目标程序未通过完整性校验,则电子控制器基于该存储区域,从该存储区域中的备份程序地址,获取与该目标程序对应的备份程序。该电子控制器中对该备份程序进行完整性校验。
其中,当该目标程序更新过程中,电子控制器被意外断电或通讯中断,则该目标程序更新中断,则该目标程序的完整性校验结果为目标程序未通过完整性校验。此外,当错误版本的应用程序或者错误版本的标定数据刷入电子控制器时,则该目标程序的完整性校验结果为目标程序未通过完整性校验。
在其中一个实施例中,若该目标应用头部校验文件未通过校验、或该目标应用尾部校验文件未通过校验、或该目标参数头部校验文件未通过校验、或该目标参数尾部校验文件未通过校验,则该目标程序未通过完整性校验。该电子控制器基于存储区域确定备份应用程序存储片段,并基于该备份程序存储片段中头部区域存储的备份应用头部校验文件,对该备份应用头部校验文件进行校验。若该备份应用头部校验文件通过校验,则电子控制器基于备份应用程序存储片段中尾部区域存储的备份应用尾部校验文件,对该备份应用尾部校验文件进行校验。若该备份应用尾部校验文件通过校验,则电子控制器基于该存储区域确定备份标定数据存储片段。电子控制器基于该备份标定数据存储片段中头部区域存储的备份参数头部校验文件,对该备份参数头部校验文件进行校验。若该备份参头部校验文件通过校验,则电子控制器基于备份标定数据存储片段中尾部区域存储的备份参数尾部校验文件,对该备份参数尾部校验文件进行校验。若该备份参数尾部校验文件通过校验,则电子控制器确定该备份程序通过完整性校验。
其中,对于备份应用头部校验文件、备份应用尾部校验文件、备份参数头部校验文件以及备份参数尾部校验文件,每个校验文件的校验均基于地址校验、ECC(Error Checkand Correct,误差校正码)校验、校验文件中第一部分的CRC(Cyclic Redundancy Check,循环冗余校验)校验、模式代码校验、校验文件中第二部分的CRC校验、以及兼容性校验,确定各个校验文件的校验结果。其中,备份应用头部校验文件中的第一部分和第二部分,分别对应在第一存储片段(即备份应用程序存储片段)中的头部区域和中部区域;该备份应用尾部校验文件中的第一部分和第二部分,分别对应第一存储片段中的尾部区域和中部区域;该备份参数头部校验文件中的第一部分和第二部分,分别对应第二存储片段(即备份标定数据存储片段)中的头部区域和中部区域;该备份参数尾部校验文件中的第一部分、第二部分,分别对应第二存储片段中尾部区域和中部区域。
步骤S208,若该备份程序通过完整性校验,则将电子控制器的目标程序更新为该备份程序。
具体地,若该备份程序通过完整性校验,则电子控制器将电子控制器的目标程序更新为该备份程序。其中,目标程序中的目标应用程序更新为该备份程序中的备份应用程序,目标程序中的标定数据更新为该备份程序中的备份标定数据。
上述电子控制器程序的更新方法中,在发生对电子控制器进行上电操作和复位操作中的至少一种操作时,确定该电子控制器中当前待校验的目标入口信息。对该目标入口信息进行有效性校验,若该目标入口信息通过有效性校验,则基于该目标入口信息,从该电子控制器的存储区域中获取目标程序。这样,能够确保目标程序的目标入口信息的有效性。若该目标程序未通过完整性校验,则从该存储区域中获取与该目标程序对应的备份程序,并对该备份程序进行完整性校验。若该备份程序通过完整性校验,则将电子控制器的目标程序更新为该备份程序。这样,在目标程序的完整性校验不成功时,通过将电子控制器的目标程序更新为有效的备份程序,能够自动恢复电子控制器的控制功能和通讯功能,从而确保汽车运行的安全性。
在一个实施例中,如图5所示,当计算机设备对电子控制器进行上电操作和复位操作中的至少一种操作时,电子控制器基于只读存储区域中的入口地址,确定该电子控制器中当前待校验的目标入口信息。电子控制器对该目标入口信息进行有效性校验,若该目标入口信息未通过有效性校验,则电子控制器基于只读存储区域中的下一入口地址,确定下一入口信息的有效,并对下一入口信息的有效性进行校验。若该目标入口信息通过有效性校验,则电子控制器跳转至目标引导程序中,并基于该电子控制器的存储区域,从该存储区域中的程序地址获取目标程序。电子控制器对该目标程序进行完整性校验,基于该目标程序的完整性校验的结果,判断目标程序中的目标应用程序以及目标标定数据是否有效。若目标程序通过完整性校验,则确定目标应用程序以及目标标定数据均有效,则电子控制器跳转到该目标应用程序,并运行该目标应用程序。若目标程序未通过完整性校验,则电子控制器基于该存储区域,从该存储区域中的备份程序地址,获取与该目标程序对应的备份程序,并对该备份程序进行完整性校验。基于该备份程序的完整性结果,判断备份程序中的备份应用程序以及备份标定数据是否有效。若备份程序未通过完整性校验,则停留在引导程序,等待更新。若备份程序通过完整性校验,则确定备份应用程序以及备份标定数据均有效,则将电子控制器的目标程序更新为该备份程序。其中,目标程序中的目标应用程序更新为该备份程序中的备份应用程序,目标程序中的标定数据更新为该备份程序中的备份标定数据。
在本实施例中,通过判断目标程序对应的入口信息是否有效,当入口信息有效,则对该目标程序进行完整性校验,若该目标程序完整性校验结果未通过,则对备份程序进行完整性校验,若该备份程序通过完整性校验,则将自动将目标程序更新为备份程序。这样,能够确保在目标程序完整性缺失的情况下,汽车能够通过备份程序正常运行,从而,确保了汽车运行的安全性。
在一个实施例中,如图6所示,该对该目标入口信息进行有效性校验,包括:
步骤S602,从该目标入口信息中获取身份验证码,并基于该身份验证码进行身份判定,得到身份判定的结果。
其中,目标入口信息放置在只读存储区域中的入口地址,具体入口地址的信息,如下表1所示:
表1入口地址详情表
具体地,电子控制器基于只读存储区域中的入口地址,确定该电子控制器中的当前待校验的目标入口信息。电子控制器从该目标入口信息中获取身份验证码,并基于该身份验证码进行身份判定,得到身份判定的结果。
例如,电子控制器基于只读存储区域中的入口地址,确定该电子控制器中的当前待校验的目标入口信息。电子控制器从该目标入口信息获取身份校验码,并将该身份校验码与参考身份校验码进行比较。基于比较结果,确定身份判定的结果。
步骤S604,若该身份判定的结果为通过身份判定,则基于第一校验方式对该目标入口信息进行校验,得到第一校验结果。
具体地,若该身份校验码与参考身份校验码一致,则该身份判定的结果为通过身份判定。电子控制器基于第一校验算法对该目标入口信息进行多项式校验,得到第一校验结果。
其中,该第一校验算法可以是CRC(Cyclic Redundancy Check,循环冗余校验)算法,该校验算法是一种根据网络数据包或计算机文件等数据产生简短固定位数校验码的一种信道编码技术,主要用于检测或校验数据传输或者保存后可能出现的错误。
步骤S606,若该第一校验结果与该目标入口信息对应的第一参考结果一致,则读取与该目标入口信息对应的硬件寄存器的状态标志,并基于该状态标志,确定状态标志位。
具体地,电子控制器获取第一校验结果与该目标入口信息对应的第一参考结果,若该第一校验结果与第一参考结果一致,则电子控制器读取与目标入口信息对应的硬件寄存器的状态标志,并基于该状态标志,确定状态标志位。
其中,该状态标志位可以用字符1表征该电子控制器中待加载的程序属于源程序类型,该状态标志位可以用字符0表征该电子控制器中待加载的程序属于备用程序类型。
步骤S608,若该状态标志位表征该电子控制器中待加载的程序属于源程序类型,则基于该目标入口信息,从该电子控制器的存储区域中获取目标程序。
其中,该源程序类型对应为电子控制器的目标程序。
具体地,若该状态标志为表征该电子控制器中待加载的程序属于源程序类型,则电子控制器获取该目标入口信息,并基于该目标入口信息确定目标程序的程序地址。电子控制器从存储区域中的程序地址中,获取目标程序。
步骤S610,基于第二校验方式对该目标程序进行校验,得到第二校验结果。
具体地,基于第二校验算法,电子控制器对该目标程序进行多项式校验,得到第二校验结果。
其中,该第二校验算法可以是CRC(Cyclic Redundancy Check,循环冗余校验)算法,该校验算法是一种根据网络数据包或计算机文件等数据产生简短固定位数校验码的一种信道编码技术,主要用于检测或校验数据传输或者保存后可能出现的错误。
步骤S612,若该第二校验结果与该目标程序对应的第二参考结果一致,则确定该目标入口信息通过有效性校验。
具体地,电子控制器获取第二校验结果与该目标入口信息对应的第二参考结果,若该第一校验结果与第二参考结果一致,则电子控制器确定该目标入口信息通过有效性校验。
在本实施例中,从该目标入口信息中获取身份验证码,并基于该身份验证码进行身份判定,得到身份判定的结果。若该身份判定的结果为通过身份判定,则基于第一校验方式对该目标入口信息进行校验,得到第一校验结果。若该第一校验结果与该目标入口信息对应的第一参考结果一致,则读取与该目标入口信息对应的硬件寄存器的状态标志,并基于该状态标志,确定状态标志位。若该状态标志位表征该电子控制器中待加载的程序属于源程序类型,则基于该目标入口信息,从该电子控制器的存储区域中获取目标程序。基于第二校验算法,电子控制器对该目标程序进行多项式校验,得到第二校验结果。若该第二校验结果与该目标程序对应的第二参考结果一致,则确定该目标入口信息通过有效性校验。这样,在确定电子控制器是否通过目标程序运行之前,首先通过对与目标程序对应的目标入口信息进行有效性校验,确保目标入口信息的有效性。此外,基于该目标入口信息的有效性校验,有利于后续确定电子控制器正常运行时的程序。
在一个实施例中,该方法还包括:若该身份判定的结果为未通过身份判定,则确定该目标入口信息未通过有效性校验。若该第一校验结果与该目标入口信息对应的第一参考结果不一致,则确定该目标入口信息未通过有效性校验。若该状态标志位表征该电子控制器中待加载的程序不属于源程序类型,则确定该目标入口信息未通过有效性校验。若所第二校验结果与该目标程序对应的第二参考结果不一致,则确定该目标入口信息未通过有效性校验。
具体地,电子控制器通过将身份校验码与参考校验码进行比较,确定该身份判定结果。若该身份判定的结果为未通过身份判定,则电子控制器确定该目标入口信息未通过有效性校验。若该身份判定的结果为通过身份判定,则电子控制器对目标入口信息进行第一CRC算法校验,得到第一校验结果。若该第一校验结果与该目标入口信息对应的第一参考结果不一致,则确定该目标入口信息未通过有效性校验。若该第一校验结果与第一参考结果一致,则电子控制器读取与该目标入口信息对应的硬件寄存器的状态标志,基于该状态标志确定状态标志位。若该状态标志位表征该电子控制器中待加载的程序不属于源程序类型,则确定该目标入口信息未通过有效性校验。若该状态标志位表征该电子控制器中待加载的程序属于源程序类型,则电子控制器对目标程序进行第二CRC算法校验,得到第二校验结果。若第二校验结果与该目标程序对应的第二参考结果不一致,则确定该目标入口信息未通过校验。
在本实施例中,在进行有效性校验的过程中,若存在未通过身份判定、该第一校验结果与第一参考结果不一致、该状态标志位表征该电子控制器中待加载的程序不属于源程序类型、第二校验结果与第二参考结果不一致中的至少一种情况时,能够直接确定该目标入口信息未通过有效性校验。因此,基于该目标入口信息的有效性校验的结果,能够直接确定后续进行完整性校验的程序,从而确定能够使得电子控制器正常运行的程序。
为了更加清楚的了解有效性校验的过程,提供一个更为详细的实施例进行描述。如图7所示,电子控制器基于只读存储区域中的入口地址,确定该电子控制器中的当前待校验的目标入口信息。电子控制器从该目标入口信息中获取身份验证码,并基于该身份验证码进行身份判定,得到身份判定的结果。若该身份校验码与参考身份校验码不一致,则该身份判定的结果为未通过身份判定,则确定该目标入口信息未通过有效性校验。若该身份校验码与参考身份校验码一致,则该身份判定的结果为通过身份判定。电子控制器基于第一校验算法对该目标入口信息进行多项式校验,得到第一校验结果。电子控制器获取第一校验结果与该目标入口信息对应的第一参考结果,若该第一校验结果与第一参考结果一致,则确定该目标入口信息未通过有效性校验。若该第一校验结果与第一参考结果一致,则电子控制器读取与目标入口信息对应的硬件寄存器的状态标志,并基于该状态标志,确定状态标志位。若该状态标志为表征该电子控制器中待加载的程序不属于源程序类型,则确定该目标入口信息未通过有效性校验。若该状态标志为表征该电子控制器中待加载的程序属于源程序类型,则电子控制器获取该目标入口信息,并基于该目标入口信息确定目标程序的程序地址。电子控制器从存储区域中的程序地址中,获取目标程序。基于第二校验算法,电子控制器对该目标程序进行多项式校验,得到第二校验结果。电子控制器获取第二校验结果与该目标入口信息对应的第二参考结果,若该第一校验结果与第二参考结果不一致,则确定该目标入口信息未通过有效性校验。若该第一校验结果与第二参考结果一致,则电子控制器确定该目标入口信息通过有效性校验。
在本实施例中,通过对该目标入口信息进行有效性校验,能够确保目标入口信息的有效性。此外,基于该目标入口信息的有效性校验,有利于后续确定电子控制器正常运行时的程序。
在一个实施例中,该方法还包括:若该目标入口信息未通过有效性校验,则确定该电子控制器中当前待校验的备份入口信息。对该备份入口信息进行有效性校验,若该备份入口信息通过有效性校验,则基于该备份入口信息,从该电子控制器的存储区域中获取备份程序,并对该备份程序进行完整性校验。若该备份程序通过完整性校验,则将电子控制器的程序更新为该备份程序。
其中,有效性校验用于验证与电子控制器程序对应的入口信息的有效性。
具体地,若该目标入口信息未通过有效性校验,则电子控制器确定当前待校验的备份入口信息。电子控制器对该备份入口信息进行有效性校验。若该备份入口信息通过有效性校验,则基于该备份入口信息,确定备份程序的起始地址和结束地址。该电子控制器基于备份程序的起始地址和结束地址,从该电子控制器的存储区域中获取备份程序,并对该备份程序进行完整性校验。若该备份程序通过完整性校验,则将电子控制器的程序更新为该备份程序。
在其中一个实施例中,该备份程序进行完整性校验的过程,具体如下:基于存储区域确定备份应用程序存储片段。电子控制器基于该备份应用程序存储片段中头部区域存储的备份应用头部校验文件,对该备份应用头部校验文件进行校验。若该备份应用头部校验文件通过校验,则电子控制器基于备份应用程序存储片段中尾部区域存储的备份应用尾部校验文件,对该备份应用尾部校验文件进行校验。若该备份应用尾部校验文件通过校验,则电子控制器基于该存储区域确定备份标定数据存储片段。电子控制器基于该备份标定数据存储片段中头部区域存储的备份参数头部校验文件,对该备份参数头部校验文件进行校验。若该备份参数头部校验文件通过校验,则电子控制器基于备份标定数据存储片段中尾部区域存储的备份参数尾部校验文件,对该备份参数尾部校验文件进行校验。若该备份参数尾部校验文件通过校验,则电子控制器确定该备份程序通过完整性校验。
在本实施例中,当目标入口信息未通过有效性校验时,直接获取与目标程序对应的备份程序,并通过对备份程序进行完整性校验,以确保备份程序的完整性。然后,通过将电子控制器的程序更新为该备份程序。这样,在目标程序缺失完整性时,电子控制器能够通过完整的备份程序实现相关功能,从而,能够确保汽车的正常且安全的运行。
在一个实施例中,该方法还包括:若该备份程序未通过完整性校验,则保持复位状态,以指示维修人员对该电子控制器进行返厂维修。
具体地,若该备份程序未通过完整性校验,则电子控制器保持复位状态,并基于该复位状态,指示维修人员对该电子控制器进行返厂维修。
在本实施例中,若该备份程序未通过完整性校验,则保持复位状态,以指示维修人员对该电子控制器进行返厂维修。这样,能够确保及时对无法更新的电子控制器进行维修,从而避免对无法更新的电子控制器进行使用,进而确保驾驶汽车人员的安全性。
在一个实施例中,该方法还包括:若接收到更新指令,则读取与该目标入口信息对应的硬件寄存器的状态标志,并基于该状态标志,确定状态标志位。若该状态标志位表征该电子控制器中待加载的程序属于源程序类型,则基于该更新指令,对备份程序进行更新,得到更新后的备份程序,并对该更新后的备份程序进行完整性校验。若该更新后的备份程序通过完整性校验,则基于更新指令对该目标程序进行更新,得到更新后的目标程序,并对该更新后的目标程序进行完整性校验。若该更新后的目标程序通过完整性校验,则确定更新完成,并触发复位操作。
具体地,若接收到更新指令,则电子控制器读取与该目标入口信息对应的硬件寄存器的状态标志,并基于该状态标志,确定状态标志位。若该状态标志位表征该电子控制器中待加载的程序属于源程序类型,则电子控制器基于该更新指令,对备份程序中的备份应用程序进行更新,得到更新后的备份应用程序,并且对备份程序中的备份标定数据进行更新,得到更新后的备份标定数据。基于该更新后的备份应用程序和更新后的备份标定数据,确定更新后的备份程序。该电子控制器分别基于与更新后的备份程序对应的备份应用头部校验文件、备份应用尾部校验文件、备份参数头部校验文件、备份参数尾部校验文件,进行完整性校验。若该更新后的备份程序通过完整性校验,则电子控制器基于更新指令对该目标程序中的目标应用程序进行更新,得到更新后的目标应用程序,并且对该目标程序中的目标标定数据进行更新,得到更新后的目标标定数据。基于更新后的目标应用程序和更新后的目标标定数据,确定更新后的目标程序。该电子控制器分别基于与更新后的目标程序对应的目标应用头部校验文件、目标应用尾部校验文件、目标参数头部校验文件、目标参数尾部校验文件,进行完整性校验。若该更新后的目标程序通过完整性校验,则确定更新完成,并触发复位操作。
在本实施例中,若接收到更新指令,则获取状态标志位。若该状态标志位表征待加载的程序属于源程序类型,先对备份程序进行更新、完整性校验,再对待加载的程序进行更新、完整性校验。这样,能够确保在待加载的程序更新失败的情况下,电子控制器通过运行有效且完整的更新后的备份程序,保障汽车安全运行。
在一个实施例中,该方法还包括:若接收到更新指令,则读取与该目标入口信息对应的硬件寄存器的状态标志,并基于该状态标志,确定状态标志位。若该状态标志位表征该电子控制器中待加载的程序属于备用程序类型,则基于该更新指令,对目标程序进行更新,得到更新后的目标程序,并对该更新后的目标程序进行完整性校验。若该更新后的目标程序通过完整性校验,则基于更新指令,对该备份程序进行更新,得到更新后的备份程序,并对该更新后的备份程序进行完整性校验。若该更新后的备份程序通过完整性校验,则确定更新完成,并触发复位操作。
具体地,若接收到更新指令,则电子控制器读取与该目标入口信息对应的硬件寄存器的状态标志,并基于该状态标志,确定状态标志位。若该状态标志位表征该电子控制器中待加载的程序属于备用程序类型,则电子控制器基于该更新指令,对该目标程序中的目标应用程序进行更新,得到更新后的目标应用程序,并且对该目标程序中的目标标定数据进行更新,得到更新后的目标标定数据。基于更新后的目标应用程序和更新后的目标标定数据,确定更新后的目标程序。该电子控制器分别基于与更新后的目标程序对应的目标应用头部校验文件、目标应用尾部校验文件、目标参数头部校验文件、目标参数尾部校验文件,进行完整性校验。若该更新后的目标程序通过完整性校验,则电子控制器基于该更新指令,对备份程序中的备份应用程序进行更新,得到更新后的备份应用程序,并且对备份程序中的备份标定数据进行更新,得到更新后的备份标定数据。基于该更新后的备份应用程序和更新后的备份标定数据,确定更新后的备份程序。该电子控制器分别基于与更新后的备份程序对应的备份应用头部校验文件、备份应用尾部校验文件、备份参数头部校验文件、备份参数尾部校验文件,进行完整性校验。若该更新后的备份程序通过完整性校验,则确定更新完成,并触发复位操作。
在本实施例中,若接收到更新指令,则获取状态标志位。若该状态标志位表征待加载的程序属于备用程序类型,先对目标程序进行更新、完整性校验,再对待加载的程序进行更新、完整性校验。这样,能够确保在待加载的程序更新失败的情况下,电子控制器通过运行有效且完整的更新后的目标程序,保障汽车安全运行。
在其中一个实施例中,如图8所示,电子控制器接收更新指令,并读取与该目标入口信息对应的硬件寄存器的状态标志。电子控制器基于该状态标志,确定状态标志位。若该状态标志位表征该电子控制器中待加载的程序属于源程序类型,则电子控制器对备份程序进行更新,并对更新后的备份程序进行完整性校验。若更新后的备份程序未通过完整性校验,则报告错误,并触发复位操作。若更新后的备份程序通过完整性校验,则对目标程序(即为待加载的程序,对应图中的当前程序)进行更新,得到更新后的目标程序,并对更新后的目标程序进行完整性校验。若该更新后的目标程序未通过完整性校验,则报告错误,并触发复位操作。若该更新后的目标程序通过完整性校验,则确定更新完成,并触发复位操作。
若该状态标志位表征该电子控制器中待加载的程序属于备用程序类型,则电子控制器对目标程序进行更新,并对更新后的目标程序进行完整性校验。若该更新后的目标程序未通过完整性校验,则报告错误,并触发复位操作。若该更新后的目标程序通过完整性校验,则对备份程序(即待加载的程序,对应图中的当前程序)进行更新,得到更新后的备份程序,并对更新后的备份程序进行完整性校验,若该更新后的备份程序未通过完整性校验,则报告错误,并触发复位操作。若该更新后的备份程序通过完整性校验,则确定更新完成,并触发复位操作。
在本实施例中,通过状态标志位确定待加载的程序的类型,若该类型对应为目标程序,则先对备份程序进行更新、完整性校验,再对目标程序进行更新、完整性校验。若该类型对应为备份程序,则先对目标程序进行更新、完整性校验,再对备份程序进行更新、完整性校验。这样,能够确保在待加载的程序更新失败的情况下,仍能够通过运行有效且完整的更新后的电子控制器程序,保障汽车安全运行。
为了便于更清楚的了解本申请的技术方案,提供一个更为详细实施例进行描述。如图9所示,基于该上位操作和复位(对应图9的RESET)操作中的至少一种操作,汽车的电子控制器(即电子控制器)初始化(Basic Initialzation Sequence),并验证程序是否需要更新或者程序是否无效(对应图9的Verity:Application Validity;ReproFlag)。若程序需要更新或者程序无效(对应图9的ReproFlag Notset;mandatory software parts arevalid),则电子控制器进入引导阶段,并判断是否接收到重编程指令,若程序不需要更新或者程序有效(对应图9的ReproFlag Notset;mandatory software parts are valid),则电子控制器基于只读存储区域中的入口地址,确定该电子控制器中当前待校验的目标入口信息。电子控制器获取当前待校验的目标入口信息,对该目标入口信息进行有效性校验。若该目标入口信息通过有效性校验,则电子控制器基于目标入口信息,确定目标程序的起始地址和结束地址。该电子控制器基于目标程序的起始地址和结束地址,从该存储区域程序中获取目标程序。电子控制器基于该目标程序,对该目标程序进行完整性校验。若该目标程序未通过完整性校验,则电子控制器基于该存储区域,从该存储区域中的备份程序地址,获取与该目标程序对应的备份程序。该电子控制器中对该备份程序进行完整性校验。若该备份程序通过完整性校验,则电子控制器将电子控制器的目标程序更新为该备份程序,并以使得电子控制器进入程序阶段(Application Phase),将电子控制器基于该备份程序进行运行。
若需要更新或者程序无效(对应图9的ReproFlag Notset;mandatory softwareparts are valid),则电子控制器进入引导阶段,并判断是否接收到重编程指令,若接收到重编程指令(Start of reprogramming phase with request Start ReprogrammingDiagnosticSession),则指示编译器进行编程模式(Bootloader ReprogrammingPhase),得到编程后的程序,并发生复位操作,
在本实施例中,在发生对电子控制器进行上电操作和复位操作中的至少一种操作时,确定该电子控制器中当前待校验的目标入口信息。对该目标入口信息进行有效性校验,若该目标入口信息通过有效性校验,则基于该目标入口信息,从该电子控制器的存储区域中获取目标程序,这样,在确保目标程序的目标入口信息正确的情况下,进一步对该目标程序进行完整性校验。若该目标程序未通过完整性校验,则从该存储区域中获取与该目标程序对应的备份程序,并对该备份程序进行完整性校验。若该备份程序通过完整性校验,则将电子控制器的目标程序更新为该备份程序。这样,在目标程序的完整性校验不成功时,通过将电子控制器的目标程序更新为有效的备份程序,能够自动恢复电子控制器的控制功能和通讯功能,从而确保汽车运行的安全性。
应该理解的是,虽然图2、以及图5至图9的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、以及图5至图9的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图10所示,提供了一种电子控制器程序的更新装置,该装置1000包括:确定模块1002、第一校验模块1004、第二校验模块1006和更新模块1008,其中:
确定模块1002,用于在发生对电子控制器进行上电操作和复位操作中的至少一种操作时,确定该电子控制器中当前待校验的目标入口信息。
第一校验模块1004,用于对该目标入口信息进行有效性校验,若该目标入口信息通过有效性校验,则基于该目标入口信息,从该电子控制器的存储区域中获取目标程序,对该目标程序进行完整性校验。
第二校验模块1006,用于若该目标程序未通过完整性校验,则从该存储区域中获取与该目标程序对应的备份程序,并对该备份程序进行完整性校验。
更新模块1008,用于若该备份程序通过完整性校验,则将电子控制器的目标程序更新为该备份程序。
在一个实施例中,该第一校验模块1004,用于从该目标入口信息中获取身份验证码,并基于该身份验证码进行身份判定,得到身份判定的结果。若该身份判定的结果为通过身份判定,则基于第一校验方式对该目标入口信息进行校验,得到第一校验结果。若该第一校验结果与该目标入口信息对应的第一参考结果一致,则读取与该目标入口信息对应的硬件寄存器的状态标志,并基于该状态标志,确定状态标志位。若该状态标志位表征该电子控制器中待加载的程序属于源程序类型,则基于该目标入口信息,从该电子控制器的存储区域中获取目标程序。基于第二校验方式对该目标程序进行校验,得到第二校验结果。若该第二校验结果与该目标程序对应的第二参考结果一致,则确定该目标入口信息通过有效性校验。
在一个实施例中,该第一校验模块1004,还用于若该身份判定的结果为未通过身份判定,则确定该目标入口信息未通过有效性校验。若该第一校验结果与该目标入口信息对应的第一参考结果不一致,则确定该目标入口信息未通过有效性校验。若该状态标志位表征该电子控制器中待加载的程序不属于源程序类型,则确定该目标入口信息未通过有效性校验。若所第二校验结果与该目标程序对应的第二参考结果不一致,则确定该目标入口信息未通过有效性校验。
在一个实施例中,该第一校验模块1004,还用于若该目标入口信息未通过有效性校验,则确定该电子控制器中当前待校验的备份入口信息。对该备份入口信息进行有效性校验,若该备份入口信息通过有效性校验,则基于该备份入口信息,从该电子控制器的存储区域中获取备份程序,并对该备份程序进行完整性校验。若该备份程序通过完整性校验,则将电子控制器的程序更新为该备份程序。
在一个实施例中,该更新模块1008,还用于若该备份程序未通过完整性校验,则保持复位状态,以指示维修人员对该电子控制器进行返厂维修。
在一个实施例中,该更新模块1008,还用于若接收到更新指令,则读取与该目标入口信息对应的硬件寄存器的状态标志,并基于该状态标志,确定状态标志位。若该状态标志位表征该电子控制器中待加载的程序属于源程序类型,则基于该更新指令,对备份程序进行更新,得到更新后的备份程序,并对该更新后的备份程序进行完整性校验。若该更新后的备份程序通过完整性校验,则基于更新指令对该目标程序进行更新,得到更新后的目标程序,并对该更新后的目标程序进行完整性校验。若该更新后的目标程序通过完整性校验,则确定更新完成,并触发复位操作。
在一个实施例中,该更新模块1008,还用于若接收到更新指令,则读取与该目标入口信息对应的硬件寄存器的状态标志,并基于该状态标志,确定状态标志位。若该状态标志位表征该电子控制器中待加载的程序属于备用程序类型,则基于该更新指令,对目标程序进行更新,得到更新后的目标程序,并对该更新后的目标程序进行完整性校验。若该更新后的目标程序通过完整性校验,则基于更新指令,对该备份程序进行更新,得到更新后的备份程序,并对该更新后的备份程序进行完整性校验。若该更新后的备份程序通过完整性校验,则确定更新完成,并触发复位操作。
关于电子控制器程序的更新装置的具体限定可以参见上文中对于电子控制器程序的更新方法的限定,在此不再赘述。上述电子控制器程序的更新装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于电子控制器中的微控制器中,也可以以软件形式存储于电子控制器中的存储器中,以便于微控制器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种电子控制器,该电子控制器可以是交通工具或者其他电子设备中的控制器,其内部结构图可以如图11所示。该电子控制器包括通过系统总线连接的微控制器、存储器和CAN网络接口。其中,该电子控制器的微控制器用于提供计算和控制能力。该电子控制器的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有嵌入式操作系统、计算机程序。该内存储器为非易失性存储介质中的嵌入式操作系统和计算机程序的运行提供环境。该电子控制器的CAN网络接口用于与外部的终端通过网络连接通信。该计算机程序被微控制器执行时以实现一种电子控制器程序的更新方法。
本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子控制器的限定,具体的电子控制器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种电子控制器,包括存储器和微控制器处理器,存储器中存储有计算机程序,该微控制器处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被微控制器处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种电子控制器程序的更新方法,其特征在于,所述方法包括:
在发生对电子控制器进行上电操作和复位操作中的至少一种操作时,确定所述电子控制器中当前待校验的目标入口信息;
对所述目标入口信息进行有效性校验,若所述目标入口信息通过有效性校验,则基于所述目标入口信息,从所述电子控制器的存储区域中获取目标程序,对所述目标程序进行完整性校验;
若所述目标程序未通过完整性校验,则从所述存储区域中获取与所述目标程序对应的备份程序,并对所述备份程序进行完整性校验;
若所述备份程序通过完整性校验,则将电子控制器的目标程序更新为所述备份程序。
2.根据权利要求1所述的方法,其特征在于,所述对所述目标入口信息进行有效性校验,包括:
从所述目标入口信息中获取身份验证码,并基于所述身份验证码进行身份判定,得到身份判定的结果;
若所述身份判定的结果为通过身份判定,则基于第一校验方式对所述目标入口信息进行校验,得到第一校验结果;
若所述第一校验结果与所述目标入口信息对应的第一参考结果一致,则读取与所述目标入口信息对应的硬件寄存器的状态标志,并基于所述状态标志,确定状态标志位;
若所述状态标志位表征所述电子控制器中待加载的程序属于源程序类型,则基于所述目标入口信息,从所述电子控制器的存储区域中获取目标程序;
基于第二校验方式对所述目标程序进行校验,得到第二校验结果;
若所述第二校验结果与所述目标程序对应的第二参考结果一致,则确定所述目标入口信息通过有效性校验。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若所述身份判定的结果为未通过身份判定,则确定所述目标入口信息未通过有效性校验;
若所述第一校验结果与所述目标入口信息对应的第一参考结果不一致,则确定所述目标入口信息未通过有效性校验;
若所述状态标志位表征所述电子控制器中待加载的程序不属于源程序类型,则确定所述目标入口信息未通过有效性校验;
若所第二校验结果与所述目标程序对应的第二参考结果不一致,则确定所述目标入口信息未通过有效性校验。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述目标入口信息未通过有效性校验,则确定所述电子控制器中当前待校验的备份入口信息;
对所述备份入口信息进行有效性校验,若所述备份入口信息通过有效性校验,则基于所述备份入口信息,从所述电子控制器的存储区域中获取备份程序,并对所述备份程序进行完整性校验;
若所述备份程序通过完整性校验,则将电子控制器的程序更新为所述备份程序。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述备份程序未通过完整性校验,则保持复位状态,以指示维修人员对所述电子控制器进行返厂维修。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述方法还包括:
若接收到更新指令,则读取与所述目标入口信息对应的硬件寄存器的状态标志,并基于所述状态标志,确定状态标志位;
若所述状态标志位表征所述电子控制器中待加载的程序属于源程序类型,则基于所述更新指令,对备份程序进行更新,得到更新后的备份程序,并对所述更新后的备份程序进行完整性校验;
若所述更新后的备份程序通过完整性校验,则基于更新指令对所述目标程序进行更新,得到更新后的目标程序,并对所述更新后的目标程序进行完整性校验;
若所述更新后的目标程序通过完整性校验,则确定更新完成,并触发复位操作。
7.根据权利要求1至5任一项所述的方法,其特征在于,所述方法还包括:
若接收到更新指令,则读取与所述目标入口信息对应的硬件寄存器的状态标志,并基于所述状态标志,确定状态标志位;
若所述状态标志位表征所述电子控制器中待加载的程序属于备用程序类型,则基于所述更新指令,对目标程序进行更新,得到更新后的目标程序,并对所述更新后的目标程序进行完整性校验;
若所述更新后的目标程序通过完整性校验,则基于更新指令,对所述备份程序进行更新,得到更新后的备份程序,并对所述更新后的备份程序进行完整性校验;
若所述更新后的备份程序通过完整性校验,则确定更新完成,并触发复位操作。
8.一种电子控制器程序的更新装置,其特征在于,所述装置包括:
确定模块,用于在发生对电子控制器进行上电操作和复位操作中的至少一种操作时,确定所述电子控制器中当前待校验的目标入口信息;
第一校验模块,用于对所述目标入口信息进行有效性校验,若所述目标入口信息通过有效性校验,则基于所述目标入口信息,从所述电子控制器的存储区域中获取目标程序,对所述目标程序进行完整性校验;
第二校验模块,用于若所述目标程序未通过完整性校验,则从所述存储区域中获取与所述目标程序对应的备份程序,并对所述备份程序进行完整性校验;
更新模块,用于若所述备份程序通过完整性校验,则将电子控制器的目标程序更新为所述备份程序。
9.一种电子控制器,包括存储器和微控制器,所述存储器存储有计算机程序,其特征在于,所述微控制器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被微控制器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111191987.6A CN113946356A (zh) | 2021-10-13 | 2021-10-13 | 电子控制器程序的更新方法、装置、电子控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111191987.6A CN113946356A (zh) | 2021-10-13 | 2021-10-13 | 电子控制器程序的更新方法、装置、电子控制器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113946356A true CN113946356A (zh) | 2022-01-18 |
Family
ID=79330279
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111191987.6A Pending CN113946356A (zh) | 2021-10-13 | 2021-10-13 | 电子控制器程序的更新方法、装置、电子控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113946356A (zh) |
-
2021
- 2021-10-13 CN CN202111191987.6A patent/CN113946356A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8972591B2 (en) | Method for downloading software | |
CN107239411B (zh) | 一种车载控制器内存管理方法及系统 | |
CN111813428A (zh) | 终端固件的升级方法、装置、电子设备及存储介质 | |
CN113110891B (zh) | 固态硬盘的固件加载方法、装置、计算机设备及存储介质 | |
KR102610730B1 (ko) | 차량의 업데이트 제공 장치 및 컴퓨터 기록 매체 | |
CN115061844A (zh) | Plc嵌入式软件的启动方法、设备和介质 | |
JP6094523B2 (ja) | プログラム書き換え方法 | |
US11169828B2 (en) | Electronic control unit and method for verifying control program | |
CN113946356A (zh) | 电子控制器程序的更新方法、装置、电子控制器 | |
US20090210613A1 (en) | Method for Programming a Controller in a Motor Vehicle | |
CN113114730B (zh) | 升级方法、装置、终端设备及存储介质 | |
US20220391192A1 (en) | Ota master, center, system, method, non-transitory storage medium, and vehicle | |
CN112925546B (zh) | 一种防止车载ecu刷新出错的多级校验方法及系统 | |
CN113672258A (zh) | 车辆的系统升级方法、装置、计算机设备和存储介质 | |
CN113935011A (zh) | 用于执行控制设备的安全启动序列的方法 | |
CN112732301A (zh) | 一种车辆升级方法和装置 | |
CN111079194A (zh) | 计算装置和用于该计算装置的运行方法 | |
JP2004021520A (ja) | 車両用電子制御装置 | |
CN113778061A (zh) | 电子控制器程序完整性的校验方法、装置、电子控制器 | |
US20230418591A1 (en) | Firmware update method of a flash bootloader in a micro controller unit for a vehicle | |
US20240160414A1 (en) | Vehicle Electronic Control Device and Program Rewriting Method | |
JPH11203115A (ja) | 制御装置 | |
CN112905218B (zh) | 一种固件升级方法、装置及设备 | |
WO2021255984A1 (ja) | 電子制御装置および制御用ソフトウェアの更新方法 | |
US20230129942A1 (en) | Method for locking a rewritable non-volatile memory and electronic device implementing said method |
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 |