CN115562737A - 电子控制单元的控制方法、装置及域控制器的控制方法 - Google Patents
电子控制单元的控制方法、装置及域控制器的控制方法 Download PDFInfo
- Publication number
- CN115562737A CN115562737A CN202211287547.5A CN202211287547A CN115562737A CN 115562737 A CN115562737 A CN 115562737A CN 202211287547 A CN202211287547 A CN 202211287547A CN 115562737 A CN115562737 A CN 115562737A
- Authority
- CN
- China
- Prior art keywords
- boot loader
- boot
- valid
- app application
- app
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4403—Processor initialisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种电子控制单元的控制方法、装置及域控制器的控制方法,电子控制单元的控制方法包括:第一引导加载程序初始化成功后,第一引导加载程序识别第二引导加载程序的重编程标志位是否有效;若否,则第一引导加载程序对第二引导加载程序进行初始化;第二引导加载程序初始化成功后,第二引导加载程序识别是否存在APP应用程序的刷新指令以及APP应用程序的重编程标志位是否有效;若均否,则第二引导加载程序对APP应用程序进行初始化,若APP应用程序初始化成功,则启动APP应用程序。本发明在确保ECU的基本引导加载功能基础上可以满足不同ECU的需求,解决了功能单一、扩展性差的问题。
Description
技术领域
本发明涉及车辆控制技术领域,尤其涉及一种电子控制单元的控制方法、装置及域控制器的控制方法。
背景技术
随着汽车架构升级,MCU内部集成的逻辑功能外设越来越多,存储器也越来越大,多核ECU逐渐成为趋势。域控制器成为汽车开发的重中之重,汽车电子ECU集成的功能日益复杂,为了应对软件远程(在线)功能升级和Bug修复的需求,对Bootloader的需求也越来越多。
汽车零部件其内部的车载电子控制单元(Electronic Control Unit,ECU)同时存在APP应用软件和Bootloader软件程序。其中APP应用软件配合对应的零部件硬件实现零部件功能。Bootloader作为ECU的引导加载程序,具备引导应用程序运行和程序自更新功能。在ECU上电或重启后,通过综合重编程标志位和应用程序有效标志位来决定接下来ECU是运行在引导加载程序还是运行在APP应用程序,并在ECU运行在引导加载程序时通过车载通讯总线与上位机进行通讯,从而获取更新指令和数据包,从而对APP应用程序进行升级。
但是,传统的Bootloader软件程序是出厂前烧录到ECU芯片上的,其功能单一,扩展性较差,无法满足不同功能ECU的多样化需求。
发明内容
鉴于上述,本发明旨在提供一种电子控制单元的控制方法、装置及域控制器的控制方法,在通用的第一引导加载程序基础上增加了可以个性化定制的第二引导加载程序,在确保ECU的基本引导加载功能基础上可以满足不同ECU的需求,解决了功能单一、扩展性差的问题。
本发明采用的技术方案如下:
第一方面,本发明提供了一种电子控制单元的控制方法,包括:
电子控制单元上电后,识别第一引导加载程序的重编程标志位是否有效;
若否,则对第一引导加载程序进行初始化;
第一引导加载程序初始化成功后,第一引导加载程序识别第二引导加载程序的重编程标志位是否有效;
若否,则第一引导加载程序对第二引导加载程序进行初始化;
第二引导加载程序初始化成功后,第二引导加载程序识别是否存在APP应用程序的刷新指令以及APP应用程序的重编程标志位是否有效;
若均否,则第二引导加载程序对APP应用程序进行初始化,若APP应用程序初始化成功,则启动APP应用程序;
其中,第一引导加载程序为通用程序,第二引导加载程序为与电子控制单元对应的定制程序。
在其中一种可能的实现方式中,电子控制单元的控制方法还包括:
第二引导加载程序对APP应用程序进行诊断,并将诊断结果写入非易失性存储器中。
在其中一种可能的实现方式中,若第一引导加载程序的重编程标志位有效,则更新第一引导加载程序;
若第二引导加载程序的重编程标志位有效,则更新第二引导加载程序。
在其中一种可能的实现方式中,对第一引导加载程序进行初始化,具体包括:
识别第一引导加载程序的有效标志位是否有效;
若是,则对第一引导加载程序进行固件校验;
若第一引导加载程序的固件校验通过,则第一引导加载程序初始化成功。
在其中一种可能的实现方式中,若存在APP应用程序的刷新指令,则进入第二引导加载程序的正常模式,第二引导加载程序引导APP应用程序进行刷新操作。
在其中一种可能的实现方式中,若不存在APP应用程序的刷新指令,则识别APP应用程序的重编程标志位是否有效;
若是,则进入APP应用程序的升级模式。
在其中一种可能的实现方式中,对第二引导加载程序进行初始化,具体包括:
识别第二引导加载程序的有效标志位是否有效;
若是,则对第二引导加载程序进行固件校验;
若第二引导加载程序的固件校验不通过,则进入第一引导加载程序的正常模式。
在其中一种可能的实现方式中,若第二引导加载程序的有效标志位无效,则进入第一引导加载程序的正常模式。
在其中一种可能的实现方式中,对APP应用程序进行初始化,具体包括:
识别APP应用程序的有效标志位是否有效;
若是,则对APP应用程序进行固件校验;
若APP应用程序的固件校验不通过,则进入第二引导加载程序的正常模式。
在其中一种可能的实现方式中,若APP应用程序的有效标志位无效,则进入第二引导加载程序的正常模式。
在其中一种可能的实现方式中,第一引导加载程序和第二引导加载程序中至少一者更新成功后,第一引导加载程序备份第二引导加载程序的固件,作为第一备份固件。
在其中一种可能的实现方式中,电子控制单元复位或上电后,若第二引导加载程序的重编程标志位有效,则判断第二引导加载程序的更新是否超时;
若是,则第一引导加载程序控制第二引导加载程序回滚到第一备份固件。
在其中一种可能的实现方式中,通过本地或远程进行第二引导加载程序的更新和APP应用程序的升级。
在其中一种可能的实现方式中,APP应用程序刷新或升级成功后,第二引导加载程序备份APP应用程序的固件,作为第二备份固件;
电子控制单元复位或上电后,若存在APP应用程序的重启标志位,则第二引导加载程序控制APP应用程序回滚到第二备份固件。
第二方面,本发明提供了一种电子控制单元的控制装置,包括引导加载模块和控制模块,引导加载模块包括第一引导加载模块、第二引导加载模块和安全校验驱动;
第一引导加载模块运行第一引导加载程序,第一引导加载程序为通用程序;第二引导加载模块运行第二引导加载程序,第二引导加载程序是与电子控制单元对应的定制程序;控制模块运行APP应用程序;
安全校验驱动用于对第一引导加载程序进行初始化和更新;
第一引导加载模块用于对第二引导加载程序进行初始化和更新;
第二引导加载模块用于对APP应用程序进行初始化、刷新和升级并控制APP应用程序启动。
在其中一种可能的实现方式中,第二引导加载模块还用于对APP应用程序进行诊断,并将诊断结果写入非易失性存储器中。
在其中一种可能的实现方式中,初始化包括固件校验。
在其中一种可能的实现方式中,第一引导加载模块备份第二引导加载程序的固件,作为第一备份固件,并在第二引导加载程序更新失败后控制第二引导加载程序回滚到第一备份固件。
第三方面,本发明提供了一种域控制器的控制方法,采用先校验先释放的原则对多个电子控制单元进行分布校验,每个电子控制单元执行上述的控制方法。
第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如第一方面或者第一方面的任一可能实现方式中的所述方法。
本发明的构思在于,在通用的第一引导加载程序基础上增加了可以个性化定制的第二引导加载程序,在确保ECU的基本引导加载功能基础上可以满足不同ECU的需求,同时通过逐级对第一引导加载程序、第二引导加载程序、APP应用程序进行分布式初始化校验、分布式的逐级控制,加快了ECU的启动速度。并且,本发明可以分别对两级引导加载程序进行全面更新,提高了引导加载程序与需求的匹配度。另外,本发明可以自主对引导加载程序的固件进行校验,提高了固件的安全性;在第二引导加载程序和APP应用程序更新升级完成后,对固件进行备份,实现变砖自恢复功能。
附图说明
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步描述,其中:
图1为本发明提供的电子控制单元的控制装置的结构示意图;
图2为本发明提供的电子控制单元的控制方法的流程图;
图3为本发明提供的电子控制单元的控制设备的结构示意图。
具体实施方式
下面详细描述本发明的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本发明的构思在于,在通用的第一引导加载程序基础上增加了可以个性化定制的第二引导加载程序,在确保ECU的基本引导加载功能基础上可以满足不同ECU的需求,同时通过逐级对第一引导加载程序、第二引导加载程序、APP应用程序进行分布式初始化校验、分布式的逐级控制,加快了ECU的启动速度。并且,本发明可以分别对两级引导加载程序进行全面更新,提高了引导加载程序与需求的匹配度。另外,本发明可以自主对引导加载程序的固件进行校验,提高了固件的安全性;在第二引导加载程序和APP应用程序更新升级完成后,对固件进行备份,实现变砖自恢复功能。
针对前述核心构思,本发明提供了至少一种电子控制单元的控制装置的实施例,如图1所示,可以包括引导加载模块110和控制模块120,引导加载模块110用于运行引导加载程序(Bootloader),控制模块120用于运行APP应用程序。
在一种可能的实现方式中,引导加载模块110包括第一引导加载模块1101、第二引导加载模块1102、安全校验驱动1103以及内存编程驱动1104。
所述第一引导加载模块1101运行第一引导加载程序(boot1),第一引导加载程序为芯片平台的通用程序,该通用程序与外设硬件无关,存储于芯片内部不可擦除的存储区域。该通用程序可以同平台移植。所述第二引导加载模块1102运行第二引导加载程序(boot2),第二引导加载程序是与所述电子控制单元对应的定制程序,可以根据需要灵活定制电子控制单元的证书,该定制程序可以满足不同ECU的需求。
需要说明的是,只有第一级引导加载模块1101可以更新芯片内部的根证书。
所述安全校验驱动1103用于对所述第一引导加载模块1101运行的boot1和对所述第二引导加载模块1102运行的boot2进行安全校验,实现初始化,并用于检查刷新请求标志位是否有效。如果刷新请求标志位有效(即存在更新指令),则引导加载模块继续运行。boot1的初始化至少包括boot1的有效标志位的有效性判断和对boot1的固件进行校验。boot2的初始化至少包括boot2的有效标志位的有效性判断和对boot2的固件进行校验。
所述第一引导加载模块1101用于对所述第二引导加载模块1102运行的boot2进行更新和初始化,以解锁有效的boot2。boot2的初始化至少包括boot2的有效标志位的有效性判断和对boot2的固件进行校验。
在一种可能的实现方式中,第一引导加载模块1101可以实现boot2的本地更新和远程更新。
在一种优选的实现方式中,所述第一引导加载模块1101备份所述第二引导加载程序的固件,作为第一备份固件,并在所述第二引导加载程序更新失败后控制所述第二引导加载程序回滚到所述第一备份固件,提高防变砖能力。
第二引导加载模块1102用于对所述控制模块120运行的APP应用程序进行初始化、刷新和升级并控制所述APP应用程序启动。APP应用程序的初始化至少包括APP应用程序的有效标志位的有效性判断和对APP应用程序的固件进行校验。
第二引导加载模块1102可以实现APP应用程序的本地升级和远程升级。本地升级时由第二引导加载模块1102执行缓存和固件安全校验动作。远程升级时由控制模块120中的OTA组件实现固件缓存,再跳转到第二引导加载模块1102中对固件进行安全校验。
在一种优选的实现方式中,第二引导加载模块1102还用于对APP应用程序进行诊断,并将诊断结果写入非易失性存储器NVM中。例如,第二引导加载模块1102通过CAN诊断服务,获取硬件信息和安全解锁等,如0x85服务关闭DTC存储等,需要说明的是不同服务对应不同的诊断功能。
在一种优选的实现方式中,所述第二引导加载模块备份APP应用程序的固件,作为第二备份固件,并在所述APP应用程序更新失败或APP应用程序无法启动时通过复位控制所述APP应用程序回滚到所述第二备份固件。
内存编程驱动1104用于收到更新指令后,建立CAN通信,并查看Flash与EEPROM地址,根据通信内容将Flash或EEPROM中数据擦除或写入。
应理解以上图1所示的电子控制单元的控制装置的各个部件的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些部件可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分部件以软件通过处理元件调用的形式实现,部分部件通过硬件的形式实现。例如,某个上述模块可以为单独设立的处理元件,也可以集成在电子设备的某一个芯片中实现。其它部件的实现与之类似。此外这些部件全部或部分可以集成在一起,也可以独立实现。在实现过程中,上述方法的各步骤或以上各个部件可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些部件可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit;以下简称:ASIC),或,一个或多个微处理器(Digital Singnal Processor;以下简称:DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array;以下简称:FPGA)等。再如,这些部件可以集成在一起,以片上系统(System-On-a-Chip;以下简称:SOC)的形式实现。
相应于上述各实施例及优选方案,本发明还提供了至少一种电子控制单元的控制方法的实施例,如图2所示,具体可以包括如下步骤:
S2010:电子控制单元上电。ECU上电后,第一引导加载程序boot1检查是否存在上位机发来的更新指令,该更新指令可以是第一引导加载程序boot1、第二引导加载程序boot2以及APP应用程序中至少一者的更新指令,若存在第一引导加载程序boot1的更新指令,则第一引导加载程序boot1的重编程标志位有效。第二引导加载程序boot2和APP应用程序同理。
S2020:识别第一引导加载程序boot1的重编程标志位是否有效;若是,则执行S2130:更新第一引导加载程序boot1;否则,执行S2030。
S2030:对第一引导加载程序boot1进行初始化。
在一种可能的实现方式中,若第一引导加载程序boot1的有效标志位有效,则第一引导加载程序boot1初始化成功。
在一种优选的实现方式中,对所述第一引导加载程序boot1进行初始化,具体包括:
S20301:识别所述第一引导加载程序boot1的有效标志位是否有效。若是,则执行S20302;否则,第一引导加载程序boot1初始化不成功,执行S2140,请见下述说明。
S20302:对所述第一引导加载程序boot1进行固件校验。若固件校验通过,则第一引导加载程序boot1初始化成功;否则,第一引导加载程序boot1初始化不成功,执行S2140,请见下述说明。
S2040:判断第一引导加载程序boot1是否初始化成功。若是,则执行S2050;否则,执行S2140:退出流程。
S2050:第一引导加载程序boot1识别第二引导加载程序boot2的重编程标志位是否有效。若是,则执行S2150:更新第二引导加载程序boot2。否则,执行S2060。
S2060:第一引导加载程序boot1对第二引导加载程序boot2进行初始化。
在一种可能的实现方式中,若第二引导加载程序boot2的有效标志位有效,则第二引导加载程序boot2初始化成功。
在一种优选的实现方式中,对所述第二引导加载程序boot2进行初始化,具体包括:
S20601:识别所述第二引导加载程序boot2的有效标志位是否有效。若是,则执行S20602;否则,第二引导加载程序boot2初始化不成功,进入所述第一引导加载程序的正常模式(请见S2160)。
S20602:对所述第二引导加载程序boot2进行固件校验。若校验通过,则第二引导加载程序boot2初始化成功;否则,第二引导加载程序boot2初始化不成功,进入所述第一引导加载程序的正常模式(请见S2160)。在第一引导加载程序的正常模式下,若接收到第二引导加载程序的刷新或升级指令,则第一引导加载程序更新第二引导加载程序。
S2070:判断第二引导加载程序boot2是否初始化成功。若是,则执行S2080;否则,执行S2160:进入第一引导加载程序boot1正常模式。
S2080:第二引导加载程序boot2识别是否存在APP应用程序的刷新指令。若是,则执行S2170:进入第二引导加载程序boot2正常模式,所述第二引导加载程序boot2引导所述APP应用程序进行刷新操作;否则,执行S2090。
S2090:第二引导加载程序boot2识别所述APP应用程序的重编程标志位是否有效。若是,则执行S2180:进入APP升级模式;否则,执行S2100。
S2100:第二引导加载程序boot2对所述APP应用程序进行初始化。
在一种可能的实现方式中,若APP应用程序的有效标志位有效,则APP应用程序初始化成功。
在另一种优选的实现方式中,对所述APP应用程序进行初始化,具体包括:
S21001:识别所述APP应用程序的有效标志位是否有效。若是,则执行S21002;否则,APP应用程序初始化不成功,进入第二引导加载程序boot2正常模式,请见S2170。
S21002:对所述APP应用程序进行固件校验。若校验通过,则APP应用程序初始化成功。否则,APP应用程序初始化不成功,进入第二引导加载程序boot2正常模式,请见S2170。
S2110:判断APP应用程序是否初始化成功。若是,则执行S2120;否则,执行S2170。
S2120:跳转至APP应用程序,启动所述APP应用程序。
本发明可以分别对两级引导加载程序进行全面更新,提高了引导加载程序与需求的匹配度。并且,通过逐级对第一引导加载程序、第二引导加载程序、APP应用程序进行分布式初始化校验、分布式的逐级控制,加快了ECU的启动速度。另外,本发明可以自主对引导加载程序的固件进行校验,提高了固件的安全性。
在一种优选的实现方式中,所述第一引导加载程序boot1和所述第二引导加载程序boot2中至少一者更新成功后,所述第一引导加载程序boot1备份所述第二引导加载程序boot2的固件,作为第一备份固件。电子控制单元复位或上电后,若所述第二引导加载程序boot2的重编程标志位有效,则判断所述第二引导加载程序的更新是否超时(包括判断擦除是否超时、写入是否超时等)。若擦除超时和/或写入超时,说明升级失败,则所述第一引导加载程序boot1控制所述第二引导加载程序boot2回滚到所述第一备份固件。
现有技术中,每次上电/复位后,Bootloader首先执行一些基本的初始化,然后检查更新请求标志位是否为有效,如果更新请求标志位有效,即使应用程序是有效的,Bootloader也会继续运行。如果当前更新请求标志位无效,则检查APP应用程序是否有效,若是,则执行APP应用程序;否则继续执行Bootloader代码。但是,存在虽然APP应用程序有效,但其运行陷入异常(比如跑飞)的情况,此时APP应用程序就会执行复位(复位后APP应用程序仍然有效),然后经过Bootloader再次进入到APP应用程序运行,而应用程序会再次执行复位,进而陷入到一种死循环,在这种情况下ECU就永远无法利用Bootloader进行应用程序的更新。
基于上述考虑,在一种优选的实现方式中,APP应用程序刷新或升级成功后,所述第二引导加载程序boot2备份所述APP应用程序的固件,作为第二备份固件。所述电子控制单元复位或上电后,若存在所述APP应用程序的重启标志位(例如在电磁干扰、ECU运行时间较长等情况下,内存数据遭到更改,或进入死循环等情况导致ECU无法启动时),则所述第二引导加载程序boot2控制所述APP应用程序回滚到所述第二备份固件,保障ECU运行安全。
基于上述电子控制单元的控制方法,在一种可能的实现方式中,在具有多核ECU的域控制器中,每个ECU按照上述方法进行控制,并且采用先校验先释放的原则对多个ECU进行分布校验,保证重要的功能核先启动。
综合上述各实施例及其优选方案,本领域技术人员可以理解的是,在实际操作中,本发明适用于多种实施方式,本发明以下述载体作为示意性说明:
(1)一种电子控制单元的控制设备,其可以包括:
一个或多个处理器、存储器以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述设备执行时,使得所述设备执行前述实施例或等效实施方式的步骤/功能。
图3为本发明电子控制单元的控制设备的实施例的结构示意图,其中,该设备可以是电子设备也可以是内置于上述电子设备的电路设备。上述电子设备可以为机器人、无人机、智能(汽)车及车载设备等。本实施例对电子控制单元的控制设备的具体形式不作限定。
具体如图3所示,电子控制单元的控制设备900包括处理器910和存储器930。其中,处理器910和存储器930之间可以通过内部连接通路互相通信,传递控制和/或数据信号,该存储器930用于存储计算机程序,该处理器910用于从该存储器930中调用并运行该计算机程序。上述处理器910可以和存储器930可以合成一个处理装置,更常见的是彼此独立的部件,处理器910用于执行存储器930中存储的程序代码来实现上述功能。具体实现时,该存储器930也可以集成在处理器910中,或者,独立于处理器910。
除此之外,为了使得电子控制单元的控制设备900的功能更加完善,该设备900还可以包括输入单元960、显示单元970、音频电路980、摄像头990和传感器901等中的一个或多个,所述音频电路还可以包括扬声器982、麦克风984等。其中,显示单元970可以包括显示屏。
进一步地,上述电子控制单元的控制设备900还可以包括电源950,用于给该设备900中的各种器件或电路提供电能。
应理解,图3所示的电子控制单元的控制设备900能够实现前述实施例提供的方法的各个过程。该设备900中的各个部件的操作和/或功能,可分别为了实现上述方法实施例中的相应流程。具体可参见前文中关于方法、装置等实施例的描述,为避免重复,此处适当省略详细描述。
应理解,图3所示的电子控制单元的控制设备900中的处理器910可以是片上系统SOC,该处理器910中可以包括中央处理器(Central Processing Unit;以下简称:CPU),还可以进一步包括其他类型的处理器,例如:图像处理器(Graphics Processing Unit;以下简称:GPU)等,具体在下文中再作介绍。
总之,处理器910内部的各部分处理器或处理单元可以共同配合实现之前的方法流程,且各部分处理器或处理单元相应的软件程序可存储在存储器930中。
(2)一种可读存储介质,在可读存储介质上存储有计算机程序或上述装置,当计算机程序或上述装置被执行时,使得计算机执行前述实施例或等效实施方式的步骤/功能。
在本发明所提供的几个实施例中,任一功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的某些技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以如下所述软件产品的形式体现出来。
(3)一种计算机程序产品(该产品可以包括上述装置),该计算机程序产品在终端设备上运行时,使终端设备执行前述实施例或等效实施方式的电子控制单元的控制方法。
本发明实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示单独存在A、同时存在A和B、单独存在B的情况。其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项”及其类似表达,是指的这些项中的任意组合,包括单项或复数项的任意组合。例如,a,b和c中的至少一项可以表示:a,b,c,a和b,a和c,b和c或a和b和c,其中a,b,c可以是单个,也可以是多个。
本领域技术人员可以意识到,本说明书中公开的实施例中描述的各模块、单元及方法步骤,能够以电子硬件、计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方式来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以及,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可。尤其,对于装置、设备等实施例而言,由于其基本相似于方法实施例,所以相关之处可参见方法实施例的部分说明即可。以上所描述的装置、设备等实施例仅仅是示意性的,其中作为分离部件说明的模块、单元等可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个地方,例如系统网络的节点上。具体可根据实际的需要选择其中的部分或者全部模块、单元来实现上述实施例方案的目的。本领域技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上依据图式所示的实施例详细说明了本发明的构造、特征及作用效果,但以上仅为本发明的较佳实施例,需要言明的是,上述实施例及其优选方式所涉及的技术特征,本领域技术人员可以在不脱离、不改变本发明的设计思路以及技术效果的前提下,合理地组合搭配成多种等效方案;因此,本发明不以图面所示限定实施范围,凡是依照本发明的构想所作的改变,或修改为等同变化的等效实施例,仍未超出说明书与图示所涵盖的精神时,均应在本发明的保护范围内。
Claims (19)
1.一种电子控制单元的控制方法,其特征在于,包括:
电子控制单元上电后,识别第一引导加载程序的重编程标志位是否有效;
若否,则对所述第一引导加载程序进行初始化;
所述第一引导加载程序初始化成功后,所述第一引导加载程序识别第二引导加载程序的重编程标志位是否有效;
若否,则所述第一引导加载程序对所述第二引导加载程序进行初始化;
所述第二引导加载程序初始化成功后,所述第二引导加载程序识别是否存在APP应用程序的刷新指令以及所述APP应用程序的重编程标志位是否有效;
若均否,则所述第二引导加载程序对所述APP应用程序进行初始化,若所述APP应用程序初始化成功,则启动所述APP应用程序;
其中,所述第一引导加载程序为通用程序,所述第二引导加载程序为与所述电子控制单元对应的定制程序。
2.根据权利要求1所述的电子控制单元的控制方法,其特征在于,还包括:
所述第二引导加载程序对所述APP应用程序进行诊断,并将诊断结果写入非易失性存储器中。
3.根据权利要求1所述的电子控制单元的控制方法,其特征在于,若所述第一引导加载程序的重编程标志位有效,则更新所述第一引导加载程序;
若所述第二引导加载程序的重编程标志位有效,则更新所述第二引导加载程序。
4.根据权利要求1所述的电子控制单元的控制方法,其特征在于,对所述第一引导加载程序进行初始化,具体包括:
识别所述第一引导加载程序的有效标志位是否有效;
若是,则对所述第一引导加载程序进行固件校验;
若所述第一引导加载程序的固件校验通过,则所述第一引导加载程序初始化成功。
5.根据权利要求3所述的电子控制单元的控制方法,其特征在于,若存在APP应用程序的刷新指令,则进入所述第二引导加载程序的正常模式,所述第二引导加载程序引导所述APP应用程序进行刷新操作。
6.根据权利要求5所述的电子控制单元的控制方法,其特征在于,若不存在APP应用程序的刷新指令,则识别所述APP应用程序的重编程标志位是否有效;
若是,则进入所述APP应用程序的升级模式。
7.根据权利要求1所述的电子控制单元的控制方法,其特征在于,对所述第二引导加载程序进行初始化,具体包括:
识别所述第二引导加载程序的有效标志位是否有效;
若是,则对所述第二引导加载程序进行固件校验;
若所述第二引导加载程序的固件校验不通过,则进入所述第一引导加载程序的正常模式。
8.根据权利要求7所述的电子控制单元的控制方法,其特征在于,若所述第二引导加载程序的有效标志位无效,则进入所述第一引导加载程序的正常模式。
9.根据权利要求1所述的电子控制单元的控制方法,其特征在于,对所述APP应用程序进行初始化,具体包括:
识别所述APP应用程序的有效标志位是否有效;
若是,则对所述APP应用程序进行固件校验;
若所述APP应用程序的固件校验不通过,则进入所述第二引导加载程序的正常模式。
10.根据权利要求9所述的电子控制单元的控制方法,其特征在于,若所述APP应用程序的有效标志位无效,则进入所述第二引导加载程序的正常模式。
11.根据权利要求3所述的电子控制单元的控制方法,其特征在于,所述第一引导加载程序和所述第二引导加载程序中至少一者更新成功后,所述第一引导加载程序备份所述第二引导加载程序的固件,作为第一备份固件。
12.根据权利要求11所述的电子控制单元的控制方法,其特征在于,所述电子控制单元复位或上电后,若所述第二引导加载程序的重编程标志位有效,则判断所述第二引导加载程序的更新是否超时;
若是,则所述第一引导加载程序控制所述第二引导加载程序回滚到所述第一备份固件。
13.根据权利要求6所述的电子控制单元的控制方法,其特征在于,通过本地或远程进行所述第二引导加载程序的更新和所述APP应用程序的升级。
14.根据权利要求6所述的电子控制单元的控制方法,其特征在于,所述APP应用程序刷新或升级成功后,所述第二引导加载程序备份所述APP应用程序的固件,作为第二备份固件;
所述电子控制单元复位或上电后,若存在所述APP应用程序的重启标志位,则所述第二引导加载程序控制所述APP应用程序回滚到所述第二备份固件。
15.一种电子控制单元的控制装置,其特征在于,包括引导加载模块和控制模块,所述引导加载模块包括第一引导加载模块、第二引导加载模块和安全校验驱动;
所述第一引导加载模块运行第一引导加载程序,所述第一引导加载程序为通用程序;所述第二引导加载模块运行第二引导加载程序,所述第二引导加载程序是与所述电子控制单元对应的定制程序;所述控制模块运行APP应用程序;
所述安全校验驱动用于对所述第一引导加载程序进行初始化和更新;
所述第一引导加载模块用于对所述第二引导加载程序进行初始化和更新;
所述第二引导加载模块用于对所述APP应用程序进行初始化、刷新和升级并控制所述APP应用程序启动。
16.根据权利要求15所述的电子控制单元的控制装置,其特征在于,所述第二引导加载模块还用于对所述APP应用程序进行诊断,并将诊断结果写入非易失性存储器中。
17.根据权利要求15所述的电子控制单元的控制装置,其特征在于,所述初始化包括固件校验。
18.根据权利要求15所述的电子控制单元的控制装置,其特征在于,所述第一引导加载模块备份所述第二引导加载程序的固件,作为第一备份固件,并在所述第二引导加载程序更新失败后控制所述第二引导加载程序回滚到所述第一备份固件。
19.一种域控制器的控制方法,其特征在于,采用先校验先释放的原则对多个电子控制单元进行分布校验,每个所述电子控制单元执行如权利要求1-14所述的控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211287547.5A CN115562737A (zh) | 2022-10-20 | 2022-10-20 | 电子控制单元的控制方法、装置及域控制器的控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211287547.5A CN115562737A (zh) | 2022-10-20 | 2022-10-20 | 电子控制单元的控制方法、装置及域控制器的控制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115562737A true CN115562737A (zh) | 2023-01-03 |
Family
ID=84767491
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211287547.5A Pending CN115562737A (zh) | 2022-10-20 | 2022-10-20 | 电子控制单元的控制方法、装置及域控制器的控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115562737A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116700061A (zh) * | 2023-04-12 | 2023-09-05 | 广东为辰信息科技有限公司 | 一种基于安全启动技术的快速启动方法 |
-
2022
- 2022-10-20 CN CN202211287547.5A patent/CN115562737A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116700061A (zh) * | 2023-04-12 | 2023-09-05 | 广东为辰信息科技有限公司 | 一种基于安全启动技术的快速启动方法 |
CN116700061B (zh) * | 2023-04-12 | 2024-05-03 | 广东为辰信息科技有限公司 | 一种基于安全启动技术的快速启动方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022007656A1 (zh) | Bootloader软件更新方法、装置、嵌入式控制器以及存储介质 | |
US20180341476A1 (en) | Software updating device, software updating system, and software updating method | |
WO2010017775A1 (zh) | 基于can总线的汽车电子控制器代码刷新的控制方法 | |
CN102902556A (zh) | 一种嵌入式设备的多级引导加载方法 | |
CN115562737A (zh) | 电子控制单元的控制方法、装置及域控制器的控制方法 | |
CN110825403A (zh) | 一种汽车电子控制单元ecu刷写的方法及系统 | |
CN111176739A (zh) | 一种系统启动方法、装置、设备及存储介质 | |
CN105468390B (zh) | Boot在线升级装置及方法 | |
CN112667265B (zh) | 一种引导程序更新方法及装置 | |
CN108920168A (zh) | 支持多个同类ECU同时升级且具防程序不匹配功能的Bootloader方法 | |
KR20130022804A (ko) | 리프로그래밍 제어모듈 및 이를 이용한 리프로그래밍 시스템 및 방법 | |
CN116775085A (zh) | 多核异构片上系统更新方法、装置、芯片及交通设备 | |
CN106919423B (zh) | 一种固件升级方法及装置 | |
CN111796839B (zh) | 控制器程序管理方法和装置 | |
CN114527994A (zh) | 固件的烧写方法、系统、车辆控制系统 | |
CN113454608A (zh) | 用于更新机动车辆计算机以向其添加附加功能的更新方法 | |
CN114995863B (zh) | 一种软件重编程系统、基于重编程系统的软件重编程方法 | |
US20220405083A1 (en) | Ota master, system, method, non-transitory storage medium, and vehicle | |
JP7363853B2 (ja) | Otaマスタ、センタ、システム、更新方法、更新プログラム、及び車両 | |
WO2011001305A1 (en) | A method, apparatus and computer program for loading files during a boot- up process | |
US20220334821A1 (en) | Ota master, update control method, non-transitory storage medium, and ota center | |
US20220405080A1 (en) | Ota master, system, method, non-transitory storage medium, and vehicle | |
CN113254030B (zh) | 车载微处理器软件应急刷新方法、装置、存储介质及系统 | |
US11954480B2 (en) | Center, OTA master, system, method, non-transitory storage medium, and vehicle | |
CN115373716A (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 |