Method and device for updating electronic controller program, and electronic controller
By verifying the validity and integrity of the target entry information when the electronic controller is powered on or reset, and switching to the backup program, the function loss problem caused by interruption of program update is solved, ensuring the safety and functional stability of the car operation .
Patent Information
- Application Number
- CN202111191987.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-10-13
- Publication Date
- 2024-12-20
- Estimated Expiration
- 2041-10-13
AI Technical Summary
During the update process of electronic controller program, if power outage or communication interruption occurs, the program may be lost, affecting the control and communication functions of the car, and poses a safety risk.
When the electronic controller is powered on or reset, the validity of the target entry information is determined and the integrity verification is performed. If the target program fails to pass the verification, switch to the backup program to ensure that the control and communication functions are automatically restored in critical situations.
By switching the backup program, we ensure that the electronic controller can automatically recover when the target program integrity verification fails, ensuring the safety and stable function of the car.
Smart Images

Figure CN113946356B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of electronic controllers, and in particular to an electronic controller program updating method, device, electronic controller and storage medium. Background Art
[0002] With the development of electronic controller manufacturing technology, various functions of automobiles are often realized through electronic controllers (Electronic Control Unit, ECU), such as automobile anti-lock braking system function, airbag function, and engine management function, etc. Among them, when the program of the electronic controller of the sold car has problems, the electronic controller program needs to be updated again.
[0003] However, if the electronic controller of the automobile is accidentally powered off or communication is interrupted during the update process of the electronic controller program, the update process of the electronic controller program will be interrupted. In this way, the original program will be erased, resulting in the loss of the program of the electronic controller, so that the electronic controller lacks a valid program, and the control function and communication function of the electronic controller cannot be realized, resulting in the problem that the safety of the automobile operation cannot be ensured. Summary of the invention
[0004] Based on this, it is necessary to provide an electronic controller program update method, device, electronic controller and storage medium to address the above technical problems.
[0005] A method for updating an electronic controller program, the method comprising:
[0006] When at least one of a power-on operation and a reset operation is performed on the electronic controller, determining target entry information currently to be verified in the electronic controller;
[0007] Performing a validity check on the target entry information, if the target entry information passes the validity check, obtaining a target program from a storage area of the electronic controller based on the target entry information, and performing an integrity check on the target program;
[0008] If the target program fails the integrity check, a backup program corresponding to the target program is obtained from the storage area, and an integrity check is performed on the backup program;
[0009] If the backup program passes the integrity check, the target program of the electronic controller is updated to the backup program.
[0010] An updating device for an electronic controller program, the device comprising:
[0011] A determination module, used for determining target entry information to be checked in the electronic controller when at least one of a power-on operation and a reset operation is performed on the electronic controller;
[0012] A first verification module is used to perform validity verification on the target entry information. If the target entry information passes the validity verification, a target program is obtained from a storage area of the electronic controller based on the target entry information, and integrity verification is performed on the target program.
[0013] A second verification module is used to obtain a backup program corresponding to the target program from the storage area and perform an integrity check on the backup program if the target program fails the integrity check;
[0014] The update module is used to update the target program of the electronic controller to the backup program if the backup program passes the integrity check.
[0015] An electronic controller comprises a memory and a microcontroller, wherein the memory stores a computer program, and when the microcontroller executes the computer program, the updating method of any electronic controller program described above is implemented.
[0016] A computer-readable storage medium stores a computer program, which, when executed by a microcontroller, implements any of the above-mentioned methods for updating an electronic controller program.
[0017] The above-mentioned method, device, electronic controller and storage medium for updating the electronic controller program determine the target entry information currently to be verified in the electronic controller when at least one of the power-on operation and the reset operation occurs on the electronic controller. The target entry information is verified for validity. If the target entry information passes the validity check, the target program is obtained from the storage area of the electronic controller based on the target entry information. In this way, the validity of the target entry information of the target program can be ensured. If the target program fails to pass the integrity check, the backup program corresponding to the target program is obtained from the storage area, and the backup program is verified for integrity. If the backup program passes the integrity check, the target program of the electronic controller is updated to the backup program. In this way, when the integrity check of the target program is unsuccessful, by updating the target program of the electronic controller to a valid backup program, the control function and communication function of the electronic controller can be automatically restored, thereby ensuring the safety of the operation of the vehicle. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] Figure 1 An application environment diagram of an electronic controller program update method in one embodiment;
[0019] Figure 2A schematic flow chart of a method for updating an electronic controller program in one embodiment;
[0020] Figure 3 A schematic diagram of the distribution of memory areas of an electronic controller in one embodiment;
[0021] Figure 4 A schematic diagram of the distribution of storage areas of an electronic controller in another embodiment;
[0022] Figure 5 is a flow chart of a method for updating an electronic controller program in another embodiment;
[0023] Figure 6 A schematic diagram of a flow chart of a validity verification step in an embodiment;
[0024] Figure 7 A schematic diagram of a flow chart of a validity verification step in another embodiment;
[0025] Figure 8 is a flow chart of a method for updating an electronic controller program in another embodiment;
[0026] Fig. 9 is a flow chart of a method for updating an electronic controller program in another embodiment;
[0027] Fig.10 is a structural block diagram of an updating device for an electronic controller program in one embodiment;
[0028] Fig.11 FIG. 4 is a diagram showing the internal structure of an electronic controller in one embodiment. DETAILED DESCRIPTION
[0029] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0030] The updating method of the electronic controller program provided by the present application can be applied to Figure 1In the application environment shown. The electronic controller 102 communicates with the computer device 104 through a network. When the computer device 104 performs at least one of a power-on operation and a reset operation on the electronic controller 102, the electronic controller 102 determines the target entry information currently to be verified in the electronic controller. The electronic controller 102 performs a validity check on the target entry information. If the target entry information passes the validity check, based on the target entry information, the electronic controller 102 obtains the target program from the storage area of the electronic controller and performs an integrity check on the target program. If the target program does not pass the integrity check, the electronic controller 102 obtains a backup program corresponding to the target program from the storage area and performs an integrity check on the backup program. If the backup program passes the integrity check, the electronic controller 102 updates the target program of the electronic controller to the backup program. Among them, the electronic controller 102 can be, but is not limited to, a controller in a vehicle or other electronic device, such as an electronic controller in a car. The computer device 104 can be a terminal or a server. The terminal may be, but is not limited to, various personal computers, laptops, smart phones, tablet computers, and portable wearable devices, and the server may be implemented as an independent server or a server cluster consisting of multiple servers.
[0031] In one embodiment, Figure 2 As shown, a method for updating an electronic controller program is provided, and the method is applied to Figure 1 The electronic controller in the example is used to illustrate, including the following steps:
[0032] Step S202, when at least one of a power-on operation and a reset operation is performed on the electronic controller, target entry information to be checked in the electronic controller is determined.
[0033] Among them, the electronic control unit (ECU) is a system of microcontrollers (MCU), which can realize different functions of the vehicle, such as the anti-lock braking system function, airbag function, engine management function, etc. For a vehicle, all electronic controllers and sensors are connected to the bus and communicate through the bus. Among them, the storage distribution of the electronic controller is as follows Figure 3As shown, the storage of the electronic controller is mainly divided into a read-only storage area (ROM) and a storage area. The read-only storage area contains a startup module (Startup block, generally a Boot ROM (boot read-only memory) module built into the microcontroller in the electronic controller, which contains the entry information of the electronic controller). The storage area contains a BootBlock (boot loader) module, a Program Version (application), and a Data Version (calibration data). The application (application software) is a software component that implements a functional algorithm (such as an anti-lock braking function). The application is active in the normal operation of the device and can be reprogrammed. The calibration data is the control parameters required by the control algorithm, such as setting parameters, etc. The calibration data can be re-determined according to the needs of the variant car. The boot loader does not implement any control algorithm, and is mainly used to verify the application at power-on and other resets, and to handle reprogramming sessions for changing the application in the electronic controller. The boot loader is inactive during normal operation. Usually, the boot loader does not change throughout the life cycle of the car and cannot be reprogrammed. However, in some cases, the boot block can also be reprogrammed. Among them, the program of the electronic controller includes two types: application program and calibration data.
[0034] Specifically, when the computer device performs at least one of a power-on operation and a reset operation on the electronic controller, the electronic controller determines the target entry information currently to be verified in the electronic controller based on the entry address in the read-only storage area.
[0035] Step S204, performing validity check on the target entry information. If the target entry information passes the validity check, then based on the target entry information, a target program is obtained from the storage area of the electronic controller, and an integrity check is performed on the target program.
[0036] The validity check is used to verify the validity of the entry information corresponding to the electronic controller program.
[0037] Specifically, the electronic controller obtains the target entry information to be checked and performs validity check on the target entry information. If the target entry information passes the validity check, the electronic controller determines the start address and end address of the target program based on the target entry information. The electronic controller obtains the target program from the storage area program of the electronic controller based on the start address and end address of the target program. The electronic controller performs integrity check on the target program based on the target program.
[0038] In one embodiment, the electronic controller obtains the target entry information to be checked from the read-only storage area, and performs validity check on the target entry information based on the target entry information. If the target entry information passes the validity check, the electronic controller determines the target application storage segment based on the storage area. The electronic controller verifies the target application header verification file based on the target application header verification file stored in the header area of the target application storage segment. If the target application header verification file passes the verification, the electronic controller verifies the target application tail verification file based on the target application tail verification file stored in the tail area of the target application storage segment. If the target application tail verification file passes the verification, the electronic controller determines the target calibration data storage segment based on the storage area. The electronic controller verifies the target parameter header verification file based on the target parameter header verification file stored in the header area of the target calibration data storage segment. If the target parameter header verification file passes the verification, the electronic controller verifies the target parameter tail verification file based on the target parameter tail verification file stored in the tail area of the target calibration data storage segment. If the target parameter tail verification file passes the verification, the electronic controller determines that the target program passes the integrity check.
[0039] Among them, for the target application header check file, the target application tail check file, the target parameter header check file and the target parameter tail check file, the check of each check file is based on address check, ECC (Error Check and Correct) check, CRC (Cyclic Redundancy Check) check of the first part of the check file, mode code check, CRC check of the second part of the check file, and compatibility check to determine the check results of each check file. Among them, the first part and the second part of the target application header check file correspond to the header area and the middle area in the first storage segment (i.e., the target application storage segment); the first part and the second part of the target application tail check file correspond to the tail area and the middle area in the first storage segment; the first part and the second part of the target parameter header check file correspond to the header area and the middle area in the second storage segment (i.e., the target calibration data storage segment); the first part and the second part of the target parameter tail check file correspond to the tail area and the middle area in the second storage segment. Step S206: If the target program fails the integrity check, a backup program corresponding to the target program is obtained from the storage area, and an integrity check is performed on the backup program.
[0040] The backup program is a copy of the target program. The storage area in the electronic controller is specifically distributed as follows: Figure 4As shown in the figure, DS Backup is the backup data of calibration data, ASW Backup is the backup program of application, and Bootloader Backup is the backup bootloader. DS (Data Version) is calibration data, ASW (Program Version) is application, and Bootloader is bootloader.
[0041] Specifically, if the target program fails the integrity check, the electronic controller obtains a backup program corresponding to the target program from the backup program address in the storage area based on the storage area, and performs an integrity check on the backup program in the electronic controller.
[0042] Among them, when the electronic controller is accidentally powered off or the communication is interrupted during the target program update, the target program update is interrupted, and the integrity check result of the target program is that the target program fails the integrity check. In addition, when the wrong version of the application program or the wrong version of the calibration data is flashed into the electronic controller, the integrity check result of the target program is that the target program fails the integrity check.
[0043] In one embodiment, if the target application header check file fails to pass the check, or the target application tail check file fails to pass the check, or the target parameter header check file fails to pass the check, or the target parameter tail check file fails to pass the check, then the target program fails the integrity check. The electronic controller determines the backup application storage segment based on the storage area, and verifies the backup application header check file based on the backup application header check file stored in the head area of the backup program storage segment. If the backup application header check file passes the check, the electronic controller verifies the backup application tail check file based on the backup application tail check file stored in the tail area of the backup application storage segment. If the backup application tail check file passes the check, the electronic controller determines the backup calibration data storage segment based on the storage area. The electronic controller verifies the backup parameter header check file based on the backup parameter header check file stored in the head area of the backup calibration data storage segment. If the backup parameter header check file passes the check, the electronic controller verifies the backup parameter tail check file based on the backup parameter tail check file stored in the tail area of the backup calibration data storage segment. If the backup parameter tail check file passes the check, the electronic controller determines that the backup program passes the integrity check.
[0044] Among them, for the backup application header check file, the backup application tail check file, the backup parameter header check file and the backup parameter tail check file, the check of each check file is based on address check, ECC (Error Check and Correct) check, CRC (Cyclic Redundancy Check) check of the first part of the check file, mode code check, CRC check of the second part of the check file, and compatibility check to determine the check result of each check file. Among them, the first part and the second part of the backup application header check file correspond to the header area and the middle area in the first storage segment (i.e., the backup application storage segment); the first part and the second part of the backup application tail check file correspond to the tail area and the middle area in the first storage segment; the first part and the second part of the backup parameter header check file correspond to the header area and the middle area in the second storage segment (i.e., the backup calibration data storage segment); the first part and the second part of the backup parameter tail check file correspond to the tail area and the middle area in the second storage segment.
[0045] Step S208: if the backup program passes the integrity check, the target program of the electronic controller is updated to the backup program.
[0046] Specifically, if the backup program passes the integrity check, the electronic controller updates the target program of the electronic controller to the backup program, wherein the target application program in the target program is updated to the backup application program in the backup program, and the calibration data in the target program is updated to the backup calibration data in the backup program.
[0047] In the above-mentioned method for updating the electronic controller program, when at least one of the power-on operation and the reset operation is performed on the electronic controller, the target entry information currently to be verified in the electronic controller is determined. The target entry information is verified for validity. If the target entry information passes the validity verification, the target program is obtained from the storage area of the electronic controller based on the target entry information. In this way, the validity of the target entry information of the target program can be ensured. If the target program fails to pass the integrity check, a backup program corresponding to the target program is obtained from the storage area, and the backup program is verified for integrity. If the backup program passes the integrity check, the target program of the electronic controller is updated to the backup program. In this way, when the integrity check of the target program is unsuccessful, by updating the target program of the electronic controller to a valid backup program, the control function and communication function of the electronic controller can be automatically restored, thereby ensuring the safety of the operation of the vehicle.
[0048] In one embodiment, Figure 5As shown, when the computer device performs at least one of a power-on operation and a reset operation on the electronic controller, the electronic controller determines the target entry information currently to be verified in the electronic controller based on the entry address in the read-only storage area. The electronic controller performs a validity check on the target entry information. If the target entry information fails to pass the validity check, the electronic controller determines the validity of the next entry information based on the next entry address in the read-only storage area, and verifies the validity of the next entry information. If the target entry information passes the validity check, the electronic controller jumps to the target boot program, and obtains the target program from the program address in the storage area based on the storage area of the electronic controller. The electronic controller performs an integrity check on the target program, and determines whether the target application and the target calibration data in the target program are valid based on the result of the integrity check of the target program. If the target program passes the integrity check, it is determined that the target application and the target calibration data are both valid, and the electronic controller jumps to the target application and runs the target application. If the target program fails to pass the integrity check, the electronic controller obtains the backup program corresponding to the target program from the backup program address in the storage area based on the storage area, and performs an integrity check on the backup program. Based on the integrity result of the backup program, determine whether the backup application program and the backup calibration data in the backup program are valid. If the backup program fails the integrity check, it stays in the boot program and waits for update. If the backup program passes the integrity check, it is determined that the backup application program and the backup calibration data are both valid, and the target program of the electronic controller is updated to the backup program. Among them, the target application program in the target program is updated to the backup application program in the backup program, and the calibration data in the target program is updated to the backup calibration data in the backup program.
[0049] In this embodiment, by judging whether the entry information corresponding to the target program is valid, if the entry information is valid, the integrity check is performed on the target program, if the target program integrity check result fails, the integrity check is performed on the backup program, if the backup program passes the integrity check, the target program will be automatically updated to the backup program. In this way, it can be ensured that in the case of the loss of integrity of the target program, the car can run normally through the backup program, thereby ensuring the safety of the car operation.
[0050] In one embodiment, Figure 6 As shown, the validity check of the target entry information includes:
[0051] Step S602, obtaining an identity verification code from the target entry information, and performing identity determination based on the identity verification code to obtain an identity determination result.
[0052] The target entry information is placed at the entry address in the read-only storage area. The specific entry address information is shown in Table 1 below:
[0053] Table 1 Entry address details
[0054]
[0055] Specifically, the electronic controller determines the target entry information to be verified in the electronic controller based on the entry address in the read-only storage area, obtains the identity verification code from the target entry information, and performs identity determination based on the identity verification code to obtain the result of identity determination.
[0056] For example, the electronic controller determines the target entry information to be verified in the electronic controller based on the entry address in the read-only storage area. The electronic controller obtains the identity verification code from the target entry information and compares the identity verification code with the reference identity verification code. Based on the comparison result, the result of the identity determination is determined.
[0057] Step S604: If the result of the identity determination is that the identity determination is passed, the target entry information is verified based on a first verification method to obtain a first verification result.
[0058] Specifically, if the identity verification code is consistent with the reference identity verification code, the result of the identity determination is that the identity determination is passed. The electronic controller performs a polynomial verification on the target entry information based on a first verification algorithm to obtain a first verification result.
[0059] Among them, the first verification algorithm can be a CRC (Cyclic Redundancy Check) algorithm, which is a channel coding technology that generates a short fixed-bit check code based on data such as network data packets or computer files, and is mainly used to detect or verify errors that may occur after data transmission or storage.
[0060] Step S606: If the first verification result is consistent with the first reference result corresponding to the target entry information, read the status flag of the hardware register corresponding to the target entry information, and determine the status flag bit based on the status flag.
[0061] Specifically, the electronic controller obtains a first verification result and a first reference result corresponding to the target entry information. If the first verification result is consistent with the first reference result, the electronic controller reads a status flag of a hardware register corresponding to the target entry information, and determines a status flag bit based on the status flag.
[0062] The status flag may be represented by character 1 to indicate that the program to be loaded in the electronic controller belongs to the source program type, and the status flag may be represented by character 0 to indicate that the program to be loaded in the electronic controller belongs to the standby program type.
[0063] Step S608: if the status flag indicates that the program to be loaded in the electronic controller is of a source program type, then based on the target entry information, a target program is obtained from the storage area of the electronic controller.
[0064] The source program type corresponds to the target program of the electronic controller.
[0065] Specifically, if the status flag indicates that the program to be loaded in the electronic controller is of the source program type, the electronic controller obtains the target entry information and determines the program address of the target program based on the target entry information. The electronic controller obtains the target program from the program address in the storage area.
[0066] Step S610, verifying the target program based on a second verification method to obtain a second verification result.
[0067] Specifically, based on the second verification algorithm, the electronic controller performs a polynomial verification on the target program to obtain a second verification result.
[0068] Among them, the second verification algorithm can be a CRC (Cyclic Redundancy Check) algorithm, which is a channel coding technology that generates a short fixed-bit check code based on data such as network data packets or computer files, and is mainly used to detect or verify errors that may occur after data transmission or storage.
[0069] Step S612: If the second verification result is consistent with the second reference result corresponding to the target program, it is determined that the target entry information passes the validity check.
[0070] Specifically, the electronic controller obtains the second verification result and the second reference result corresponding to the target entry information. If the first verification result is consistent with the second reference result, the electronic controller determines that the target entry information passes the validity check.
[0071] In this embodiment, an identity verification code is obtained from the target entry information, and an identity determination is performed based on the identity verification code to obtain the result of the identity determination. If the result of the identity determination is that the identity determination is passed, the target entry information is verified based on the first verification method to obtain a first verification result. If the first verification result is consistent with the first reference result corresponding to the target entry information, the state flag of the hardware register corresponding to the target entry information is read, and the state flag bit is determined based on the state flag. If the state flag bit indicates that the program to be loaded in the electronic controller belongs to the source program type, the target program is obtained from the storage area of the electronic controller based on the target entry information. Based on the second verification algorithm, the electronic controller performs a polynomial check on the target program to obtain a second verification result. If the second verification result is consistent with the second reference result corresponding to the target program, it is determined that the target entry information passes the validity check. In this way, before determining whether the electronic controller runs through the target program, the validity of the target entry information is firstly ensured by performing a validity check on the target entry information corresponding to the target program. In addition, the validity check based on the target entry information is conducive to the subsequent determination of the program when the electronic controller is running normally.
[0072] In one embodiment, the method further includes: if the result of the identity determination is that the identity determination has not been passed, it is determined that the target entry information has not passed the validity check. If the first verification result is inconsistent with the first reference result corresponding to the target entry information, it is determined that the target entry information has not passed the validity check. If the status flag indicates that the program to be loaded in the electronic controller does not belong to the source program type, it is determined that the target entry information has not passed the validity check. If the second verification result is inconsistent with the second reference result corresponding to the target program, it is determined that the target entry information has not passed the validity check.
[0073] Specifically, the electronic controller determines the identity determination result by comparing the identity verification code with the reference verification code. If the result of the identity determination is that the identity determination is not passed, the electronic controller determines that the target entry information has not passed the validity check. If the result of the identity determination is that the identity determination is passed, the electronic controller performs a first CRC algorithm check on the target entry information to obtain a first check result. If the first check result is inconsistent with the first reference result corresponding to the target entry information, it is determined that the target entry information has not passed the validity check. If the first check result is consistent with the first reference result, the electronic controller reads the status flag of the hardware register corresponding to the target entry information, and determines the status flag bit based on the status flag. If the status flag bit indicates that the program to be loaded in the electronic controller does not belong to the source program type, it is determined that the target entry information has not passed the validity check. If the status flag bit indicates that the program to be loaded in the electronic controller belongs to the source program type, the electronic controller performs a second CRC algorithm check on the target program to obtain a second check result. If the second check result is inconsistent with the second reference result corresponding to the target program, it is determined that the target entry information has not passed the check.
[0074] In this embodiment, during the validity check, if at least one of the following conditions occurs: the identity determination fails, the first check result is inconsistent with the first reference result, the status flag indicates that the program to be loaded in the electronic controller does not belong to the source program type, and the second check result is inconsistent with the second reference result, it can be directly determined that the target entry information fails the validity check. Therefore, based on the result of the validity check of the target entry information, the program to be subsequently checked for integrity can be directly determined, thereby determining the program that enables the electronic controller to operate normally.
[0075] In order to more clearly understand the validity verification process, a more detailed embodiment is provided for description. Figure 7As shown, the electronic controller determines the current target entry information to be verified in the electronic controller based on the entry address in the read-only storage area. The electronic controller obtains the identity verification code from the target entry information, and performs identity determination based on the identity verification code to obtain the result of the identity determination. If the identity verification code is inconsistent with the reference identity verification code, the result of the identity determination is that the identity determination has not passed, and it is determined that the target entry information has not passed the validity check. If the identity verification code is consistent with the reference identity verification code, the result of the identity determination is that the identity determination has passed. The electronic controller performs a polynomial check on the target entry information based on a first verification algorithm to obtain a first verification result. The electronic controller obtains the first verification result and the first reference result corresponding to the target entry information. If the first verification result is consistent with the first reference result, it is determined that the target entry information has not passed the validity check. If the first verification result is consistent with the first reference result, the electronic controller reads the status flag of the hardware register corresponding to the target entry information, and determines the status flag bit based on the status flag. If the status flag is a characterization that the program to be loaded in the electronic controller does not belong to the source program type, it is determined that the target entry information has not passed the validity check. If the status flag indicates that the program to be loaded in the electronic controller belongs to the source program type, the electronic controller obtains the target entry information and determines the program address of the target program based on the target entry information. The electronic controller obtains the target program from the program address in the storage area. Based on the second verification algorithm, the electronic controller performs a polynomial check on the target program to obtain a second verification result. The electronic controller obtains the second verification result and the second reference result corresponding to the target entry information. If the first verification result is inconsistent with the second reference result, it is determined that the target entry information has not passed the validity check. If the first verification result is consistent with the second reference result, the electronic controller determines that the target entry information has passed the validity check.
[0076] In this embodiment, the validity of the target entry information can be ensured by performing validity check on the target entry information. In addition, the validity check based on the target entry information is helpful for determining the program when the electronic controller is operating normally later.
[0077] In one embodiment, the method further includes: if the target entry information does not pass the validity check, determining the backup entry information currently to be checked in the electronic controller. Performing a validity check on the backup entry information, and if the backup entry information passes the validity check, obtaining a backup program from the storage area of the electronic controller based on the backup entry information, and performing an integrity check on the backup program. If the backup program passes the integrity check, updating the program of the electronic controller to the backup program.
[0078] The validity check is used to verify the validity of the entry information corresponding to the electronic controller program.
[0079] Specifically, if the target entry information does not pass the validity check, the electronic controller determines the backup entry information to be checked. The electronic controller performs a validity check on the backup entry information. If the backup entry information passes the validity check, the start address and end address of the backup program are determined based on the backup entry information. The electronic controller obtains the backup program from the storage area of the electronic controller based on the start address and end address of the backup program, and performs an integrity check on the backup program. If the backup program passes the integrity check, the program of the electronic controller is updated to the backup program.
[0080] In one embodiment, the process of the backup program performing integrity verification is as follows: determining a backup application storage segment based on a storage area. The electronic controller verifies the backup application header verification file based on the backup application header verification file stored in the head area of the backup application storage segment. If the backup application header verification file passes the verification, the electronic controller verifies the backup application tail verification file based on the backup application tail verification file stored in the tail area of the backup application storage segment. If the backup application tail verification file passes the verification, the electronic controller determines the backup calibration data storage segment based on the storage area. The electronic controller verifies the backup parameter header verification file based on the backup parameter header verification file stored in the head area of the backup calibration data storage segment. If the backup parameter header verification file passes the verification, the electronic controller verifies the backup parameter tail verification file based on the backup parameter tail verification file stored in the tail area of the backup calibration data storage segment. If the backup parameter tail verification file passes the verification, the electronic controller determines that the backup program passes the integrity verification.
[0081] In this embodiment, when the target entry information fails to pass the validity check, the backup program corresponding to the target program is directly obtained, and the integrity of the backup program is checked to ensure the integrity of the backup program. Then, the program of the electronic controller is updated to the backup program. In this way, when the target program lacks integrity, the electronic controller can implement related functions through the complete backup program, thereby ensuring the normal and safe operation of the car.
[0082] In one embodiment, the method further includes: if the backup program fails the integrity check, maintaining the reset state to instruct maintenance personnel to return the electronic controller to the factory for repair.
[0083] Specifically, if the backup program fails the integrity check, the electronic controller remains in a reset state, and based on the reset state, the maintenance personnel are instructed to return the electronic controller to the factory for repair.
[0084] In this embodiment, if the backup program fails the integrity check, the reset state is maintained to instruct the maintenance personnel to return the electronic controller to the factory for maintenance. In this way, it is possible to ensure that the electronic controller that cannot be updated is repaired in time, thereby avoiding the use of the electronic controller that cannot be updated, and further ensuring the safety of the person driving the car.
[0085] In one embodiment, the method further includes: if an update instruction is received, reading the status flag of the hardware register corresponding to the target entry information, and determining the status flag bit based on the status flag. If the status flag bit indicates that the program to be loaded in the electronic controller belongs to the source program type, then based on the update instruction, the backup program is updated to obtain an updated backup program, and the updated backup program is checked for integrity. If the updated backup program passes the integrity check, then based on the update instruction, the target program is updated to obtain an updated target program, and the updated target program is checked for integrity. If the updated target program passes the integrity check, it is determined that the update is complete, and a reset operation is triggered.
[0086] Specifically, if an update instruction is received, the electronic controller reads the status flag of the hardware register corresponding to the target entry information, and determines the status flag bit based on the status flag. If the status flag bit indicates that the program to be loaded in the electronic controller belongs to the source program type, the electronic controller updates the backup application program in the backup program based on the update instruction to obtain an updated backup application program, and updates the backup calibration data in the backup program to obtain updated backup calibration data. Based on the updated backup application program and the updated backup calibration data, the updated backup program is determined. The electronic controller performs integrity verification based on the backup application header verification file, the backup application tail verification file, the backup parameter header verification file, and the backup parameter tail verification file corresponding to the updated backup program. If the updated backup program passes the integrity verification, the electronic controller updates the target application program in the target program based on the update instruction to obtain an updated target application program, and updates the target calibration data in the target program to obtain updated target calibration data. Based on the updated target application program and the updated target calibration data, the updated target program is determined. The electronic controller performs integrity verification based on the target application header verification file, the target application tail verification file, the target parameter header verification file, and the target parameter tail verification file corresponding to the updated target program. If the updated target program passes the integrity verification, it is determined that the update is completed and a reset operation is triggered.
[0087] In this embodiment, if an update instruction is received, a status flag is obtained. If the status flag indicates that the program to be loaded is of the source program type, the backup program is updated and integrity checked first, and then the program to be loaded is updated and integrity checked. In this way, it can be ensured that in the event that the update of the program to be loaded fails, the electronic controller can ensure the safe operation of the vehicle by running the valid and complete updated backup program.
[0088] In one embodiment, the method further includes: if an update instruction is received, the status flag of the hardware register corresponding to the target entry information is read, and based on the status flag, the status flag is determined. If the status flag indicates that the program to be loaded in the electronic controller belongs to the backup program type, the target program is updated based on the update instruction to obtain an updated target program, and the updated target program is integrity checked. If the updated target program passes the integrity check, the backup program is updated based on the update instruction to obtain an updated backup program, and the updated backup program is integrity checked. If the updated backup program passes the integrity check, it is determined that the update is complete and a reset operation is triggered.
[0089] Specifically, if an update instruction is received, the electronic controller reads the status flag of the hardware register corresponding to the target entry information, and determines the status flag bit based on the status flag. If the status flag bit indicates that the program to be loaded in the electronic controller belongs to the standby program type, the electronic controller updates the target application program in the target program based on the update instruction to obtain the updated target application program, and updates the target calibration data in the target program to obtain the updated target calibration data. Based on the updated target application program and the updated target calibration data, the updated target program is determined. The electronic controller performs integrity verification based on the target application header verification file, the target application tail verification file, the target parameter header verification file, and the target parameter tail verification file corresponding to the updated target program. If the updated target program passes the integrity verification, the electronic controller updates the backup application program in the backup program based on the update instruction to obtain the updated backup application program, and updates the backup calibration data in the backup program to obtain the updated backup calibration data. Based on the updated backup application program and the updated backup calibration data, the updated backup program is determined. The electronic controller performs integrity verification based on the backup application header verification file, the backup application tail verification file, the backup parameter header verification file, and the backup parameter tail verification file corresponding to the updated backup program. If the updated backup program passes the integrity verification, it is determined that the update is complete and a reset operation is triggered.
[0090] In this embodiment, if an update instruction is received, a status flag is obtained. If the status flag indicates that the program to be loaded is a standby program type, the target program is updated and integrity checked first, and then the program to be loaded is updated and integrity checked. In this way, it can be ensured that in the case of a failure in updating the program to be loaded, the electronic controller can run a valid and complete updated target program to ensure safe operation of the vehicle.
[0091] In one embodiment, if Figure 8 As shown, the electronic controller receives the update instruction and reads the status flag of the hardware register corresponding to the target entry information. The electronic controller determines the status flag based on the status flag. If the status flag indicates that the program to be loaded in the electronic controller belongs to the source program type, the electronic controller updates the backup program and performs an integrity check on the updated backup program. If the updated backup program fails to pass the integrity check, an error is reported and a reset operation is triggered. If the updated backup program passes the integrity check, the target program (i.e., the program to be loaded, corresponding to the current program in the figure) is updated to obtain an updated target program, and an integrity check is performed on the updated target program. If the updated target program fails to pass the integrity check, an error is reported and a reset operation is triggered. If the updated target program passes the integrity check, it is determined that the update is complete and a reset operation is triggered.
[0092] If the status flag indicates that the program to be loaded in the electronic controller belongs to the backup program type, the electronic controller updates the target program and performs an integrity check on the updated target program. If the updated target program fails the integrity check, an error is reported and a reset operation is triggered. If the updated target program passes the integrity check, the backup program (i.e., the program to be loaded, corresponding to the current program in the figure) is updated to obtain an updated backup program, and an integrity check is performed on the updated backup program. If the updated backup program fails the integrity check, an error is reported and a reset operation is triggered. If the updated backup program passes the integrity check, it is determined that the update is complete and a reset operation is triggered.
[0093] In this embodiment, the type of the program to be loaded is determined by the status flag. If the type corresponds to the target program, the backup program is updated and the integrity is checked first, and then the target program is updated and the integrity is checked. If the type corresponds to the backup program, the target program is updated and the integrity is checked first, and then the backup program is updated and the integrity is checked. In this way, it can be ensured that in the event that the update of the program to be loaded fails, the safe operation of the vehicle can still be guaranteed by running the valid and complete updated electronic controller program.
[0094] In order to facilitate a clearer understanding of the technical solution of the present application, a more detailed embodiment is provided for description. Fig. 9 As shown, based on the upper operation and reset (corresponding to Fig. 9 The electronic controller of the vehicle (i.e., the electronic controller) is initialized (Basic Initialization Sequence) and verifies whether the program needs to be updated or whether the program is invalid (corresponding to RESET). Fig. 9 Verity: Application Validity; ReproFlag). If the program needs to be updated or the program is invalid (corresponding Fig. 9 If the ReproFlag Notset; mandatory software parts are valid), the electronic controller enters the boot phase and determines whether a reprogramming instruction is received. If the program does not need to be updated or the program is valid (corresponding to Fig. 9 ReproFlag Notset; mandatory software parts are valid), the electronic controller determines the target entry information to be verified in the electronic controller based on the entry address in the read-only storage area. The electronic controller obtains the target entry information to be verified and performs a validity check on the target entry information. If the target entry information passes the validity check, the electronic controller determines the starting address and the ending address of the target program based on the target entry information. The electronic controller obtains the target program from the storage area program based on the starting address and the ending address of the target program. The electronic controller performs an integrity check on the target program based on the target program. If the target program does not pass the integrity check, the electronic controller obtains the backup program corresponding to the target program from the backup program address in the storage area based on the storage area. The backup program in the electronic controller performs an integrity check. If the backup program passes the integrity check, the electronic controller updates the target program of the electronic controller to the backup program, and causes the electronic controller to enter the application phase (Application Phase), and runs the electronic controller based on the backup program.
[0095] If an update is required or the program is invalid (corresponding Fig. 9If the ReproFlag Notset of the program is set to "ReproFlag Notset" and "mandatory software parts are valid", the electronic controller enters the boot phase and determines whether a reprogramming instruction is received. If a reprogramming instruction is received (Start of reprogramming phase with request Start Reprogramming Diagnostic Session), the compiler is instructed to perform the programming mode (Bootloader Reprogramming Phase), obtain the programmed program, and a reset operation occurs.
[0096] In this embodiment, when at least one of a power-on operation and a reset operation is performed on the electronic controller, the target entry information currently to be verified in the electronic controller is determined. The target entry information is verified for validity. If the target entry information passes the validity verification, the target program is obtained from the storage area of the electronic controller based on the target entry information. In this way, while ensuring that the target entry information of the target program is correct, the target program is further verified for integrity. If the target program does not pass the integrity verification, a backup program corresponding to the target program is obtained from the storage area, and the backup program is verified for integrity. If the backup program passes the integrity verification, the target program of the electronic controller is updated to the backup program. In this way, when the integrity verification of the target program is unsuccessful, by updating the target program of the electronic controller to a valid backup program, the control function and communication function of the electronic controller can be automatically restored, thereby ensuring the safety of the operation of the vehicle.
[0097] It should be understood that although Figure 2 ,as well as Figures 5 to 9 The steps in the flowchart are shown in sequence as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified in this document, there is no strict order restriction for the execution of these steps, and these steps can be executed in other orders. Moreover, Figure 2 ,as well as Figures 5 to 9 At least part of the steps may include multiple steps or multiple stages. These steps or stages are not necessarily performed at the same time, but can be performed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed in turn or alternately with other steps or at least part of the steps or stages in other steps.
[0098] In one embodiment, Fig.10As shown, a device for updating an electronic controller program is provided, the device 1000 comprises: a determination module 1002, a first verification module 1004, a second verification module 1006 and an update module 1008, wherein:
[0099] The determination module 1002 is used to determine the target entry information to be checked in the electronic controller when at least one of a power-on operation and a reset operation is performed on the electronic controller.
[0100] The first verification module 1004 is used to perform validity verification on the target entry information. If the target entry information passes the validity verification, a target program is obtained from the storage area of the electronic controller based on the target entry information, and an integrity verification is performed on the target program.
[0101] The second verification module 1006 is configured to obtain a backup program corresponding to the target program from the storage area and perform an integrity check on the backup program if the target program fails the integrity check.
[0102] The updating module 1008 is used to update the target program of the electronic controller to the backup program if the backup program passes the integrity check.
[0103] In one embodiment, the first verification module 1004 is used to obtain an identity verification code from the target entry information, and perform identity determination based on the identity verification code to obtain a result of the identity determination. If the result of the identity determination is that the identity determination is passed, the target entry information is verified based on the first verification method to obtain a first verification result. If the first verification result is consistent with the first reference result corresponding to the target entry information, the status flag of the hardware register corresponding to the target entry information is read, and the status flag bit is determined based on the status flag. If the status flag bit indicates that the program to be loaded in the electronic controller belongs to the source program type, the target program is obtained from the storage area of the electronic controller based on the target entry information. The target program is verified based on the second verification method to obtain a second verification result. If the second verification result is consistent with the second reference result corresponding to the target program, it is determined that the target entry information passes the validity check.
[0104] In one embodiment, the first verification module 1004 is also used to determine that the target entry information has not passed the validity check if the result of the identity determination is that the identity determination has not passed. If the first verification result is inconsistent with the first reference result corresponding to the target entry information, it is determined that the target entry information has not passed the validity check. If the status flag indicates that the program to be loaded in the electronic controller does not belong to the source program type, it is determined that the target entry information has not passed the validity check. If the second verification result is inconsistent with the second reference result corresponding to the target program, it is determined that the target entry information has not passed the validity check.
[0105] In one embodiment, the first verification module 1004 is further used to determine the backup entry information to be verified in the electronic controller if the target entry information fails the validity verification. The backup entry information is verified for validity. If the backup entry information passes the validity verification, a backup program is obtained from the storage area of the electronic controller based on the backup entry information, and the backup program is verified for integrity. If the backup program passes the integrity verification, the program of the electronic controller is updated to the backup program.
[0106] In one embodiment, the update module 1008 is further configured to maintain a reset state if the backup program fails the integrity check, so as to instruct maintenance personnel to return the electronic controller to the factory for repair.
[0107] In one embodiment, the update module 1008 is also used to read the status flag of the hardware register corresponding to the target entry information if an update instruction is received, and determine the status flag bit based on the status flag. If the status flag bit indicates that the program to be loaded in the electronic controller belongs to the source program type, then based on the update instruction, the backup program is updated to obtain an updated backup program, and the updated backup program is checked for integrity. If the updated backup program passes the integrity check, then based on the update instruction, the target program is updated to obtain an updated target program, and the updated target program is checked for integrity. If the updated target program passes the integrity check, it is determined that the update is complete and a reset operation is triggered.
[0108] In one embodiment, the update module 1008 is also used to read the status flag of the hardware register corresponding to the target entry information if an update instruction is received, and determine the status flag bit based on the status flag. If the status flag bit indicates that the program to be loaded in the electronic controller belongs to the backup program type, then based on the update instruction, the target program is updated to obtain an updated target program, and the updated target program is checked for integrity. If the updated target program passes the integrity check, then based on the update instruction, the backup program is updated to obtain an updated backup program, and the updated backup program is checked for integrity. If the updated backup program passes the integrity check, it is determined that the update is complete and a reset operation is triggered.
[0109] The specific definition of the updating device of the electronic controller program can be found in the definition of the updating method of the electronic controller program in the above text, and will not be repeated here. Each module in the above-mentioned updating device of the electronic controller program can be implemented in whole or in part by software, hardware and a combination thereof. Each of the above-mentioned modules can be embedded in or independent of the microcontroller in the electronic controller in the form of hardware, or can be stored in the memory in the electronic controller in the form of software, so that the microcontroller can call and execute the operations corresponding to each of the above modules.
[0110] In one embodiment, an electronic controller is provided. The electronic controller may be a controller in a vehicle or other electronic device. The internal structure diagram thereof may be as follows: Fig.11 As shown. The electronic controller includes a microcontroller, a memory and a CAN network interface connected through a system bus. Among them, the microcontroller of the electronic controller is used to provide computing and control capabilities. The memory of the electronic controller includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an embedded operating system and a computer program. The internal memory provides an environment for the operation of the embedded operating system and the computer program in the non-volatile storage medium. The CAN network interface of the electronic controller is used to communicate with an external terminal through a network connection. When the computer program is executed by the microcontroller, a method for updating the electronic controller program is implemented.
[0111] Those skilled in the art will understand that Fig.11 The structure shown in the figure is merely a block diagram of a partial structure related to the scheme of the present application, and does not constitute a limitation on the electronic controller to which the scheme of the present application is applied. The specific electronic controller may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.
[0112] In one embodiment, an electronic controller is provided, including a memory and a microcontroller processor. The memory stores a computer program, and the microcontroller processor implements the steps in the above method embodiments when executing the computer program.
[0113] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a microcontroller processor, the steps in the above-mentioned method embodiments are implemented.
[0114] Those of ordinary skill in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, storage or other media used in the embodiments provided in the present application can include at least one of non-volatile and volatile memory. Non-volatile memory may include read-only memory (ROM), magnetic tape, floppy disk, flash memory or optical memory, etc. Volatile memory may include random access memory (RAM) or external cache memory. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM).
[0115] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0116] The above-mentioned embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the invention patent. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the patent of the present application shall be subject to the attached claims.
Claims
1. A method for updating an electronic controller program, characterized in that: The method comprises: When at least one of a power-on operation and a reset operation is performed on the electronic controller, determining target entry information currently to be verified in the electronic controller; Obtaining an identity verification code from the target entry information, and comparing the identity verification code with a reference identity verification code; If the identity verification code is consistent with the reference identity verification code, it is determined that the result of the identity determination is passed, and the target entry information is verified based on the first verification method to obtain a first verification result; If the first verification result is consistent with the first reference result corresponding to the target entry information, reading a status flag of a hardware register corresponding to the target entry information, and determining a status flag bit based on the status flag; If the status flag indicates that the program to be loaded in the electronic controller is of a source program type, determining a program address of a target program based on the target entry information, and obtaining the target program from a program address in a storage area of the electronic controller; Verifying the target program based on a second verification method to obtain a second verification result; If the second verification result is consistent with the second reference result corresponding to the target program, it is determined that the target entry information passes the validity verification; If the target entry information passes the validity check, then based on the target entry information, a target program is obtained from a storage area of the electronic controller, and an integrity check is performed on the target program; If the target program fails the integrity check, obtaining a backup program corresponding to the target program from the storage area, and performing an integrity check on the backup program; If the backup program passes the integrity check, updating the target program of the electronic controller to the backup program; If the result of the identity determination is that the identity determination has not been passed, it is determined that the target entry information has not passed the validity check; If the first verification result is inconsistent with the first reference result corresponding to the target entry information, determining that the target entry information fails the validity verification; If the status flag indicates that the program to be loaded in the electronic controller does not belong to the source program type, it is determined that the target entry information fails the validity check; If the second verification result is inconsistent with the second reference result corresponding to the target program, it is determined that the target entry information has failed the validity check.
2. The method according to claim 1, characterized in that The method further comprises: If the target entry information fails the validity check, determining the backup entry information currently to be checked in the electronic controller; Performing a validity check on the backup entry information, if the backup entry information passes the validity check, acquiring a backup program from a storage area of the electronic controller based on the backup entry information, and performing an integrity check on the backup program; If the backup program passes the integrity check, the program of the electronic controller is updated to the backup program.
3. The method according to claim 1, characterized in that The method further comprises: If the backup program fails the integrity check, the reset state is maintained to instruct maintenance personnel to return the electronic controller to the factory for repair.
4. The method according to any one of claims 1 to 3, characterized in that: The method further comprises: If an update instruction is received, a status flag of a hardware register corresponding to the target entry information is read, and a status flag bit is determined based on the status flag; If the status flag indicates that the program to be loaded in the electronic controller is of a source program type, then based on the update instruction, the backup program is updated to obtain an updated backup program, and an integrity check is performed on the updated backup program; If the updated backup program passes the integrity check, the target program is updated based on the update instruction to obtain an updated target program, and an integrity check is performed on the updated target program; If the updated target program passes the integrity check, it is determined that the update is complete and a reset operation is triggered.
5. The method according to any one of claims 1 to 3, characterized in that: The method further comprises: If an update instruction is received, a status flag of a hardware register corresponding to the target entry information is read, and a status flag bit is determined based on the status flag; If the status flag indicates that the program to be loaded in the electronic controller belongs to a standby program type, then based on the update instruction, the target program is updated to obtain an updated target program, and the updated target program is checked for integrity; If the updated target program passes the integrity check, then based on the update instruction, the backup program is updated to obtain an updated backup program, and an integrity check is performed on the updated backup program; If the updated backup program passes the integrity check, it is determined that the update is complete and a reset operation is triggered.
6. An updating device for an electronic controller program, characterized in that: The device comprises: A determination module, used for determining target entry information to be checked in the electronic controller when at least one of a power-on operation and a reset operation is performed on the electronic controller; a first verification module, for obtaining an identity verification code from the target entry information, and comparing the identity verification code with a reference identity verification code; if the identity verification code is consistent with the reference identity verification code, it is determined that the result of the identity determination is passed, and the target entry information is verified based on a first verification method to obtain a first verification result; if the first verification result is consistent with a first reference result corresponding to the target entry information, a status flag of a hardware register corresponding to the target entry information is read, and a status flag bit is determined based on the status flag; if the status flag bit indicates that the program to be loaded in the electronic controller belongs to a source program type, a program address of the target program is determined based on the target entry information, and the target program is obtained from a program address in a storage area of the electronic controller; the target program is verified based on a second verification method to obtain a second verification result; if the second verification result is consistent with a second reference result corresponding to the target program, it is determined that the target entry information passes the validity check, and if the target entry information passes the validity check, the target program is obtained from the storage area of the electronic controller based on the target entry information, and the integrity check is performed on the target program; A second verification module is used to obtain a backup program corresponding to the target program from the storage area and perform an integrity check on the backup program if the target program fails the integrity check; An updating module, configured to update the target program of the electronic controller to the backup program if the backup program passes the integrity check; The first verification module is also used to determine that the target entry information has failed the validity check if the result of the identity determination is failure to pass the identity determination; if the first verification result is inconsistent with the first reference result corresponding to the target entry information, it is determined that the target entry information has failed the validity check; if the status flag indicates that the program to be loaded in the electronic controller does not belong to the source program type, it is determined that the target entry information has failed the validity check; if the second verification result is inconsistent with the second reference result corresponding to the target program, it is determined that the target entry information has failed the validity check.
7. The device according to claim 6, characterized in that The first verification module is further configured to determine the backup entry information currently to be verified in the electronic controller if the target entry information fails the validity verification; perform validity verification on the backup entry information, and if the backup entry information passes the validity verification, obtain a backup program from the storage area of the electronic controller based on the backup entry information, and perform integrity verification on the backup program; If the backup program passes the integrity check, the program of the electronic controller is updated to the backup program.
8. The device according to claim 6, characterized in that The update module is also used to maintain the reset state if the backup program fails the integrity check, so as to instruct the maintenance personnel to return the electronic controller to the factory for repair.
9. An electronic controller, comprising a memory and a microcontroller, wherein the memory stores a computer program, characterized in that: When the microcontroller executes the computer program, the steps of the method according to any one of claims 1 to 5 are implemented.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a microcontroller, the steps of the method according to any one of claims 1 to 5 are implemented.
Citation Information
Patent Citations
ECU program backup and cyclic upgrade control method and device
CN110231952A
Controller online upgrading method and device, electronic equipment and storage medium
CN113467813A
