CN117215604A - Software updating method and device, vehicle controller and readable storage medium - Google Patents
Software updating method and device, vehicle controller and readable storage medium Download PDFInfo
- Publication number
- CN117215604A CN117215604A CN202210621042.1A CN202210621042A CN117215604A CN 117215604 A CN117215604 A CN 117215604A CN 202210621042 A CN202210621042 A CN 202210621042A CN 117215604 A CN117215604 A CN 117215604A
- Authority
- CN
- China
- Prior art keywords
- address
- software
- verification
- loading
- update
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000012795 verification Methods 0.000 claims description 294
- 238000004590 computer program Methods 0.000 claims description 5
- 238000012360 testing method Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 22
- 238000005516 engineering process Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 3
- 238000009434 installation Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本发明实施例提供了一种软件更新方法、装置、车辆控制器及可读存储介质,可以通过在车辆控制器中安装自动更新软件,对车辆控制器中的引导软件进行更新,并可以避免更新过程意外中断而导致的车辆控制器损坏的情况发生,因此,提供了一种高可靠性的引导软件更新方法,不仅降低了更新引导软件的操作繁琐性,还提升了更新引导软件的可靠性。
Embodiments of the present invention provide a software update method, device, vehicle controller and readable storage medium. By installing automatic update software in the vehicle controller, the guidance software in the vehicle controller can be updated and updates can be avoided. Vehicle controller damage occurs due to unexpected interruption of the process. Therefore, a highly reliable boot software update method is provided, which not only reduces the tedious operation of updating the boot software, but also improves the reliability of the boot software update.
Description
技术领域Technical field
本发明涉及汽车技术领域,特别涉及一种软件更新方法、装置、车辆控制器及可读存储介质。The present invention relates to the field of automotive technology, and in particular to a software update method, device, vehicle controller and readable storage medium.
背景技术Background technique
随着科技的进步,车辆中包含的控制器的种类和数量越来越多,在车辆的研发和标定阶段,经常需要对各个控制器中的引导软件进行更新。With the advancement of technology, the types and number of controllers included in vehicles are increasing. During the vehicle development and calibration stages, it is often necessary to update the guidance software in each controller.
相关技术中,为了更新控制器中的引导软件,需要将控制器从车辆的总线网络中移除,再将控制器的外壳打开,暴露其中的电路板,再通过特殊的控制器刷机工具与控制器的电路板直接相连,通过刷机工具对控制器的引导软件进行更新,更新完成后,重新装回控制器外壳。In related technologies, in order to update the boot software in the controller, it is necessary to remove the controller from the vehicle's bus network, then open the controller's casing to expose the circuit board, and then use a special controller flash tool and control Directly connect to the circuit board of the controller, and update the controller's boot software through the flash tool. After the update is completed, reinstall the controller casing.
然而,上述更新引导软件的方法中需要对控制器进行拆装,不仅操作繁琐,还容易导致控制器损坏。However, the above-mentioned method of updating the boot software requires disassembly and assembly of the controller, which is not only cumbersome but can also easily cause damage to the controller.
发明内容Contents of the invention
有鉴于此,本发明旨在提出一种软件更新方法、装置、车辆控制器及可读存储介质,以解决现有技术中刷写车辆控制器中的引导软件操作较为繁琐且容易导致控制器损坏的问题。In view of this, the present invention aims to propose a software update method, device, vehicle controller and readable storage medium to solve the problem in the prior art that the boot software operation in the vehicle controller is relatively cumbersome and can easily cause damage to the controller. The problem.
为达到上述目的,本发明的技术方案是这样实现的:In order to achieve the above objects, the technical solution of the present invention is implemented as follows:
一种软件更新方法,应用于车辆控制器,所述方法包括:A software update method, applied to a vehicle controller, the method includes:
接收自动更新软件,将所述自动更新软件存储在第二加载地址中,并擦除第一加载地址对应的第一校验地址中的第一校验数据;Receive the automatic update software, store the automatic update software in the second loading address, and erase the first verification data in the first verification address corresponding to the first loading address;
通过运行所述自动更新软件,更新所述第一加载地址中的待更新软件,并在更新完成之后恢复所述第一加载地址对应的第一校验地址中的第一校验数据;Update the software to be updated in the first loading address by running the automatic update software, and restore the first verification data in the first verification address corresponding to the first loading address after the update is completed;
在所述车辆控制器重启时,若确定所述第一校验地址中的第一校验数据未通过验证,则确定针对所述待更新软件的更新操作未完成,继续运行所述第二加载地址中的自动更新软件以更新所述第一加载地址中的待更新软件,并在更新完成之后恢复所述第一加载地址对应的第一校验地址中的第一校验数据;When the vehicle controller restarts, if it is determined that the first verification data in the first verification address has not passed verification, it is determined that the update operation for the software to be updated is not completed, and the second loading continues to run. Automatically update the software in the address to update the software to be updated in the first loading address, and restore the first verification data in the first verification address corresponding to the first loading address after the update is completed;
在所述车辆控制器重启时,若确定第一校验地址中的第一校验数据通过验证,则确定更新所述第一加载地址中的待更新软件的更新操作完成,运行所述第一加载地址中的更新后的待更新软件。When the vehicle controller restarts, if it is determined that the first verification data in the first verification address passes the verification, it is determined that the update operation of updating the software to be updated in the first loading address is completed, and the first verification data is run. Load the updated software to be updated in the address.
一种软件更新装置,所述装置包括:A software update device, the device includes:
接收模块,用于接收自动更新软件,将所述自动更新软件存储在第二加载地址中,并擦除第一加载地址对应的第一校验地址中的第一校验数据;A receiving module, configured to receive automatic update software, store the automatic update software in the second loading address, and erase the first verification data in the first verification address corresponding to the first loading address;
运行模块,用于通过运行所述自动更新软件,更新所述第一加载地址中的待更新软件,并在更新完成之后恢复所述第一加载地址对应的第一校验地址中的第一校验数据;An operation module, configured to update the software to be updated in the first loading address by running the automatic update software, and restore the first verification address in the first verification address corresponding to the first loading address after the update is completed. test data;
第一加载模块,用于在所述车辆控制器重启时,若确定所述第一校验地址中的第一校验数据未通过验证,则确定针对所述待更新软件的更新操作未完成,继续运行所述第二加载地址中的自动更新软件以更新所述第一加载地址中的待更新软件,并在更新完成之后恢复所述第一加载地址对应的第一校验地址中的第一校验数据;A first loading module configured to determine that the update operation for the software to be updated is not completed if it is determined that the first verification data in the first verification address has not passed verification when the vehicle controller is restarted, Continue to run the automatic update software in the second loading address to update the software to be updated in the first loading address, and restore the first verification address corresponding to the first loading address after the update is completed. Check data;
第二加载模块,用于在所述车辆控制器重启时,若确定第一校验地址中的第一校验数据通过验证,则确定更新所述第一加载地址中的待更新软件的更新操作完成,运行所述第一加载地址中的更新后的待更新软件。A second loading module configured to determine an update operation for updating the software to be updated in the first loading address if it is determined that the first verification data in the first verification address passes verification when the vehicle controller is restarted. Completed, run the updated software to be updated in the first loading address.
一种车辆控制器,所述车辆控制器包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述软件更新方法。A vehicle controller, the vehicle controller includes a memory, a processor and a computer program stored on the memory and executable on the processor. When the processor executes the computer program, the above software update is implemented. method.
一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现上述软件更新方法。A readable storage medium stores programs or instructions on the readable storage medium. When the programs or instructions are executed by a processor, the above software update method is implemented.
一种车辆,包括上述车辆控制器。A vehicle includes the above vehicle controller.
相对于现有技术,本发明所述的一种软件更新方法、装置、车辆控制器及可读存储介质具有以下优势:Compared with the existing technology, the software update method, device, vehicle controller and readable storage medium of the present invention have the following advantages:
综上,本发明实施例提供了一种软件更新方法,包括:接收自动更新软件,将自动更新软件存储在第二加载地址中,并擦除第一加载地址对应的第一校验地址中的第一校验数据;通过运行自动更新软件,将第一加载地址中存储的待更新软件更新为更新后的待更新软件,并在更新完成之后恢复第一加载地址对应的第一校验地址中的第一校验数据;在车辆控制器重启时,若确定第一校验地址中的第一校验数据未通过验证,则确定针对待更新软件的更新操作未完成,继续运行第二加载地址中的自动更新软件以将第一加载地址中存储的待更新软件更新为更新后的待更新软件,并在更新完成之后恢复第一加载地址对应的第一校验地址中的第一校验数据;在车辆控制器重启时,若确定第一校验地址中的第一校验数据通过验证,则确定将第一加载地址中存储的待更新软件更新为更新后的待更新软件的更新操作完成,运行第一加载地址中的更新后的待更新软件。本发明实施例中,可以通过在车辆控制器中安装自动更新软件,对车辆控制器中的引导软件进行更新,并可以避免更新过程意外中断而导致的车辆控制器损坏的情况发生,因此,提供了一种高可靠性的引导软件更新方法,不仅降低了更新引导软件的操作繁琐性,还提升了更新引导软件的可靠性。In summary, embodiments of the present invention provide a software update method, which includes: receiving automatic update software, storing the automatic update software in a second loading address, and erasing the first verification address corresponding to the first loading address. The first verification data; by running the automatic update software, the software to be updated stored in the first loading address is updated to the updated software to be updated, and after the update is completed, the first verification address corresponding to the first loading address is restored. The first verification data; when the vehicle controller restarts, if it is determined that the first verification data in the first verification address has not passed the verification, it is determined that the update operation for the software to be updated is not completed, and the second loading address continues to be run. The automatic update software in the first loading address is used to update the software to be updated stored in the first loading address to the updated software to be updated, and after the update is completed, the first verification data in the first verification address corresponding to the first loading address is restored. ; When the vehicle controller restarts, if it is determined that the first verification data in the first verification address passes the verification, it is determined that the update operation of updating the software to be updated stored in the first loading address to the updated software to be updated is completed. , run the updated software to be updated in the first loading address. In the embodiment of the present invention, the guidance software in the vehicle controller can be updated by installing automatic update software in the vehicle controller, and damage to the vehicle controller caused by unexpected interruption of the update process can be avoided. Therefore, it is provided A highly reliable boot software update method is proposed, which not only reduces the tedious operation of updating the boot software, but also improves the reliability of the boot software update.
附图说明Description of drawings
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:The drawings forming a part of the present invention are used to provide a further understanding of the present invention. The illustrative embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute an improper limitation of the present invention. In the attached picture:
图1为本发明实施例提供的一种软件更新方法步骤流程图;Figure 1 is a step flow chart of a software update method provided by an embodiment of the present invention;
图2为本发明实施例提供的另一种软件更新方法步骤流程图;Figure 2 is a flow chart of steps of another software update method provided by an embodiment of the present invention;
图3为本发明实施例提供的软件更新方法的流程图Figure 3 is a flow chart of a software update method provided by an embodiment of the present invention.
图4为本发明实施例提供的一种软件更新装置的结构框图。Figure 4 is a structural block diagram of a software update device provided by an embodiment of the present invention.
具体实施方式Detailed ways
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。It should be noted that, as long as there is no conflict, the embodiments and features in the embodiments of the present invention can be combined with each other.
下面将参考附图并结合实施例来详细说明本发明。The present invention will be described in detail below with reference to the accompanying drawings and embodiments.
参照图1,示出了本发明实施例提供的一种软件更新方法步骤流程图。Referring to FIG. 1 , a flow chart of steps of a software update method provided by an embodiment of the present invention is shown.
步骤101,接收自动更新软件,将所述自动更新软件存储在第二加载地址中,并擦除第一校验地址中的第一校验数据。Step 101: Receive automatic update software, store the automatic update software in the second load address, and erase the first verification data in the first verification address.
在车辆研发、匹配和调校等阶段,车辆零部件的供应商提供的控制器在车辆测试过程中会存在诸多问题,以及不能满足研发需求的地方,需要对其上搭载的应用程序进行调整,以适应正在研发中的车辆。In the stages of vehicle development, matching and adjustment, the controllers provided by vehicle parts suppliers will have many problems during the vehicle testing process, and may not meet the needs of research and development, and the applications installed on them need to be adjusted. to accommodate vehicles under development.
为了更新控制器上搭载的应用程序,一般可以通过基于控制器局域网络(Controller Area Network,CAN)或以太网控制自动化技术(Ethernet ControlAutomation Technology,EtherCAT)的引导软件(例如Bootloader)对其进行重新刷写。但是,用于刷写应用程序的引导软件也有可能出现一些bug或不符合实际需求的地方,需要对引导软件本身进行刷写以对其进行更新。然而,由于权限设置、接口设置等原因,引导软件通常无法从控制器的外部接口(例如总线接口)进行更新,对于一些难以更新引导软件的控制器来说,通常需要直接更换新控制器,对于一些可以更新引导软件的控制器来说,通常需要对控制器进行拆壳,使其主板暴露,再通过特殊的调试器连接主板重刷引导软件。有些控制器,例如电池管理系统(BATTERY MANAGEMENT SYSTEM,BMS)的拆卸更换耗时耗力。In order to update the application installed on the controller, it can generally be reflashed through boot software (such as Bootloader) based on Controller Area Network (CAN) or Ethernet Control Automation Technology (EtherCAT) Write. However, the boot software used to flash applications may also have some bugs or may not meet actual needs, and the boot software itself needs to be flashed to update it. However, due to permission settings, interface settings, etc., the boot software usually cannot be updated from the controller's external interface (such as the bus interface). For some controllers where it is difficult to update the boot software, it is usually necessary to directly replace the new controller. For some controllers that can update the boot software, it is usually necessary to disassemble the controller to expose the motherboard, and then connect to the motherboard through a special debugger to re-flash the boot software. The removal and replacement of some controllers, such as the battery management system (BATTERY MANAGEMENT SYSTEM, BMS), is time-consuming and labor-intensive.
在本发明实施例中,在需要对车辆控制器中的引导软件进行更新时,可以将车辆控制器从车辆控制器网络中移除,并通过车辆控制器的总线接口与应用安装终端连接,将自动更新软件写入车辆控制器中,并通过在车辆控制器中运行的自动更新软件,对车辆控制器中的引导软件进行更新。其中,应用安装终端用于在车辆控制器中安装可运行的应用程序。In the embodiment of the present invention, when the guidance software in the vehicle controller needs to be updated, the vehicle controller can be removed from the vehicle controller network and connected to the application installation terminal through the bus interface of the vehicle controller. The automatic update software is written into the vehicle controller, and the guidance software in the vehicle controller is updated through the automatic update software running in the vehicle controller. Among them, the application installation terminal is used to install executable applications in the vehicle controller.
具体的,在车辆控制器接收到自动更新软件后,可以将自动更新软件存储在第二加载地址中,需要说明的是,第二加载地址用于指示车辆控制器的存储器中的一块存储空间,将自动更新软件存储在第二加载地址中,是指将自动更新软件存储在第二加载地址指示的存储器中的存储空间中。Specifically, after the vehicle controller receives the automatic update software, the automatic update software can be stored in the second load address. It should be noted that the second load address is used to indicate a storage space in the memory of the vehicle controller. Storing the automatic update software in the second load address means storing the automatic update software in the storage space in the memory indicated by the second load address.
由于在本发明实施例中,可以更新的软件包括车辆控制器中较为底层的软件,例如引导软件,如果引导软件在更新过程中损坏(例如更新过程中车辆控制器突然断电导致引导软件未能更新完成而处于不可用状态),可能导致车辆控制器损坏而无法继续使用。因此,通过将自动更新软件存储在第二加载地址中,可以在后续更新未完成的情况下,继续从第二加载地址中启动自动更新程序继续对车辆控制器中的引导软件进行更新,直至引导软件更新成功,避免更新过程发生意外而导致车辆控制器损坏。Since in the embodiment of the present invention, the software that can be updated includes relatively low-level software in the vehicle controller, such as boot software, if the boot software is damaged during the update process (for example, the vehicle controller suddenly loses power during the update process and the boot software fails to The update is completed but is in an unavailable state), which may cause the vehicle controller to be damaged and unable to continue to be used. Therefore, by storing the automatic update software in the second load address, if the subsequent update is not completed, the automatic update program can continue to be started from the second load address and continue to update the boot software in the vehicle controller until booting The software update is successful, avoiding accidents during the update process that may cause damage to the vehicle controller.
在本发明实施例中,还可以在将自动更新软件存储在第二加载地址中以后,擦除第一加载地址对应的第一校验地址中的第一校验数据。需要说明的是,车辆控制器在开机并加载软件时,可以按照加载地址的顺序对各个加载地址对应的校验数据进行验证,并加载最先验证通过的校验数据对应的加载地址中的软件。In the embodiment of the present invention, after the automatic update software is stored in the second loading address, the first verification data in the first verification address corresponding to the first loading address can be erased. It should be noted that when the vehicle controller is turned on and the software is loaded, the verification data corresponding to each loading address can be verified in the order of the loading addresses, and the software in the loading address corresponding to the verification data that passes the verification first can be loaded. .
举例来说,如果车辆控制器包含第一加载地址和第二加载地址,则该车辆控制器开机后,会首先尝试运行第一加载地址中的软件,如果第一加载地址对应的第一校验地址中的第一校验数据完整,则运行第一加载地址中的软件,完成车辆控制器的开机过程。但如果在尝试运行第一加载地址中的软件的过程中,如果确定第一加载地址对应的第一校验地址中的第一校验数据不完整,则加载第一加载地址中的软件失败,继续尝试运行第二加载地址中的软件。For example, if the vehicle controller contains a first loading address and a second loading address, after the vehicle controller is turned on, it will first try to run the software in the first loading address. If the first verification address corresponding to the first loading address If the first verification data in the address is complete, run the software in the first loading address to complete the startup process of the vehicle controller. However, if during the process of trying to run the software in the first loading address, it is determined that the first verification data in the first verification address corresponding to the first loading address is incomplete, then loading the software in the first loading address fails, Continue to try to run the software in the second loading address.
因此,在本发明实施例中,如果擦除第一加载地址对应的第一校验地址中的第一校验数据,则破坏了第一校验地址中第一校验数据的完整性,当车辆控制器重启后,第一校验地址中的第一校验数据不完整,无法校验通过,则不会加载第一加载地址中存储的待更新软件,而是尝试加载第二加载地址中的自动更新软件,并继续对待更新软件进行更新。Therefore, in the embodiment of the present invention, if the first verification data in the first verification address corresponding to the first load address is erased, the integrity of the first verification data in the first verification address is destroyed. After the vehicle controller is restarted, if the first verification data in the first verification address is incomplete and cannot pass the verification, the software to be updated stored in the first loading address will not be loaded, but an attempt will be made to load the second loading address. Automatically update software and continue to update pending software.
需要说明的是,本发明实施例中的待更新软件可以是车辆控制器中的引导软件、启动程序、基带程序、固件等。It should be noted that the software to be updated in the embodiment of the present invention may be boot software, startup program, baseband program, firmware, etc. in the vehicle controller.
步骤102,通过运行所述自动更新软件,更新所述第一加载地址中的待更新软件,并在更新完成之后恢复所述第一加载地址对应的第一校验地址中的第一校验数据。Step 102: Update the software to be updated in the first loading address by running the automatic update software, and restore the first verification data in the first verification address corresponding to the first loading address after the update is completed. .
在本发明实施例中,由于待更新软件可以是车辆控制器的底层软件(例如引导软件),当底层软件出现损坏时,容易导致车辆控制器损坏而无法继续使用。因此,在通过自动更新软件对第一加载地址中存储的待更新软件进行实际更新之前,可以执行步骤101中的相关操作,以确保在自动更新软件对第一加载地址中存储的待更新软件进行实际更新过程中,即使出现意外情况(例如控制器突然断电)导致待更新软件更新失败而无法运行,也可以在车辆控制器重启后重新加载运行自动更新软件重新尝试完成对待更新软件的更新,彻底避免更新失败而导致车辆控制器损坏的情况发生。In this embodiment of the present invention, since the software to be updated may be the underlying software of the vehicle controller (such as boot software), when the underlying software is damaged, it is easy to cause the vehicle controller to be damaged and unable to continue to be used. Therefore, before the software to be updated stored in the first loading address is actually updated by the automatic updating software, the relevant operations in step 101 can be performed to ensure that the software to be updated stored in the first loading address is updated by the automatic updating software. During the actual update process, even if an unexpected situation occurs (such as a sudden power outage of the controller) and the software to be updated fails to update and cannot be run, you can reload and run the automatic update software after the vehicle controller is restarted and try again to complete the update of the software to be updated. Completely avoid the situation where the vehicle controller is damaged due to update failure.
具体的,对第一加载地址中存储的待更新软件进行更新的具体操作可以是:第一加载地址中存储的待更新软件更新为更新后的待更新软件。更新后的待更新软件的数据包可以存储在自动更新软件中,在将自动更新软件安装在车辆控制器时,随自动更新软件一同进入车辆控制器中。Specifically, the specific operation of updating the software to be updated stored in the first loading address may be: updating the software to be updated stored in the first loading address to the updated software to be updated. The updated data package of the software to be updated can be stored in the automatic update software. When the automatic update software is installed on the vehicle controller, it will enter the vehicle controller together with the automatic update software.
由于在将第一加载地址中存储的待更新软件更新为更新后的待更新软件之后,即对待更新软件完成更新后,需要车辆控制器在启动时,从第一加载地址中加载并运行更新后的待更新软件,因此,可以在将第一加载地址中存储的待更新软件更新为更新后的待更新软件之后,将第一加载地址对应的第一校验地址中的第一校验数据恢复为步骤101中执行擦除步骤之前的状态,以使得车辆控制器在尝试加载第一加载地址中的更新后的待更新软件时,第一加载地址对应的第一校验地址中的第一校验数据可以验证通过。Because after the software to be updated stored in the first loading address is updated to the updated software to be updated, that is, after the software to be updated is updated, the vehicle controller needs to load and run the updated software from the first loading address at startup. software to be updated, therefore, after updating the software to be updated stored in the first loading address to the updated software to be updated, the first verification data in the first verification address corresponding to the first loading address can be restored is the state before the erasing step is performed in step 101, so that when the vehicle controller attempts to load the updated software to be updated in the first loading address, the first verification address in the first verification address corresponding to the first loading address The verification data can be verified and passed.
步骤103,在所述车辆控制器重启时,若确定所述第一校验地址中的第一校验数据未通过验证,则确定针对所述待更新软件的更新操作未完成,继续运行所述第二加载地址中的自动更新软件以更新所述第一加载地址中的待更新软件。Step 103: When the vehicle controller restarts, if it is determined that the first verification data in the first verification address has not passed verification, it is determined that the update operation for the software to be updated is not completed, and the program continues to run. The software in the second loading address is automatically updated to update the software to be updated in the first loading address.
在本发明实施例中,对待更新软件的更新操作存在两种情况,其一是将自动更新软件安装在车辆控制器中后,自动更新软件运行并顺利将车辆控制器中的待更新软件更新为更新后的待更新软件,完成对待更新软件的更新。In the embodiment of the present invention, there are two situations for the update operation of the software to be updated. One is that after the automatic update software is installed in the vehicle controller, the automatic update software runs and successfully updates the software to be updated in the vehicle controller to After updating the software to be updated, the update of the software to be updated is completed.
其二是将自动更新软件安装在车辆控制器中后,自动更新软件在完成对待更新软件的更新之前,车辆控制器出现掉电等故障,导致对待更新软件的更新操作中断,在车辆控制器重启后,车辆控制器尝试运行第一加载地址中的待更新软件,但由于第一校验地址中的第一校验数据不完整,导致继续加载第二加载地址中的自动更新软件以在更新中断后继续对待更新软件进行更新。The second is that after the automatic update software is installed in the vehicle controller, before the automatic update software completes the update of the software to be updated, the vehicle controller suffers a power failure or other failure, causing the update operation of the software to be updated to be interrupted, and the vehicle controller restarts. Finally, the vehicle controller tries to run the software to be updated in the first loading address, but because the first verification data in the first verification address is incomplete, the automatic update software in the second loading address continues to be loaded until the update is interrupted. Then continue to update the software to be updated.
车辆控制器一般可以通过顺序加载模式进行开机时的软件加载工作,在顺序加载模式下,车辆控制器可以按照多个加载地址的顺序对各个加载地址对应的校验数据进行验证,并加载最先验证通过的校验数据对应的加载地址中的软件。因此,在本发明实施例中,在擦除第一加载地址对应的第一校验地址中的第一校验数据的情况下,当车辆控制器启动时,无法完成对第一校验数据的校验,进而无法加载第一加载地址中的软件,此时车辆控制器会按照顺序继续加载第二加载地址中的软件,即自动更新软件,重新开始对车辆控制器中的待更新软件进行更新。The vehicle controller can generally load software during startup through the sequential loading mode. In the sequential loading mode, the vehicle controller can verify the verification data corresponding to each loading address in the order of multiple loading addresses, and load the first Verify the software in the loading address corresponding to the verification data that passes the verification. Therefore, in the embodiment of the present invention, when the first verification data in the first verification address corresponding to the first load address is erased, when the vehicle controller is started, the first verification data cannot be completed. Verification, and then cannot load the software in the first loading address. At this time, the vehicle controller will continue to load the software in the second loading address in sequence, that is, automatically update the software, and restart the update of the software to be updated in the vehicle controller. .
需要说明的是,在本发明实施例中,在更新完成之后恢复第一加载地址对应的第一校验地址中的第一校验数据是通过运行在车辆控制器中的自动更新软件执行的,在车辆控制器重启并再次运行自动更新软件后,如果自动更新软件完成对待更新软件的更新,则会执行恢复第一加载地址对应的第一校验地址中的第一校验数据的步骤,以使更新后的待更新软件可以顺利被车辆控制器加载运行。It should be noted that in the embodiment of the present invention, restoring the first verification data in the first verification address corresponding to the first loading address after the update is completed is performed by the automatic update software running in the vehicle controller. After the vehicle controller restarts and runs the automatic update software again, if the automatic update software completes the update of the software to be updated, the step of restoring the first verification data in the first verification address corresponding to the first loading address will be executed to So that the updated software to be updated can be smoothly loaded and run by the vehicle controller.
步骤104,在所述车辆控制器重启时,若确定第一校验地址中的第一校验数据通过验证,则确定更新所述第一加载地址中的待更新软件的更新操作完成,运行所述第一加载地址中的更新后的待更新软件。Step 104: When the vehicle controller restarts, if it is determined that the first verification data in the first verification address passes the verification, then it is determined that the update operation of updating the software to be updated in the first loading address is completed, and run the The updated software to be updated in the first loading address.
当自动更新软件将第一加载地址中存储的待更新软件更新为更新后的待更新软件(即完成对待更新软件的更新)并恢复第一加载地址对应的第一校验地址中的第一校验数据,如果此时重新启动车辆控制器,则第一加载地址对应的第一校验空间中存在完整的第一校验数据,第一校验数据可以校验通过,会对第一存储空间中的更新后的待更新软件进行实际加载动作,从而运行更新后的待更新软件并完成车辆控制器的开机操作。When the automatic update software updates the software to be updated stored in the first loading address to the updated software to be updated (ie, completes the update of the software to be updated) and restores the first checksum in the first verification address corresponding to the first loading address. If the vehicle controller is restarted at this time, the complete first verification data exists in the first verification space corresponding to the first loading address. The first verification data can pass the verification, and the first storage space will be The updated software to be updated is actually loaded, thereby running the updated software to be updated and completing the startup operation of the vehicle controller.
需要说明的是,在将待更新软件更新为更新后的待更新软件之后,由于更新后的待更新软件此时仅存在于第一加载地址中,并未被实际加载并运行,需要对车辆控制器进行重启,以使车辆控制器从第一加载地址中加载并运行更新后的待更新软件。因此,在本发明实施例中,可以在更新完成并恢复第一加载地址对应的第一校验地址中的第一校验数据之后,自动触发车辆控制器的重启操作,以使车辆控制器从第一加载地址中加载并运行更新后的待更新软件。It should be noted that after the software to be updated is updated to the updated software to be updated, since the updated software to be updated only exists in the first loading address at this time and has not been actually loaded and run, vehicle control is required. Restart the vehicle controller so that the vehicle controller loads and runs the updated software to be updated from the first loading address. Therefore, in the embodiment of the present invention, after the update is completed and the first verification data in the first verification address corresponding to the first loading address is restored, the restart operation of the vehicle controller can be automatically triggered, so that the vehicle controller can be restarted from Load and run the updated software to be updated in the first loading address.
综上,本发明实施例提供了一种软件更新方法,包括:接收自动更新软件,将自动更新软件存储在第二加载地址中,并擦除第一加载地址对应的第一校验地址中的第一校验数据;通过运行自动更新软件,将第一加载地址中存储的待更新软件更新为更新后的待更新软件,并在更新完成之后恢复第一加载地址对应的第一校验地址中的第一校验数据;在车辆控制器重启时,若确定第一校验地址中的第一校验数据未通过验证,则确定针对待更新软件的更新操作未完成,继续运行第二加载地址中的自动更新软件以将第一加载地址中存储的待更新软件更新为更新后的待更新软件,并在更新完成之后恢复第一加载地址对应的第一校验地址中的第一校验数据;在车辆控制器重启时,若确定第一校验地址中的第一校验数据通过验证,则确定将第一加载地址中存储的待更新软件更新为更新后的待更新软件的更新操作完成,运行第一加载地址中的更新后的待更新软件。本发明实施例中,可以通过在车辆控制器中安装自动更新软件,对车辆控制器中的引导软件进行更新,并可以避免更新过程意外中断而导致的车辆控制器损坏的情况发生,因此,提供了一种高可靠性的引导软件更新方法,不仅降低了更新引导软件的操作繁琐性,还提升了更新引导软件的可靠性。In summary, embodiments of the present invention provide a software update method, which includes: receiving automatic update software, storing the automatic update software in a second loading address, and erasing the first verification address corresponding to the first loading address. The first verification data; by running the automatic update software, the software to be updated stored in the first loading address is updated to the updated software to be updated, and after the update is completed, the first verification address corresponding to the first loading address is restored. The first verification data; when the vehicle controller restarts, if it is determined that the first verification data in the first verification address has not passed the verification, it is determined that the update operation for the software to be updated is not completed, and the second loading address continues to be run. The automatic update software in the first loading address is used to update the software to be updated stored in the first loading address to the updated software to be updated, and after the update is completed, the first verification data in the first verification address corresponding to the first loading address is restored. ; When the vehicle controller restarts, if it is determined that the first verification data in the first verification address passes the verification, it is determined that the update operation of updating the software to be updated stored in the first loading address to the updated software to be updated is completed. , run the updated software to be updated in the first loading address. In the embodiment of the present invention, the guidance software in the vehicle controller can be updated by installing automatic update software in the vehicle controller, and damage to the vehicle controller caused by unexpected interruption of the update process can be avoided. Therefore, it is provided A highly reliable boot software update method is proposed, which not only reduces the tedious operation of updating the boot software, but also improves the reliability of the boot software update.
参照图2,图2示出了本发明实施例提供的另一种软件更新方法步骤流程图。Referring to Figure 2, Figure 2 shows a flow chart of steps of another software update method provided by an embodiment of the present invention.
步骤201,将多个加载地址对应的软件加载模式配置为顺序加载模式;所述多个加载地址至少包括第一加载地址和第二加载地址,所述顺序加载模式用于在所述车辆控制器开机后,按照顺序启动各个加载地址中的软件。Step 201: Configure the software loading mode corresponding to multiple loading addresses as a sequential loading mode; the multiple loading addresses include at least a first loading address and a second loading address, and the sequential loading mode is used in the vehicle controller. After booting, start the software in each loading address in order.
由于车辆控制器可能存在多种软件加载模式,当前的软件加载模式可能无法满足本发明软件更新方法的需求,因此,可以在安装自动更新软件之前,对车辆控制器中的参数进行配置,以使车辆控制器的配置参数满足本发明中软件更新方法的运行要求。Since the vehicle controller may have multiple software loading modes, the current software loading mode may not meet the needs of the software update method of the present invention. Therefore, before installing the automatic update software, the parameters in the vehicle controller can be configured so that The configuration parameters of the vehicle controller meet the operation requirements of the software update method in the present invention.
由于车辆控制器的种类繁多,各个车辆控制的配置方法并不尽相同,本发明实施例提供的软件更新方法适用于包含顺序加载模式的车辆控制器,以英飞凌Aurix系列的微控制单元(Microcontroller Unit,MCU)TC27X作为车辆控制器为例,进行说明。Since there are many types of vehicle controllers, the configuration methods of each vehicle control are different. The software update method provided by the embodiment of the present invention is suitable for vehicle controllers that include sequential loading mode. Infineon Aurix series micro control units ( Microcontroller Unit (MCU) TC27X is used as a vehicle controller as an example for explanation.
首先,需要对车辆控制器提供四个启动标签(Boot Mode Header)进行配置,这四个启动标签分别为BMHD0、BMHD1、BMHD2和BMHD3。每一个启动标签包含32个字节。其中,每个启动标签预设的32字节空间的地址如下First, the vehicle controller needs to provide four boot mode headers for configuration. These four boot tags are BMHD0, BMHD1, BMHD2 and BMHD3. Each boot tag contains 32 bytes. Among them, the address of the 32-byte space preset for each startup tag is as follows:
表1所示:Table 1 shows:
表1Table 1
通过上述启动标签的起始地址和结尾地址,可以对启动标签中的数据进行修改,已调整各个启动标签的配置。其中,地址结尾的H表示该地址为16进制。Through the start address and end address of the above startup tag, the data in the startup tag can be modified, and the configuration of each startup tag has been adjusted. Among them, the H at the end of the address indicates that the address is in hexadecimal.
此外,启动标签包含的32字节空间对应与如下表2所示的配置项:In addition, the 32-byte space contained in the startup tag corresponds to the configuration items shown in Table 2 below:
表2Table 2
每个启动标签包含的配置项可以包括:一个加载地址(usercodestartaddress,STADABM),一个软件加载模式(bootmodeindex,BMI),一个校验空间起始地址(memoryrangetobechecked-startaddress,ChkStart),一个校验空间结束地址(memoryrangetobechecked-endaddress,ChkEnd),以及其他相关配置项。The configuration items contained in each startup tag can include: a loading address (usercodestartaddress, STADABM), a software loading mode (bootmodeindex, BMI), a check space start address (memoryrangetobechecked-startaddress, ChkStart), and a check space end Address (memoryrangetobechecked-endaddress, ChkEnd), and other related configuration items.
具体的,可以根据各个启动标签的标签起始地址和某个配置项的相对于该标签起始地址的偏移量,确定该启动标签的该配置项在存储空间中的目标地址,并通过修改该目标地址中的数据,将各个启动标签的软件加载模式配合为顺序加载模式(Alternate BootMode),在顺序加载模式下,车辆控制器开机后,按照顺序启动各个加载地址中的软件。Specifically, the target address of the configuration item of the startup tag in the storage space can be determined based on the tag starting address of each startup tag and the offset of a certain configuration item relative to the tag's starting address, and modified The data in the target address matches the software loading mode of each startup tag into the sequential loading mode (Alternate BootMode). In the sequential loading mode, after the vehicle controller is turned on, the software in each loading address is started in sequence.
步骤202,将第一校验数据存储在所述第一加载地址对应的第一校验地址中,并将第二校验数据存储在所述第二加载地址对应的第二校验地址中。Step 202: Store the first verification data in the first verification address corresponding to the first loading address, and store the second verification data in the second verification address corresponding to the second loading address.
在将第一加载地址和第二加载地址对应的软件加载模式配置完顺序加载模式后,还需要对各个加载地址对应的启动标签的校验空间起始地址和校验空间结束地址进行配置,得到各个加载地址对应的校验地址,其中,校验地址用于存储上述加载地址对应的校验数据。在各个校验地址存储预设的校验数据。After configuring the sequential loading mode for the software loading mode corresponding to the first loading address and the second loading address, it is also necessary to configure the verification space start address and verification space end address of the startup tag corresponding to each loading address, and we get A verification address corresponding to each load address, where the verification address is used to store the verification data corresponding to the above-mentioned load address. Store preset verification data at each verification address.
可以首先配置第一加载地址对应启动标签中的校验空间起始地址和校验空间结束地址,得到第一加载地址对应的第一校验地址,再将预设的第一校验数据,存储在第一校验地址中。You can first configure the first loading address to correspond to the verification space start address and verification space end address in the startup tag, obtain the first verification address corresponding to the first loading address, and then store the preset first verification data. in the first verification address.
可以首先配置第二加载地址对应启动标签中的校验空间起始地址和校验空间结束地址,得到第二加载地址对应的第二校验地址,再将预设的第二校验数据,存储在第二校验地址中。You can first configure the second loading address to correspond to the verification space start address and verification space end address in the startup tag, obtain the second verification address corresponding to the second loading address, and then store the preset second verification data. in the second verification address.
需要说明的是,实现本发明实施例中的软件更新方法需要的最少加载地址包括第一加载地址和第二加载地址,因此,上述仅包含对第一加载地址和第二加载地址对应的启动标签进行配置的方法,在包含更多加载地址的情况下,更多加载地址对应的启动标签的配置方法与第二加载地址对应的启动标签的配置方法相同,上述更多加载地址用于存储自动更新软件,作为第二加载地址的冗余地址。It should be noted that the minimum loading addresses required to implement the software update method in the embodiment of the present invention include the first loading address and the second loading address. Therefore, the above only includes the startup tags corresponding to the first loading address and the second loading address. The configuration method, when more load addresses are included, the configuration method of the startup tag corresponding to the more load address is the same as the configuration method of the startup tag corresponding to the second load address. The above-mentioned more load addresses are used to store automatic updates. software, as a redundant address for the second load address.
步骤203,接收自动更新软件,将所述自动更新软件存储在第二加载地址中,并擦除第一加载地址对应的第一校验地址中的第一校验数据。Step 203: Receive the automatic update software, store the automatic update software in the second loading address, and erase the first verification data in the first verification address corresponding to the first loading address.
步骤204,通过运行所述自动更新软件,更新所述第一加载地址中的待更新软件,并在更新完成之后恢复所述第一加载地址对应的第一校验地址中的第一校验数据。Step 204: Update the software to be updated in the first loading address by running the automatic update software, and restore the first verification data in the first verification address corresponding to the first loading address after the update is completed. .
可选的,步骤204还可以包括:Optionally, step 204 may also include:
子步骤2041,在更新完成标志位指示未完成状态的情况下,从所述第一加载地址中擦除待更新软件。Sub-step 2041: If the update completion flag indicates an incomplete state, erase the software to be updated from the first loading address.
自动更新软件中还可以包含更新完成标志位,其中,更新完成标志位可以指示是否完成对待更新软件的更新,例如,在初始状态下,即自动更新软件安装在车辆控制器中时,更新完成标志位可以默认为0。The automatic update software may also include an update completion flag, where the update completion flag may indicate whether the update of the software to be updated is completed. For example, in the initial state, that is, when the automatic update software is installed in the vehicle controller, the update completion flag Bits can default to 0.
此外,由于车辆控制器的特殊性,为了保证车辆控制器中存储数据的安全性,一些车辆控制器会配备只读存储器(Read-Only Memory,ROM),将待更新软件存储于只读存储器中,在这种情况下,为了将待更新软件更新为更新后的待更新软件时,需要先从第一加载地址中擦除待更新软件。In addition, due to the particularity of vehicle controllers, in order to ensure the security of data stored in the vehicle controller, some vehicle controllers are equipped with read-only memory (ROM), and the software to be updated is stored in the read-only memory. , in this case, in order to update the software to be updated to the updated software to be updated, the software to be updated needs to be erased from the first loading address first.
子步骤2042,将更新后的待更新软件写入所述第一加载地址中,并将所述完成标志位调整为完成状态。Sub-step 2042: Write the updated software to be updated into the first loading address, and adjust the completion flag to a completion state.
在擦除待更新软件后,再将更新后的待更新软件写入第一加载地址中,已完成对待更新软件的更新。更新完成后,可以将完成标志位调整为完成状态,并发送给用户,以提示用户软件更新完成。例如,可以在写入更新后的待更新软件后,将完成标志位调整为1,并发送给用户。After the software to be updated is erased, the updated software to be updated is written into the first loading address, and the update of the software to be updated is completed. After the update is completed, the completion flag can be adjusted to the completion state and sent to the user to prompt the user that the software update is completed. For example, after writing the updated software to be updated, the completion flag bit can be adjusted to 1 and sent to the user.
需要说明的是,更新完成标志位还可以作为自动更新软件开始对待更新软件进行更新的启动条件。例如,在自动更新软件安装在车辆控制器后,运行自动更新软件,此时更新完成标志位指示更新未完成,则自动更新软件执行更新步骤。如果更新过程意外中断,在重启后自动更新软件再次运行,并检测到更新完成标志位指示更新未完成,则再次开始自动更新流程。It should be noted that the update completion flag can also be used as a starting condition for the automatic update software to start updating the software to be updated. For example, after the automatic update software is installed on the vehicle controller and the automatic update software is run, and the update completion flag indicates that the update is not completed, the automatic update software performs the update steps. If the update process is unexpectedly interrupted, the automatic update software runs again after restarting, and detects that the update completion flag indicates that the update is not completed, and the automatic update process starts again.
步骤205,在所述车辆控制器重启时,若确定所述第一校验地址中的第一校验数据未通过验证,则确定针对所述待更新软件的更新操作未完成,继续运行所述第二加载地址中的自动更新软件以更新所述第一加载地址中的待更新软件,并在更新完成之后恢复所述第一加载地址对应的第一校验地址中的第一校验数据。Step 205: When the vehicle controller restarts, if it is determined that the first verification data in the first verification address has not passed verification, it is determined that the update operation for the software to be updated is not completed, and the program continues to run. The software in the second loading address is automatically updated to update the software to be updated in the first loading address, and after the update is completed, the first verification data in the first verification address corresponding to the first loading address is restored.
可选的,步骤205还可以包括:Optionally, step 205 may also include:
子步骤2051,验证所述第二校验地址中存储的第二校验数据。Sub-step 2051: Verify the second verification data stored in the second verification address.
在本发明实施例中,车辆控制器在运行加载地址中的软件之前,需要首先对加载地址对应的校验地址中的存储的校验数据进行验证。上述步骤中,由于在更新过程中删除了第一校验数据对应的第一加载地址中的第一校验数据,如果更新过程意外中断,则第一加载地址中的第一校验数据处于不完整状态,无法通过验证,则会不执行第一加载地址中的软件,而是继续对第二校验地址中的第二校验数据进行验证。In the embodiment of the present invention, before running the software in the loading address, the vehicle controller needs to first verify the verification data stored in the verification address corresponding to the loading address. In the above steps, since the first verification data in the first loading address corresponding to the first verification data is deleted during the update process, if the update process is unexpectedly interrupted, the first verification data in the first loading address will not be in place. In the complete state, if the verification cannot be passed, the software in the first loading address will not be executed, but the second verification data in the second verification address will continue to be verified.
子步骤2052,在所述第二校验地址中存储的第二校验数据通过校验的情况下,启动所述第二加载地址中存储的自动更新软件。Sub-step 2052: If the second verification data stored in the second verification address passes the verification, start the automatic update software stored in the second loading address.
如果第二校验数据可以验证通过,则执行第二校验地址对应的第二加载地址中存储的软件,即自动更新软件,继续对待更新软件进行更新。If the second verification data can pass the verification, the software stored in the second loading address corresponding to the second verification address is executed, that is, the software is automatically updated, and the software to be updated is continued to be updated.
子步骤2053,在所述第二校验地址中存储的第二校验数据未通过校验的情况下,验证所述第三校验地址中存储的第三校验数据。Sub-step 2053: If the second verification data stored in the second verification address fails verification, verify the third verification data stored in the third verification address.
在本发明实施例中,车辆控制器可能包含超过两个的加载地址,在这种情况下,可以将全部加载地址中第一加载地址和第二加载地址之外的第三加载地址作为冗余备份,此时第三加载地址与第二加载地址同样存储自动更新软件,并在第二加载地址中的自动更新软件无法启动时,尝试启动第三加载地址中的自动更新软件。In this embodiment of the present invention, the vehicle controller may contain more than two load addresses. In this case, the third load address other than the first load address and the second load address among all the load addresses may be used as redundant. Backup, at this time, the third loading address and the second loading address also store the automatic updating software, and when the automatic updating software in the second loading address cannot be started, try to start the automatic updating software in the third loading address.
需要说明的是,第三加载地址可以是一个加载地址,也可以是多个加载地址。为了避免第二校验地址中数据被破坏而影响第三加载地址中软件的执行,第三校验地址与第二校验地址可以不同,第三校验数据与第二校验数据可以相同也可以不同。在第三加载地址包含多个加载地址的情况下,第三加载地址中的各个加载地址对应的校验地址中存储的校验数据可以相同或不同。It should be noted that the third loading address may be one loading address or multiple loading addresses. In order to prevent the data in the second verification address from being damaged and affecting the execution of the software in the third loading address, the third verification address and the second verification address may be different, and the third verification data and the second verification data may be the same. Can be different. In the case where the third loading address contains multiple loading addresses, the verification data stored in the verification addresses corresponding to each of the third loading addresses may be the same or different.
子步骤2054,在所述第三校验地址中存储的第三校验数据通过校验的情况下,运行所述第三加载地址中存储的自动更新软件。Sub-step 2054: If the third verification data stored in the third verification address passes the verification, run the automatic update software stored in the third loading address.
需要说明的是,在第三加载地址包含多个加载地址的情况下,按照顺序对第三加载地址中的各个加载地址对应的校验数据进行校验,并运行第一个校验通过的校验数据对应的加载地址中的软件。It should be noted that when the third load address contains multiple load addresses, the verification data corresponding to each load address in the third load address is verified in order, and the first one that passes the verification is run. The software in the loading address corresponding to the verification data.
子步骤2055,删除所述第二加载地址中的自动更新软件,并重启所述车辆控制器。Sub-step 2055: Delete the automatic update software in the second loading address and restart the vehicle controller.
在恢复所述第一加载地址对应的第一校验地址中的第一校验数据之后,可以自动重启车辆控制器,以使车辆控制器加载并运行第一加载地址中的更新后的待更新软件。After restoring the first verification data in the first verification address corresponding to the first loading address, the vehicle controller can be automatically restarted, so that the vehicle controller loads and runs the updated to-be-updated data in the first loading address. software.
此外,由于在恢复所述第一加载地址对应的第一校验地址中的第一校验数据之后,车辆控制器已经可以在重启后运行更新后的待更新软件,即针对待更新软件已完成更新,因此为了节省车辆控制器的存储空间消耗,还可以在恢复所述第一加载地址对应的第一校验地址中的第一校验数据之后,删除第二加载地址中的自动更新软件。In addition, since after restoring the first verification data in the first verification address corresponding to the first loading address, the vehicle controller can already run the updated software to be updated after restarting, that is, the software to be updated has been completed. Therefore, in order to save the storage space consumption of the vehicle controller, the automatic update software in the second loading address can also be deleted after restoring the first verification data in the first verification address corresponding to the first loading address.
需要说明的是,在本发明实施例中,也可以不删除第二加载地址中的自动更新软件,使其在待更新软件更新完成之后长期保留在第二加载地址中,使得车辆控制器硬件或软件故障而导致第一加载地址中的更新后的待更新软件无法加载时,依然可以通过加载第二加载地址中的自动更新软件尝试对第一加载地址中的软件进行修复操作,以避免系统在无法加载更新后的待更新软件时发生损坏。It should be noted that in the embodiment of the present invention, the automatic update software in the second loading address may not be deleted, and it may be retained in the second loading address for a long time after the update of the software to be updated is completed, so that the vehicle controller hardware or When a software failure causes the updated software to be updated in the first loading address to fail to load, you can still try to repair the software in the first loading address by loading the automatic update software in the second loading address to avoid system failure. Corruption occurs when updated software to be updated cannot be loaded.
步骤206,在所述车辆控制器重启时,若确定第一校验地址中的第一校验数据通过验证,则确定更新所述第一加载地址中的待更新软件的更新操作完成,运行所述第一加载地址中的更新后的待更新软件。Step 206: When the vehicle controller restarts, if it is determined that the first verification data in the first verification address passes the verification, then it is determined that the update operation of updating the software to be updated in the first loading address is completed, and run the The updated software to be updated in the first loading address.
可选的,步骤206还包括:Optionally, step 206 also includes:
子步骤2061,存储所述第一校验数据对应的初始校验码;所述初始校验码通过预设算法对所述第一校验数据进行计算得到。Sub-step 2061: Store the initial check code corresponding to the first check data; the initial check code is calculated by calculating the first check data through a preset algorithm.
为了对第一校验数据进行验证,需要事先根据第一校验数据生成对应的初始校验码,初始校验码可以通过预设加密算法对第一校验数据进行加密计算得到,例如,可以基于IEEE 802.3标准计算第一校验地址中的第一校验数据对应的CRC32值,并将该CRC32值,以及该CRC32值对应的取反值作为第一校验数据对应的初始校验码。In order to verify the first verification data, a corresponding initial verification code needs to be generated in advance based on the first verification data. The initial verification code can be obtained by encrypting and calculating the first verification data using a preset encryption algorithm. For example, Calculate the CRC32 value corresponding to the first check data in the first check address based on the IEEE 802.3 standard, and use the CRC32 value and the inverse value corresponding to the CRC32 value as the initial check code corresponding to the first check data.
需要说明的是,上述配置初始校验码的过程可以在配置第一加载地址对应的启动标签时完成。It should be noted that the above process of configuring the initial check code can be completed when configuring the startup tag corresponding to the first loading address.
具体的,以英飞凌Aurix系列的微控制单元(Microcontroller Unit,MCU)TC27X作为车辆控制器为例,车辆控制器的每个启动标签还包含CRCrange Filed,以及其中CRCrange Filed用于存储该启动标签对应的第一校验地址中存储的第一校验数据的CRC32值,/>用于存储该启动标签对应的第一校验地址中存储的第一校验数据的CRC32值经过按位取反后得到的取反值。其中,/>上的横杠为取反标志。Specifically, taking Infineon's Aurix series Microcontroller Unit (MCU) TC27X as a vehicle controller as an example, each startup tag of the vehicle controller also contains CRCrange Filed, and The CRCrange Filed is used to store the CRC32 value of the first verification data stored in the first verification address corresponding to the startup tag,/> The inverted value of the CRC32 value used to store the first verification data stored in the first verification address corresponding to the startup tag is obtained by bitwise inversion. Among them,/> The horizontal bar above is the negation sign.
子步骤2062,通过所述预设算法计算所述第一校验地址中存储的数据对应的目标校验码。Sub-step 2062: Calculate the target check code corresponding to the data stored in the first check address through the preset algorithm.
在车辆控制器开机后,读取第一校验地址所指示的存储空间中包含的数据,并通过预设算法(例如IEEE 802.3标准)计算该数据对应的CRC32值,得到包含该CRC32值以及该CRC32值的取反值的目标校验码。After the vehicle controller is turned on, the data contained in the storage space indicated by the first verification address is read, and the CRC32 value corresponding to the data is calculated through a preset algorithm (such as the IEEE 802.3 standard) to obtain the CRC32 value including the CRC32 value and the The target check code that is the inverse of the CRC32 value.
需要说明的是,预设算法并不仅限于IEEE 802.3标准,还可以采用其他算法计算第一校验数据与第一校验地址中数据的CRC32值,本发明实施例在此并不进行具体限定。It should be noted that the preset algorithm is not limited to the IEEE 802.3 standard. Other algorithms can also be used to calculate the CRC32 value of the first verification data and the data in the first verification address. This embodiment of the present invention is not specifically limited here.
子步骤2063,在所述目标校验码与所述初始校验码匹配的情况下,确定所述第一校验地址中存储的第一校验数据通过校验。Sub-step 2063: If the target check code matches the initial check code, determine that the first check data stored in the first check address passes the check.
将目标校验码中的CRC32值与初始校验码中的CRC32值进行比对,如果两者匹配,再继续比对目标校验码中的取反值与初始校验码中的取反值进行比对,如果比对结果显示两者匹配,则确定第一校验地址中存储的第一校验数据通过校验。Compare the CRC32 value in the target check code with the CRC32 value in the initial check code. If the two match, continue to compare the negated value in the target check code with the negated value in the initial check code. A comparison is performed, and if the comparison result shows that the two match, it is determined that the first verification data stored in the first verification address passes the verification.
为了更清晰说明本发明实施例提供的软件更新方法,参照图3,图3示出本发明实施例提供的软件更新方法的流程图,如图3所示,英飞凌Aurix系列的微控制单元(Microcontroller Unit,MCU)TC27X作为车辆控制器为例,车辆控制器执行步骤301:开机;开机后执行步骤302:判断是否存储器启动错误,如果判断结果为是,则执行步骤303:报错存储器异常,如果判断结果为否,则执行步骤304:检查第n个启动标签(n初始值为0),并执行步骤305:判断第n个启动标签有效,如果判断结果为否,则执行步骤306:判断n是否等于3,如果n等于3,则执行步骤307:报错所有启动标签无效,如果n不等于3,则执行步骤308:进入下一个启动标签(使n自加1),并回到步骤304继续执行,如果第n个启动标签是否有效的判断结果为是,则执行步骤309:判断n是否等于0,如果n等于0,则执行步骤310:加载引导软件(由于n=0对应第一个启动标签,即对应第一个启动标签中的第一加载地址,引导软件默认存储在第一加载地址中);加载引导软件后,车辆控制器启动完毕,此时可以向车辆控制器安装自动更新软件,安装自动更新软件后,车辆控制器执行步骤311:启动自动更新软件;启动自动更新软件后执行步骤312:判断更新完成标志位是否为更新未完成,如果完成标志位指示更新已经完成,则执行步骤318:结束更新流程,如果完成标志位指示更新未完成,则执行步骤313:擦除第一校验地址中的第一校验数据;擦除第一校验数据后执行步骤314:擦除第一加载地址中的引导软件;擦除引导软件后执行步骤315:在第一加载地址中写入更新后的引导软件,也就是将待更新软件更新为更新后的待更新软件;写入更新后的引导软件后执行步骤316:恢复第一校验地址中的第一校验数据;恢复第一校验数据后执行步骤317:将更新完成标志位设置为更新完成状态;最后进入步骤318:结束更新流程。In order to explain more clearly the software update method provided by the embodiment of the present invention, refer to Figure 3. Figure 3 shows a flow chart of the software update method provided by the embodiment of the present invention. As shown in Figure 3, the micro control unit of the Infineon Aurix series (Microcontroller Unit, MCU) TC27X is used as a vehicle controller as an example. The vehicle controller performs step 301: power on; after powering on, perform step 302: determine whether the memory startup error occurs. If the judgment result is yes, perform step 303: report an error memory exception. If the judgment result is no, perform step 304: check the nth startup tag (the initial value of n is 0), and perform step 305: judge that the nth startup tag is valid. If the judgment result is no, perform step 306: judge Whether n is equal to 3, if n is equal to 3, then execute step 307: error is reported and all startup tags are invalid. If n is not equal to 3, then execute step 308: enter the next startup tag (increment n by 1), and return to step 304 Continue execution. If the judgment result of whether the nth startup tag is valid is yes, then execute step 309: judge whether n is equal to 0. If n is equal to 0, then execute step 310: load the boot software (since n=0 corresponds to the first Startup tag, that is, corresponding to the first loading address in the first startup tag, the boot software is stored in the first load address by default); after loading the boot software, the vehicle controller is started, and automatic updates can be installed to the vehicle controller at this time software, after installing the automatic update software, the vehicle controller performs step 311: start the automatic update software; after starting the automatic update software, perform step 312: determine whether the update completion flag indicates that the update has not been completed. If the completion flag indicates that the update has been completed, then Execute step 318: end the update process. If the completion flag indicates that the update is not completed, then execute step 313: erase the first verification data in the first verification address; after erasing the first verification data, execute step 314: erase Remove the boot software in the first loading address; after erasing the boot software, perform step 315: write the updated boot software in the first loading address, that is, update the software to be updated to the updated software to be updated; write After updating the boot software, perform step 316: restore the first verification data in the first verification address; after restoring the first verification data, perform step 317: set the update completion flag bit to the update completion state; and finally enter step 318. : End the update process.
需要说明的是,在执行完成步骤313后,执行完成步骤316之前,如果车辆控制器发生意外断电等故障导致更新中断,则会重新从步骤301开始执行,由于在本发明实施例中,安装自动更新软件时会将自动更新软件写入第一加载地址之外的其他加载地址中,且步骤313中已经擦除了第一校验地址中的第一校验数据,再次从步骤301开始执行后无法通过第一加载地址加载引导软件,而是会通过其他加载地址加载自动更新软件,并从步骤311继续执行。It should be noted that after step 313 is executed and before step 316 is executed, if the vehicle controller encounters an unexpected power outage or other failure that causes the update to be interrupted, the execution will start again from step 301. Since in the embodiment of the present invention, the installation When the software is automatically updated, the automatic update software will be written to other loading addresses other than the first loading address, and the first verification data in the first verification address has been erased in step 313, and execution starts from step 301 again. Finally, the boot software cannot be loaded through the first loading address, but the automatic update software will be loaded through other loading addresses, and execution continues from step 311.
综上,本发明实施例提供了另一种软件更新方法,包括:接收自动更新软件,将自动更新软件存储在第二加载地址中,并擦除第一加载地址对应的第一校验地址中的第一校验数据;通过运行自动更新软件,将第一加载地址中存储的待更新软件更新为更新后的待更新软件,并在更新完成之后恢复第一加载地址对应的第一校验地址中的第一校验数据;在车辆控制器重启时,若确定第一校验地址中的第一校验数据未通过验证,则确定针对待更新软件的更新操作未完成,继续运行第二加载地址中的自动更新软件以将第一加载地址中存储的待更新软件更新为更新后的待更新软件,并在更新完成之后恢复第一加载地址对应的第一校验地址中的第一校验数据;在车辆控制器重启时,若确定第一校验地址中的第一校验数据通过验证,则确定将第一加载地址中存储的待更新软件更新为更新后的待更新软件的更新操作完成,运行第一加载地址中的更新后的待更新软件。本发明实施例中,可以通过在车辆控制器中安装自动更新软件,对车辆控制器中的引导软件进行更新,并可以避免更新过程意外中断而导致的车辆控制器损坏的情况发生,因此,提供了一种高可靠性的引导软件更新方法,不仅降低了更新引导软件的操作繁琐性,还提升了更新引导软件的可靠性。In summary, embodiments of the present invention provide another software update method, which includes: receiving automatic update software, storing the automatic update software in the second loading address, and erasing the first verification address corresponding to the first loading address. The first verification data; by running the automatic update software, the software to be updated stored in the first loading address is updated to the updated software to be updated, and after the update is completed, the first verification address corresponding to the first loading address is restored. the first verification data in; when the vehicle controller restarts, if it is determined that the first verification data in the first verification address has not passed the verification, it is determined that the update operation for the software to be updated is not completed, and the second load continues to run Automatically update the software in the address to update the software to be updated stored in the first loading address to the updated software to be updated, and restore the first verification in the first verification address corresponding to the first loading address after the update is completed data; when the vehicle controller restarts, if it is determined that the first verification data in the first verification address passes the verification, then the update operation of updating the software to be updated stored in the first loading address to the updated software to be updated is determined. Completed, run the updated software to be updated in the first loading address. In the embodiment of the present invention, the guidance software in the vehicle controller can be updated by installing automatic update software in the vehicle controller, and damage to the vehicle controller caused by unexpected interruption of the update process can be avoided. Therefore, it is provided A highly reliable boot software update method is proposed, which not only reduces the tedious operation of updating the boot software, but also improves the reliability of the boot software update.
在上述实施例的基础上,本发明实施例还提供了一种软件更新装置。Based on the above embodiments, embodiments of the present invention also provide a software update device.
参考图4,图4示出了本发明实施例提供的一种软件更新装置的结构框图:Referring to Figure 4, Figure 4 shows a structural block diagram of a software update device provided by an embodiment of the present invention:
接收模块401,用于接收自动更新软件,将所述自动更新软件存储在第二加载地址中,并擦除第一加载地址对应的第一校验地址中的第一校验数据;The receiving module 401 is used to receive automatic update software, store the automatic update software in the second loading address, and erase the first verification data in the first verification address corresponding to the first loading address;
运行模块402,用于通过运行所述自动更新软件,更新所述第一加载地址中的待更新软件,并在更新完成之后恢复所述第一加载地址对应的第一校验地址中的第一校验数据;The operation module 402 is configured to update the software to be updated in the first loading address by running the automatic update software, and restore the first verification address corresponding to the first loading address after the update is completed. Check data;
第一加载模块403,用于在所述车辆控制器重启时,若确定所述第一校验地址中的第一校验数据未通过验证,则确定针对所述待更新软件的更新操作未完成,继续运行所述第二加载地址中的自动更新软件以更新所述第一加载地址中的待更新软件,并在更新完成之后恢复所述第一加载地址对应的第一校验地址中的第一校验数据;The first loading module 403 is configured to determine that the update operation for the software to be updated is not completed if it is determined that the first verification data in the first verification address fails verification when the vehicle controller is restarted. , continue to run the automatic update software in the second loading address to update the software to be updated in the first loading address, and restore the first verification address corresponding to the first loading address after the update is completed. 1. Check data;
第二加载模块404,用于在所述车辆控制器重启时,若确定第一校验地址中的第一校验数据通过验证,则确定更新所述第一加载地址中的待更新软件的更新操作完成,运行所述第一加载地址中的更新后的待更新软件。The second loading module 404 is configured to update the software to be updated in the first loading address if it is determined that the first verification data in the first verification address passes verification when the vehicle controller is restarted. After the operation is completed, run the updated software to be updated in the first loading address.
可选的,所述装置还包括:Optionally, the device also includes:
配置子模块,用于将多个加载地址对应的软件加载模式配置为顺序加载模式;所述多个加载地址至少包括第一加载地址和第二加载地址,所述顺序加载模式用于在所述车辆控制器开机后,按照顺序启动各个加载地址中的软件;Configuration submodule, used to configure the software loading mode corresponding to multiple loading addresses as a sequential loading mode; the multiple loading addresses include at least a first loading address and a second loading address, and the sequential loading mode is used to load the software in the sequential loading mode. After the vehicle controller is turned on, the software in each loading address is started in sequence;
校验存储子模块,用于将第一校验数据存储在所述第一加载地址对应的第一校验地址中,并将第二校验数据存储在所述第二加载地址对应的第二校验地址中。A verification storage submodule, configured to store the first verification data in the first verification address corresponding to the first loading address, and store the second verification data in the second verification address corresponding to the second loading address. Verifying address.
可选的,所述运行模块包括:Optionally, the running module includes:
擦除子模块,用于在更新完成标志位指示未完成状态的情况下,从所述第一加载地址中擦除待更新软件;An erasure submodule, used to erase the software to be updated from the first loading address when the update completion flag bit indicates an incomplete state;
写入子模块,用于将更新后的待更新软件写入所述第一加载地址中,并将所述完成标志位调整为完成状态。A writing submodule is used to write the updated software to be updated into the first loading address, and adjust the completion flag to a completion state.
可选的,所述第一加载模块包括:Optionally, the first loading module includes:
验证子模块,用于验证所述第二校验地址中存储的第二校验数据;Verification sub-module, used to verify the second verification data stored in the second verification address;
启动子模块,用于在所述第二校验地址中存储的第二校验数据通过校验的情况下,启动所述第二加载地址中存储的自动更新软件。A start submodule, configured to start the automatic update software stored in the second loading address when the second verification data stored in the second verification address passes the verification.
可选的,所述装置还包括:Optionally, the device also includes:
初始校验码子模块,用于存储所述第一校验数据对应的初始校验码;所述初始校验码通过预设算法对所述第一校验数据进行计算得到;An initial check code submodule is used to store the initial check code corresponding to the first check data; the initial check code is calculated by calculating the first check data through a preset algorithm;
目标校验码子模块,用于通过所述预设算法计算所述第一校验地址中存储的数据对应的目标校验码;The target check code submodule is used to calculate the target check code corresponding to the data stored in the first check address through the preset algorithm;
校验子模块,用于在所述目标校验码与所述初始校验码匹配的情况下,确定所述第一校验地址中存储的第一校验数据通过校验。A check submodule, configured to determine that the first check data stored in the first check address passes the check when the target check code matches the initial check code.
可选的,所述装置还包括:Optionally, the device also includes:
冗余子模块,用于将第三校验数据存储在所述第三加载地址对应的第三校验地址中,并将所述自动更新软件存储在所述第三加载地址中;A redundant submodule configured to store the third verification data in the third verification address corresponding to the third loading address, and store the automatic update software in the third loading address;
冗余校验子模块,在所述第二校验地址中存储的第二校验数据未通过校验的情况下,验证所述第三校验地址中存储的第三校验数据;A redundant check sub-module that verifies the third check data stored in the third check address when the second check data stored in the second check address fails the check;
冗余运行子模块,用于在所述第三校验地址中存储的第三校验数据通过校验的情况下,运行所述第三加载地址中存储的自动更新软件。A redundant running submodule, configured to run the automatic update software stored in the third loading address when the third verification data stored in the third verification address passes verification.
可选的,所述装置还包括:Optionally, the device also includes:
后处理子模块,用于在恢复所述第一加载地址对应的第一校验地址中的第一校验数据之后,删除所述第二加载地址中的自动更新软件,并重启所述车辆控制器。Post-processing submodule, configured to delete the automatic update software in the second loading address and restart the vehicle control after restoring the first verification data in the first verification address corresponding to the first loading address. device.
综上所述,本发明实施例提供了一种软件更新装置,包括:接收自动更新软件,将自动更新软件存储在第二加载地址中,并擦除第一加载地址对应的第一校验地址中的第一校验数据;通过运行自动更新软件,将第一加载地址中存储的待更新软件更新为更新后的待更新软件,并在更新完成之后恢复第一加载地址对应的第一校验地址中的第一校验数据;在车辆控制器重启时,若确定第一校验地址中的第一校验数据未通过验证,则确定针对待更新软件的更新操作未完成,继续运行第二加载地址中的自动更新软件以将第一加载地址中存储的待更新软件更新为更新后的待更新软件,并在更新完成之后恢复第一加载地址对应的第一校验地址中的第一校验数据;在车辆控制器重启时,若确定第一校验地址中的第一校验数据通过验证,则确定将第一加载地址中存储的待更新软件更新为更新后的待更新软件的更新操作完成,运行第一加载地址中的更新后的待更新软件。本发明实施例中,可以通过在车辆控制器中安装自动更新软件,对车辆控制器中的引导软件进行更新,并可以避免更新过程意外中断而导致的车辆控制器损坏的情况发生,因此,提供了一种高可靠性的引导软件更新方法,不仅降低了更新引导软件的操作繁琐性,还提升了更新引导软件的可靠性。To sum up, embodiments of the present invention provide a software update device, which includes: receiving automatic update software, storing the automatic update software in a second loading address, and erasing the first verification address corresponding to the first loading address. the first verification data in; by running the automatic update software, the software to be updated stored in the first loading address is updated to the updated software to be updated, and after the update is completed, the first verification corresponding to the first loading address is restored The first verification data in the address; when the vehicle controller restarts, if it is determined that the first verification data in the first verification address has not passed the verification, it is determined that the update operation for the software to be updated is not completed, and the second verification process continues to run. Automatically update the software in the loading address to update the software to be updated stored in the first loading address to the updated software to be updated, and restore the first checksum in the first verification address corresponding to the first loading address after the update is completed. verification data; when the vehicle controller restarts, if it is determined that the first verification data in the first verification address passes verification, it is determined that the software to be updated stored in the first loading address is updated to the updated software to be updated. After the operation is completed, run the updated software to be updated in the first loading address. In the embodiment of the present invention, the guidance software in the vehicle controller can be updated by installing automatic update software in the vehicle controller, and damage to the vehicle controller caused by unexpected interruption of the update process can be avoided. Therefore, it is provided A highly reliable boot software update method is proposed, which not only reduces the tedious operation of updating the boot software, but also improves the reliability of the boot software update.
本发明实施例还提供一种车辆控制器,车辆控制器包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,处理器执行上述软件更新方法。An embodiment of the present invention also provides a vehicle controller. The vehicle controller includes a memory, a processor, and a computer program stored in the memory and executable on the processor. The feature is that the processor executes the above software update method.
本发明实施例还提供一种车辆,包括上述车辆控制器。An embodiment of the present invention also provides a vehicle, including the above vehicle controller.
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述装置实施例中的对应过程,在此不再赘述。Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working processes of the systems, devices and units described above can be referred to the corresponding processes in the foregoing device embodiments, and will not be described again here.
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。The above descriptions are only preferred embodiments of the present invention and are not intended to limit the present invention. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present invention shall be included in the protection of the present invention. within the range.
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。The above are only specific embodiments of the present invention, but the protection scope of the present invention is not limited thereto. Any person familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed by the present invention. should be covered by the protection scope of the present invention. Therefore, the protection scope of the present invention should be subject to the protection scope of the claims.
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210621042.1A CN117215604A (en) | 2022-06-02 | 2022-06-02 | Software updating method and device, vehicle controller and readable storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210621042.1A CN117215604A (en) | 2022-06-02 | 2022-06-02 | Software updating method and device, vehicle controller and readable storage medium |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117215604A true CN117215604A (en) | 2023-12-12 |
Family
ID=89044890
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210621042.1A Pending CN117215604A (en) | 2022-06-02 | 2022-06-02 | Software updating method and device, vehicle controller and readable storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117215604A (en) |
-
2022
- 2022-06-02 CN CN202210621042.1A patent/CN117215604A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11163886B2 (en) | Information handling system firmware bit error detection and correction | |
US20100169709A1 (en) | System Of Updating Firmware And Method Thereof, And Method Of Creating Firmware | |
US9852298B2 (en) | Configuring a system | |
CN107102871A (en) | The method and apparatus of embedded system upgrading | |
US7689981B1 (en) | Mobile handset with efficient interruption point detection during a multiple-pass update process | |
US11797389B2 (en) | System and method for recovering an operating system after an upgrade hang using a dual-flash device | |
CN112433769A (en) | BMC starting method and device, computer equipment and storage medium | |
CN109634781B (en) | Double-area backup image system based on embedded program and starting method | |
WO2015184732A1 (en) | Bootstrap storage method, bootstrap fault recovery method and device, and computer storage medium | |
CN111182033A (en) | A method and device for restoring a switch | |
CN113157303A (en) | Upgrading method, embedded system, terminal and computer storage medium | |
US12340201B2 (en) | Server and updating method for MAC address | |
CN106325912B (en) | The starting method and device of embedded OS | |
CN113176891B (en) | Bootloader-based ECU (electronic control Unit) program programming method with backup function | |
CN114356658A (en) | Method for processing abnormal firmware upgrade, computer device and readable storage medium | |
JP2005284902A (en) | Terminal device, control method and control program thereof, host device, control method and control program thereof, and method, system, and program for remote updating | |
CN117215604A (en) | Software updating method and device, vehicle controller and readable storage medium | |
CN113377425B (en) | Method and device for generating BMC firmware, method and device for starting BMC, and storage medium | |
CN116909611A (en) | Electronic device firmware updating method, cleaning device and storage medium | |
CN114461254A (en) | A software program updating method and related device | |
CN115599417A (en) | MCU firmware updating method of electronic equipment | |
WO2019064644A1 (en) | Electronic control device and control program verification method | |
US9529581B2 (en) | Circuit and method for writing program codes of basic input/output system | |
CN112667444A (en) | System upgrading method, storage medium and terminal equipment | |
CN113051577A (en) | Processing method and electronic equipment |
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 |