Updating method and device of software system, equipment, storage medium and vehicle
By setting up multiple mirrored software systems in the vehicle controller, using OTA technology to obtain upgrade packages, and activating the updated software systems after a restart, the problem of vehicle controller updates affecting the driving experience is solved, achieving seamless updates and improving the driving experience.
Patent Information
- Application Number
- CN202511016256.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-23
- Publication Date
- 2025-11-14
AI Technical Summary
In the existing technology, updating the vehicle controller software system requires the vehicle to be parked or stationary, which affects the driving experience.
Multiple mirrored software systems are set up in the vehicle controller, upgrade packages are obtained through OTA technology, and the updated software system is activated after restarting, achieving seamless updates.
It enables seamless updates to the vehicle controller software system, improving the driving experience and avoiding any impact on vehicle functionality during the update process.
Smart Images

Figure CN120950111A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of vehicle control technology, and in particular to a method, apparatus, device, storage medium, and vehicle for updating a software system. Background Technology
[0002] In the era of software-defined vehicles (SDV), vehicles are gradually evolving from mechanical terminals into evolvable software platforms, and the functions and value of vehicles are increasingly determined by the software systems in the onboard controllers.
[0003] Against this backdrop, timely updates to the software system in the vehicle controller are crucial for fully realizing the vehicle's functionality and value. In related technologies, software upgrade packages for vehicle controllers are typically based on OTA (over-the-air) technology, using diagnostic methods via the vehicle's communication bus to update the software system.
[0004] However, to ensure the success rate and speed of the flashing process, the above methods typically require silencing other communication signals on the vehicle's communication bus, resulting in a loss of communication between vehicle components and rendering many functions unusable. Therefore, updating the software system in the vehicle controller using these methods requires the vehicle to be parked or stationary, impacting the driving experience. Summary of the Invention
[0005] This application provides a method, apparatus, device, storage medium, and vehicle for updating a software system to solve the technical problems existing in related technologies. Specifically, it includes the following technical solutions.
[0006] In a first aspect, this application provides a method for updating a software system, the method comprising: obtaining an upgrade package for multiple mirrored software systems in an in-vehicle controller; updating a first software system in the in-vehicle controller according to the upgrade package, wherein the first software system is any software system in the multiple mirrored software systems except for an activated second software system; and activating the updated first software system if the first software system is successfully updated after the in-vehicle controller is restarted.
[0007] In some possible implementations, the method further includes: after the vehicle controller restarts, if the first software system fails to update successfully and the second software system is in a stopped state, reactivating the second software system.
[0008] In some possible implementations, the method further includes: if the running time of the updated first software system after activation is greater than a specified time threshold, updating the second software system according to the updated first software system; or, if the number of times the updated first software system is successfully activated is greater than a specified number threshold, updating the second software system according to the updated first software system; and after the vehicle controller restarts, activating at least one of the updated first software system and the updated second software system.
[0009] In some possible implementations, updating the first software system in the vehicle controller according to the upgrade package includes: verifying the upgrade package, determining a target upgrade package in the upgrade package based on the verification result after verification, and updating the first software system according to the target upgrade package.
[0010] In some possible implementations, verifying the upgrade package includes verifying the authenticity, integrity, and permissions of the upgrade package.
[0011] In some possible implementations, after obtaining the upgrade package, the method further includes: stopping the update operation on the first software system if the temperature of the vehicle controller exceeds a specified temperature threshold and / or the system resource utilization rate of the second software system exceeds a specified utilization threshold.
[0012] Secondly, this application provides a software system update apparatus, the apparatus comprising an acquisition module, an update module, and an activation module; the acquisition module is configured to acquire upgrade packages for multiple mirror software systems in an in-vehicle controller; the update module is configured to update a first software system in the in-vehicle controller according to the upgrade packages, wherein the first software system is any software system in the multiple mirror software systems except for an activated second software system; the activation module is configured to activate the updated first software system if the first software system is successfully updated after the in-vehicle controller restarts.
[0013] In some possible implementations, the activation module is further configured to reactivate the second software system if the first software system fails to update successfully and the second software system is in a stopped state after the vehicle controller restarts.
[0014] In some possible implementations, the activation module is further configured to update the second software system based on the updated first software system if the running time of the updated first software system after activation is greater than a specified time threshold; or, update the second software system based on the updated first software system if the number of times the updated first software system is successfully activated is greater than a specified number threshold; and activate at least one of the updated first software system and the updated second software system after the vehicle controller restarts.
[0015] In some possible implementations, when the update module updates the first software system in the vehicle controller according to the upgrade package, it is configured to: verify the upgrade package, determine the target upgrade package in the upgrade package based on the verification result after verification, and update the first software system according to the target upgrade package.
[0016] In some possible implementations, the update module is configured to verify the authenticity, integrity, and permissions of the upgrade package when verifying it.
[0017] In some possible implementations, after obtaining the upgrade package, the update module is further configured to stop the update operation on the first software system if the temperature of the vehicle controller exceeds a specified temperature threshold and / or the system resource utilization rate of the second software system exceeds a specified utilization threshold.
[0018] Thirdly, this application provides an electronic device for updating a system, comprising: a memory storing at least one program instruction for updating the system; and a processor, wherein when the program instruction is executed by the processor, the vehicle implements the method of the first aspect of this application or any possible implementation thereof.
[0019] Fourthly, this application provides a computer program (product) including computer program / instructions, which are executed by a processor to cause a vehicle to implement the method of the first aspect of this application or any possible implementation of the first aspect.
[0020] Fifthly, this application provides a computer-readable storage medium having stored thereon program instructions for updating a system, which, when executed by one or more processors, cause a vehicle to implement the method of the first aspect of this application or any possible implementation thereof.
[0021] In a sixth aspect, this application provides a vehicle that includes the apparatus described in the second aspect of this application or any possible embodiment of the second aspect.
[0022] The beneficial effects of the technical solution provided in this application include at least the following:
[0023] The technical solution provided in this application, on the one hand, enables the vehicle controller to promptly obtain the corresponding upgrade package when the software system is updated, and update the first software system stored in the vehicle controller according to the upgrade package, by setting multiple mirror software systems in the vehicle controller. On the other hand, if the first software system is successfully updated, the updated first software system can be activated when the vehicle controller restarts next time, so as to avoid the software system update and switch affecting the business capabilities running in the vehicle controller, realize the seamless update of the software system in the vehicle controller, and improve the driving experience. Attached Figure Description
[0024] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0025] Figure 1 This is a schematic diagram of an implementation scenario provided in the embodiments of this application;
[0026] Figure 2 This is a flowchart of the software system update method provided in the embodiments of this application;
[0027] Figure 3 This is a schematic diagram of the structure of the software system update device provided in the embodiments of this application;
[0028] Figure 4 This is a schematic diagram of the structure of an electronic device for updating a software system provided in an embodiment of this application. Detailed Implementation
[0029] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0030] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.
[0031] Figure 1 This is a schematic diagram of an implementation scenario provided in an embodiment of this application. (Reference) Figure 1 The implementation scenario provided in this application embodiment may include server 11 and vehicle 12.
[0032] Server 11 can be used, but is not limited to, generating, storing, distributing, and managing upgrade packages for the software system in the vehicle controller.
[0033] Vehicle 12 can obtain an upgrade package from server 11 through OAT technology and update the software system in the on-board controller installed in vehicle 12 using the upgrade package.
[0034] Optionally, the on-board controller installed in the vehicle 12 can be an EMS (engine management system), an MCU (motor control unit), or a CDC (cockpit domain controller), etc. This application does not impose any restrictions in this regard.
[0035] Those skilled in the art should understand that the cloud server 11 and vehicle 12 described above are merely examples. Other existing or future cloud servers and vehicles that are applicable to this application should also be included within the scope of protection of this application, and are hereby incorporated by reference.
[0036] Figure 2 This is a flowchart of a software system update method provided in an embodiment of this application. This method can, for example, be... Figure 1 Regarding the execution of the vehicle-mounted controller involved, this application makes no restrictions in this regard. See [link / reference] Figure 2 The software system update method provided in this application embodiment may include steps S210-S230.
[0037] Step S210: Obtain upgrade packages for multiple mirror software systems in the vehicle controller.
[0038] For example, the vehicle controller can be any type of controller installed in a vehicle, such as an EMS, MCU, or CDC. Multiple mirrored software systems can be stored, for example, in a designated area of the vehicle controller's storage device, to indicate a collection of multiple identical software systems. The number of software systems can be, for example, 2, 3, 5, 10, etc., and this application makes no limitation in this regard. The software system is used to indicate a collection of programs and data that provide complete business capabilities for the vehicle or a certain functional domain of the vehicle, such as, but not limited to, applications, firmware, operating systems, configuration files, etc., in the vehicle controller.
[0039] In some possible cases, the upgrade package may be a firmware upgrade package for upgrading the firmware in the vehicle controller, an operating system upgrade package for upgrading the operating system of the vehicle controller, an application upgrade package for upgrading the application of the vehicle controller, or a configuration file upgrade package for upgrading the configuration files such as system configuration, network configuration, calibration parameters, and security policies of the vehicle controller. This application does not impose any restrictions in this regard.
[0040] In some embodiments, the upgrade package is obtained, for example, based on OTA technology, from a cloud server. Depending on the application scenario, the OTA architecture can be a distributed architecture, where the upgrade package is transmitted from the cloud server to the vehicle gateway, and then to the target vehicle controller; or it can be a domain-centralized architecture, where the upgrade package is transmitted from the cloud server to the vehicle's domain controller, and then uniformly scheduled to the target vehicle controller by the domain controller. This application does not impose any limitations in this regard. The target vehicle controller is used to indicate the vehicle controller in the vehicle that requires a software system update.
[0041] Step S220: Update the first software system in the vehicle controller according to the upgrade package. The first software system is any software system other than the activated second software system among the multiple mirror software systems.
[0042] Optionally, the second software system may be any one of the multiple mirrored software systems that is already activated and is used to enable the vehicle controller to provide complete business functions for the vehicle or a certain functional domain of the vehicle. The first software system may be any one or more other software systems in the multiple mirrored software systems besides the second software system.
[0043] In some embodiments, multiple mirrored software systems can be stored separately in multiple system slots of the vehicle controller. These system slots can be used, but are not limited to, organizing and managing functional modules related to the software systems. Each system slot stores a complete, independently activatable software system. After startup, the vehicle controller can select any one of the multiple system slots as the startup slot according to preset program settings and activate the corresponding software system in that slot. For example, if the vehicle controller includes two system slots, A and B, after startup, the software system stored in system slot A can be selected for activation. In this case, system slot A is the startup slot of the vehicle controller. The second software system stored in system slot A can be used to provide complete business capabilities for the vehicle or a specific functional domain within the vehicle. System slot B can be used, but is not limited to, as the update target of an upgrade package, performing update operations according to the upgrade package.
[0044] In some embodiments, the vehicle controller further includes a bootloader, which, each time the vehicle controller starts, selects at least one of at least two system slots as the boot slot based on the attribute information of the system slots, i.e., attempts to activate the software system stored in that system slot. The attribute information of the system slots includes, for example, "active" information indicating the boot priority of the system slot, "bootable" information indicating whether the system slot is bootable, "successful" information indicating whether the system slot has been successfully booted, and "retry-count" information indicating the number of times the system slot can attempt to boot. The number of boot attempts indicated by the "retry-count" information can be adjusted according to actual application conditions, and this application does not impose any limitations in this regard.
[0045] When the system slots include system slot A and system slot B, and the attribute information of system slot A and system slot B is shown in Table 1, after the vehicle controller starts, the bootloader determines the system slot A with the highest boot priority based on the "active" information in the attribute information and attempts to start it. It then attempts to activate the software system stored in this boot slot. If the bootloader fails to start, it decrements the boot count indicated by the retry-count information of system slot A by 1 and continues to attempt to start from system slot A until the boot count indicated by the retry-count information reaches 0. If the bootloader succeeds, it modifies the "successful" information corresponding to system slot A to 1 (successfully started) and resets the retry-count information corresponding to system slot A.
[0046] Table 1
[0047]
[0048] Considering that in practical applications, updating the software system of the vehicle controller via OTA technology may pose risks such as leakage of user data, vehicle data, and other private data, as well as damage to the software system of the vehicle control unit, some embodiments include updating the first software system in the vehicle controller according to an upgrade package, which includes: verifying the upgrade package and determining the target upgrade package based on the verification result. For example, verifying the authenticity, integrity, and permissions of the upgrade package to ensure the reliability of the upgrade package's source, that the data in the upgrade package has not been damaged or lost, and that the data in the upgrade package complies with relevant regulations.
[0049] The authenticity of the upgrade package can be verified through methods such as using a digital signature provided by the upgrade package developer or a certificate issued by a trusted certificate authority to ensure the upgrade package's origin is trustworthy. The integrity of the upgrade package can be verified through methods such as using the hash value corresponding to the upgrade package. The permissions of the upgrade package can be verified through methods such as using authorization codes and licenses.
[0050] Considering the limited hardware and / or software resources such as computing and network resources in a vehicle, a high resource occupancy rate during the target slot update operation may affect the business functions executed by the currently activated second software system of the vehicle control unit, thereby impacting the driving experience. Therefore, in some embodiments, after obtaining the upgrade packages of multiple mirrored software systems in the vehicle controller, the software system upgrade method provided in this application further includes: stopping the update operation on the first software system if the temperature of the vehicle controller exceeds a specified temperature threshold and / or the system resource occupancy rate of the second software system exceeds a specified occupancy threshold. Here, the system resource occupancy rate indicates the occupancy rate of the second software system on any type of hardware and / or software resources such as computing and network resources in the vehicle.
[0051] Step S230: After the vehicle controller restarts, if the first software system is successfully updated, activate the updated first software system.
[0052] For example, after the first software system is successfully updated, the software system stored in the target slot is the updated first software system. Therefore, in order to fully utilize the value and functionality of the vehicle, after the vehicle controller restarts, the target slot can be selected as the new startup slot, and the updated first software system stored in the target slot can be activated to ensure the timeliness of the business functions running in the vehicle controller.
[0053] As mentioned earlier, each time the vehicle controller starts, the bootloader can select a system slot to start from based on the system slot's attribute information. To ensure that the bootloader correctly starts from the target slot and activates the updated first software system stored in the target slot after the vehicle controller restarts, the attribute information corresponding to multiple system slots in the vehicle controller can be modified after the first software system is successfully updated.
[0054] For example, if the system slots include system slot A and system slot B, and system slot A is the startup slot and system slot B is the target slot, the attribute information of the system slots in the vehicle controller before and after the first software system update is successful is shown in Table 2.
[0055] Table 2
[0056]
[0057] As shown in Table 2, before the modification (i.e., before the first software system was successfully updated), system slot A was the system slot with the highest boot priority. After the vehicle controller restarted, the bootloader would first attempt to boot from system slot A and activate the second software system stored in system slot A. After the first software system was successfully updated, the active information corresponding to system slot B could be modified to 1, bootable to 1, and the number of boot attempts indicated by the retry-count information could be modified to 3. The active information corresponding to system slot B could then be modified to 01, so that after the vehicle controller restarted, it could boot from system slot B, which had the highest boot priority, and activate the updated first software system stored in system slot B.
[0058] In some possible scenarios, with system slot A as the boot slot, system slot B can be used as the target slot, meaning the first software system in system slot B can be updated according to the upgrade package. In this case, to prevent system slot B from being booted due to unforeseen circumstances before the first software system in system slot B is successfully updated, the bootable information corresponding to system slot B can be modified to 0 during the update process. This prevents unwanted operations from causing system slot B to be booted.
[0059] To further improve the stability of the business functions running in the vehicle control unit and ensure the driving experience, the software system update method provided in this application embodiment further includes: if the first software system fails to update successfully after the vehicle controller restarts and the second software system is in a stopped state, the second software system is reactivated so that the vehicle control unit can run the expected business functions normally after restarting.
[0060] Considering that in practical applications, when the software system versions stored in multiple system slots of the vehicle control unit are different, the risk of the vehicle control unit failing to start may increase, necessitating timely synchronization of the software systems stored in at least two system slots. Furthermore, considering that some vehicle control units have high requirements for software system stability, the instability of the updated system after the first software system update may affect the operation of normal business functions in the vehicle. Therefore, in some embodiments, the software system update method provided in this application further includes: if the running time of the updated first software system after activation exceeds a specified time threshold, updating the second software system based on the updated first software system; or, if the number of successful activations of the updated first software system exceeds a specified number threshold, updating the second software system based on the updated first software system. The values of the specified time threshold and the specified number threshold can be adjusted according to actual application conditions, and this application does not impose any restrictions in this regard.
[0061] The technical solution provided in this application, on the one hand, enables the vehicle controller to obtain the corresponding upgrade package in a timely manner when the software system is updated, and update the first software system stored in the vehicle controller according to the upgrade package, by setting at least multiple mirror software systems in the vehicle controller. On the other hand, if the first software system is successfully updated, the updated first software system can be activated when the vehicle controller restarts next time, so as to avoid the update and switching of the software system from affecting the business capabilities running in the vehicle controller, thereby realizing the seamless update of the software system in the vehicle controller and improving the driving experience.
[0062] In some other possible implementations, this application also provides a software system update apparatus. Figure 3 This is a schematic diagram of the structure of the software system update device provided in the embodiments of this application. See also: Figure 3 The software system update device provided in this application embodiment includes an acquisition module 310, an update module 320, and an activation module 330.
[0063] The acquisition module 310 is configured to acquire upgrade packages for multiple mirror software systems in the vehicle controller.
[0064] The update module 320 is configured to update the first software system in the vehicle controller according to the upgrade package. The first software system is any software system other than the activated second software system among multiple mirror software systems.
[0065] Activation module 330 is configured to activate the updated first software system if the first software system is successfully updated after the vehicle controller restarts.
[0066] In some possible implementations, the activation module 330 is also configured to reactivate the second software system if the first software system fails to update successfully and the second software system is in a stopped state after the vehicle controller restarts.
[0067] In some possible implementations, the activation module 330 is further configured to update the second software system based on the updated first software system if the running time of the updated first software system after activation is greater than a specified time threshold; or, update the second software system based on the updated first software system if the number of times the updated first software system is successfully activated is greater than a specified number threshold; and activate at least one of the updated first software system and the updated second software system after the vehicle controller restarts.
[0068] In some possible implementations, when updating the first software system in the vehicle controller according to the upgrade package, the update module 320 is configured to: verify the upgrade package, determine the target upgrade package in the upgrade package based on the verification result after verification, and update the first software system according to the target upgrade package.
[0069] In some possible implementations, the update module 320 is configured to verify the authenticity, integrity, and permissions of the upgrade package when verifying the upgrade package.
[0070] In some possible implementations, after obtaining the upgrade package, the update module 320 is also configured to stop the update operation on the first software system if the temperature of the vehicle controller exceeds a specified temperature threshold and / or the system resource utilization rate of the second software system exceeds a specified utilization threshold.
[0071] It should be understood that the software system update apparatus and the software system update method provided in the above embodiments belong to the same concept, and the specific implementation process can be found in the software system update method embodiments.
[0072] In some other possible implementations, this application also provides an electronic device for updating a software system. Figure 4 This is a schematic diagram of the structure of an electronic device for updating a software system provided in an embodiment of this application. See also... Figure 4 The electronic device for updating a software system provided in this application includes the following structure.
[0073] Memory 410 stores at least one program instruction for updating the system. Processor 420 executes the aforementioned program instruction, causing the vehicle to achieve the above-mentioned connection. Figure 2The steps of the described method and its various embodiments are described below. Depending on the implementation, the processor 420 may be one or more types of processors, including but not limited to DSP (digital signal processor), ASIC (application specific integrated circuit), FPGA (field-programmable gate array), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc., and the number of such devices can be determined according to actual needs.
[0074] In some other possible implementations, this application also provides a computer program (product) comprising computer program / instructions, which are executed by a processor to cause the vehicle to achieve the above-described combination. Figure 2 The steps of the described method and its various embodiments.
[0075] In some other possible embodiments, this application also provides a computer-readable storage medium storing program instructions for adjusting the interior humidity of a vehicle, which, when executed by one or more processors, cause the vehicle to achieve the above-mentioned combination. Figure 2 The steps of the described method and its various embodiments are described. The computer-readable storage medium can be a readable signal medium or a readable storage medium. A readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of readable storage media (a non-exhaustive list) include: an electrical connection having one or more wires, a portable disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof.
[0076] In some other possible implementations, this application also provides a vehicle, the vehicle including Figure 3 The software system update device described in several embodiments thereof.
[0077] It should also be noted that the terms "first," "second," etc. (if applicable) in the specification and claims of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.
[0078] The term "and / or" in the embodiments of this application is merely a description of the relationship between related objects, indicating that there can be three relationships. For example, A and / or B can represent three situations: A exists alone, A and B exist simultaneously, and B exists alone.
[0079] The above description is only for the purpose of enabling those skilled in the art to understand the technical solution of this application and is not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the principles of this application shall be included within the scope of protection of this application.
Claims
1. A method for updating a software system, characterized in that, The method includes: Obtain upgrade packages for multiple mirror software systems in the vehicle controller; The first software system in the vehicle controller is updated according to the upgrade package. The first software system is any software system in the plurality of mirror software systems other than the activated second software system. After the vehicle controller restarts, if the first software system is successfully updated, the updated first software system will be activated.
2. The method according to claim 1, characterized in that, The method further includes: If the first software system fails to update successfully after the vehicle controller restarts, and the second software system is in a stopped state, the second software system will be reactivated.
3. The method according to claim 1, characterized in that, The method further includes: If the running time of the updated first software system after activation exceeds a specified time threshold, the second software system is updated according to the updated first software system; Alternatively, if the number of times the updated first software system has been successfully activated exceeds a specified threshold, the second software system is updated based on the updated first software system. After the vehicle controller restarts, at least one of the updated first software system and the updated second software system is activated.
4. The method according to claim 1, characterized in that, The step of updating the first software system in the vehicle controller according to the upgrade package includes: The upgrade package is verified, and the target upgrade package in the upgrade package is determined based on the verification result. Update the first software system according to the target upgrade package.
5. The method according to claim 4, characterized in that, The verification of the upgrade package includes: The authenticity, integrity, and permissions of the upgrade package are verified.
6. The method according to claim 4, characterized in that, After obtaining the upgrade package, the method further includes: If the temperature of the vehicle controller exceeds a specified temperature threshold and / or the system resource utilization rate of the second software system exceeds a specified utilization threshold, the update operation of the first software system shall be stopped.
7. A software system update device, characterized in that, The device includes an acquisition module, an update module, and an activation module; The acquisition module is configured to acquire upgrade packages for multiple mirror software systems in the vehicle controller; The update module is configured to update the first software system in the vehicle controller according to the upgrade package. The first software system is any software system in the plurality of mirror software systems except for the activated second software system. The activation module is configured to activate the updated first software system if the first software system is successfully updated after the vehicle controller restarts.
8. An electronic device, characterized in that, include: Memory, which stores program instructions for updating the system; as well as, A processor, when the program instructions are executed by the processor, causes the vehicle to perform the method described in any one of claims 1-6.
9. A computer-readable storage medium, characterized in that, It stores program instructions for updating the system, which, when executed by one or more processors, cause the vehicle to perform the method described in any one of claims 1-6.
10. A vehicle, characterized in that, The vehicle includes the software system update device as described in claim 7.