Software control method and device of domain controller and vehicle

By implementing the control of software startup instructions and matching and consistency comparison of real-time units and processing units in the domain controller, the matching and consistency problems in domain controller software updates and startups are solved, and the software update and startup needs in different scenarios are met, and the normal operation and fault warning of the domain controller are achieved.

CN120085934APending Publication Date: 2025-06-03BEIJING JINGWEI HIRAIN TECH CO INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510149562.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-02-11
Publication Date
2025-06-03

AI Technical Summary

Technical Problem

During the software update and startup process, it is difficult for the domain controller to ensure the matching and consistency of real-time unit and processing unit software, and at the same time, it cannot meet the customer's needs for software update and startup in different scenarios.

Method used

Provide a software control method for a domain controller, including obtaining software startup instructions, controlling the software code of starting the current valid storage area in the real-time unit and processing unit memory, and performing matching and consistency comparison after the real-time unit and processing unit are successfully started. If the comparison results are the same, the domain controller will run normally, otherwise a fault warning will be output.

Benefits of technology

It realizes that in the real-time unit and processing unit software operation of the domain controller, it actively performs software matching and consistency comparison to meet the requirements of software matching and consistency. At the same time, it can independently start and upgrade the real-time unit or processing unit to meet the requirements of software updates and startups in different scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120085934A_ABST
    Figure CN120085934A_ABST
Patent Text Reader

Abstract

The invention discloses a software control method and device of a domain controller and a vehicle. The method comprises the steps that a software starting instruction is obtained; controlling to start a software code of a current effective storage area in the real-time unit memory; after the real-time unit is successfully started, controlling to start software codes of a current effective storage area in a memory of the processing unit; after the processing unit is successfully started and changed, matching and consistency comparison is carried out; and if all comparison results of the matching and consistency comparison are the same, normally operating the domain controller. According to the scheme, in software operation of the real-time unit and the processing unit of the domain controller, software matching and consistency comparison can be actively carried out, the requirements of software matching and consistency are met, meanwhile, starting and upgrading control can be independently carried out on the real-time unit or the processing unit, and the requirements of software updating and starting in different scenes are met.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of ECU (Electronic Control Unit) software and hardware design in the field of automotive technology. More specifically, it relates to a software control method, device, and vehicle for a domain controller. Background Art

[0002] With the development of automotive electronic technology, the functions of the whole vehicle are becoming more and more electrified, and there are more and more electronic control units. The whole vehicle is divided into multiple domains from the electronic and electrical architecture (such as the power domain, chassis domain, body domain, infotainment domain, etc.). Each domain has its own independent functions and cooperates with each other. In order to reduce the mass of the whole vehicle, save costs, and meet the increasing electrification demand, domain controllers have emerged in the whole vehicle. Figure 1 For the schematic diagram of the vehicle network architecture disclosed in the present application, in combination with Figure 1 As shown, the whole vehicle is divided into several domains. Each domain consists of a domain controller and other functional ECUs, and the domain controllers are interconnected through a high-speed Ethernet.

[0003] Compared with traditional electronic control units, domain controllers integrate multiple processing units. These processing units are roughly divided into two categories. One is a real-time unit that meets the requirements of real-time control, and the other is an arithmetic unit (also called a processing unit) that meets the requirements of a large number of arithmetic functions. For these two types of units in the domain controller, during software update and startup processes, two problems need to be solved: how to ensure the matching and consistency of the software of the real-time unit and the processing unit, and how to meet the customer's requirements for software update and startup in different scenarios.

[0004] The existing software update and startup methods for domain controllers mainly include the bundled software upgrade and startup method, and the independent software upgrade and startup method. The bundled software upgrade and startup method solves the problem of matching and consistency of software update and startup, but cannot meet the customer's requirements for software update and startup in different scenarios; the independent software upgrade and startup method can meet the customer's requirements for software update and startup in different scenarios, but cannot solve the requirements for matching and consistency of software update and startup. Summary of the Invention

[0005] In view of this, the present application provides the following technical solutions:

[0006] The first aspect of the present application provides a software control method for a domain controller, including:

[0007] Obtain a software startup instruction;

[0008] Control the software code in the currently valid storage area of the real-time unit memory to start;

[0009] After the real-time unit is successfully started, control the software code in the currently valid storage area of the startup processing unit memory;

[0010] After the processing unit is successfully started, perform matching and consistency comparisons, including: comparing the software version of the currently started real-time unit with the pre-stored expected real-time unit software version, and comparing the software version of the currently started processing unit with the pre-stored expected processing unit software version and the matching processing unit software version respectively;

[0011] If the comparison results of all items in the matching and consistency comparisons are the same, run the domain controller normally.

[0012] In a possible implementation, the method further includes:

[0013] If any of the comparison results in the matching and consistency comparisons is different, output a fault warning.

[0014] In a possible implementation, the "if any of the comparison results in the matching and consistency comparisons is different, output a fault warning" includes:

[0015] If the software version of the currently started real-time unit is different from the pre-stored expected real-time unit software version, output a real-time unit software fault warning;

[0016] If the software version of the currently started processing unit is different from the pre-stored expected processing unit software version, output a processing unit software fault warning;

[0017] If the software version of the currently started processing unit is different from the pre-stored matching processing unit software version, output a software matching fault warning.

[0018] In a possible implementation, it further includes:

[0019] If the real-time unit startup fails, output a domain controller fault warning.

[0020] In a possible implementation, it further includes:

[0021] Obtain a software update instruction, where the software update instruction is a real-time unit update instruction and / or a processing unit update instruction;

[0022] Based on the software update instruction, perform software updates on the real-time unit and / or the processing unit;

[0023] After the software update is completed, update the expected real-time unit software version, the expected processing unit software version, and / or the matching processing unit software version based on the update content.

[0024] In a possible implementation, the software update of the real-time unit and / or the processing unit based on the software update instruction includes:

[0025] Download the updated software to a non-currently valid storage area in the real-time unit memory or the processing unit memory;

[0026] After the download of the updated software is completed, set the non-currently valid storage area as the currently valid storage area, and set the previous valid storage area as the non-currently valid storage area.

[0027] In a possible implementation, after the software update is completed, updating the stored expected real-time unit software version, expected processing unit software, and / or matching processing unit software version based on the update content includes:

[0028] After the software update of the real-time unit is completed, update the stored expected real-time unit software version and the matching processing unit software version based on the update content;

[0029] After the software update of the processing unit is completed, update the stored expected processing unit software version based on the update content.

[0030] In a possible implementation, after updating the expected real-time unit software version, expected processing unit software version, and / or matching processing unit software version based on the update content, it further includes:

[0031] Restart the domain controller system.

[0032] The second aspect of this application provides a software control device for a domain controller, including:

[0033] An instruction acquisition module, configured to acquire a software start instruction;

[0034] A real-time unit start module, configured to control the start of the software code in the currently valid storage area of the real-time unit memory;

[0035] A processing unit start module, configured to control the start of the software code in the currently valid storage area of the processing unit memory after the real-time unit is successfully started;

[0036] A version comparison module, configured to perform matching and consistency comparisons after the processing unit is successfully started, including: comparing the currently started real-time unit software version with the pre-stored expected real-time unit software version, and comparing the currently started processing unit software version with the pre-stored expected processing unit software and the matching processing unit software version respectively;

[0037] An operation control module, configured to normally operate the domain controller when all comparison results of the version comparison module are the same.

[0038] A third aspect of the present application provides a vehicle, including at least one processor and a memory connected to the processor, wherein:

[0039] The memory is used to store computer programs;

[0040] The processor is used to execute the computer program so that the vehicle can implement the software control method of any one of the above domain controllers.

[0041] Through the above technical solutions, embodiments of the present application disclose a software control method, device and vehicle for a domain controller. The method includes: obtaining a software start instruction; controlling the start of the software code in the currently valid storage area of the real-time unit memory; after the real-time unit is successfully started, controlling the start of the software code in the currently valid storage area of the processing unit memory; after the processing unit is successfully started, performing matching and consistency comparison, including: comparing the currently started real-time unit software version with the pre-stored expected real-time unit software version, and comparing the currently started processing unit software version with the pre-stored expected processing unit software and the matching processing unit software version respectively; if the comparison results of the matching and consistency comparison are all the same, the domain controller runs normally. The above solution can actively perform software matching and consistency comparison during the software operation of the real-time unit and processing unit of the domain controller, meet the requirements of software matching and consistency of the real-time unit and processing unit, and at the same time can independently control the start and upgrade of the real-time unit or processing unit to meet the needs of software update and start in different scenarios. BRIEF DESCRIPTION OF THE DRAWINGS

[0042] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the drawings required for the description of the embodiments or the prior art. Obviously, the drawings in the following description are only the embodiments of the present application. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained according to the provided drawings.

[0043] Figure 1 It is a schematic diagram of the vehicle network architecture disclosed in the present application;

[0044] Figure 2 It is a flowchart of a software control method for a domain controller disclosed in an embodiment of the present application;

[0045] Figure 3 It is a schematic diagram of the software storage of the traditional real-time unit and processing unit disclosed in the present application;

[0046] Figure 4 It is a schematic diagram of the software storage of the real-time unit and processing unit disclosed in an embodiment of the present application;

[0047] Figure 5 Flowchart of software update for the domain controller disclosed in the embodiments of the present application;

[0048] Figure 6 Structural schematic diagram of a software control device for a domain controller disclosed in the embodiments of the present application. Detailed implementation manners

[0049] Next, the technical solutions in the embodiments of the present application will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present application.

[0050] Figure 2 Flowchart of a software control method for a domain controller disclosed in the embodiments of the present application. Refer to Figure 2 As shown, the software control method for the domain controller may include:

[0051] Step 201: Obtain a software start instruction.

[0052] The software start instruction may be a start instruction for the domain controller, and may include, but is not limited to, power-on start, wake-up start, reset restart, etc.

[0053] Step 202: Control the software code in the currently valid storage area in the real-time unit memory.

[0054] The domain controller includes a real-time unit and a processing unit. In this embodiment, for the start of the domain controller, the real-time unit is started first.

[0055] The schematic diagram of software storage for the traditional real-time unit and processing unit is as Figure 3 shown. Both the memory 1 of the real-time unit and the memory 2 of the processing unit contain two storage areas. The software code of the real-time unit is stored in the RA area and the RB area of the memory 1, and the software code of the processing unit is stored in the PA area and the PB area of the memory 2. The reason for setting two storage areas for the real-time unit and the processing unit respectively is for the safe update and safe start of the software. When software is updated, if the currently valid area is the PA area (the code in the PA area that is running), then when the software is updated, the code in the PB area will be updated. If the update fails, it will not affect the operation and start of the PA area; if there is only one area, once the update fails, it will not be able to run normally and will not be able to start normally next time. During the start-up process, if the code in the RA area is damaged, the code in the RB area can be started. As long as one area can be started, the system can start and work normally; if there is only one area and it is damaged, the system will not be able to start and run normally.

[0056] For the two storage areas of the real-time unit, the RA area and the RB area, only one of them is the currently valid storage area, and the other is the non-currently valid storage area. When controlling the startup of the real-time unit, directly control the startup of the software code in the currently valid storage area of the real-time unit memory. The currently valid storage area can be the RA area or the RB area. It should be noted that in implementation, there may also be a situation where the startup of the software code in the currently valid storage area fails. In this case, the software code in the non-currently valid storage area of the real-time unit memory can be controlled to start. For example, if the currently valid storage area is the RA area and the startup of the software code in the RA area fails, then the software code in the RB area is started.

[0057] Step 203: After the real-time unit is successfully started, control the startup of the software code in the currently valid storage area of the processing unit memory.

[0058] After the real-time unit is successfully started, the real-time unit can control the startup of the processing unit. Similarly, only one of the two storage areas, the PA area and the PB area, of the processing unit is the currently valid storage area, and the other is the non-currently valid storage area. When controlling the startup of the processing unit, the software code in the currently valid storage area of the processing unit memory can be controlled to start first. In implementation, there may also be a situation where the startup of the software code in the currently valid storage area fails. In this case, the software code in the non-currently valid storage area of the processing unit memory can be controlled to start. For example, if the currently valid storage area is the PB area and the startup of the software code in the PB area fails, then the software code in the PA area is started.

[0059] Step 204: After the processing unit is successfully started, perform matching and consistency comparison, including: comparing the software version of the currently started real-time unit with the pre-stored expected real-time unit software version, and comparing the software version of the currently started processing unit with the pre-stored expected processing unit software version and the matching processing unit software version respectively.

[0060] After the real-time unit and the processing unit are both started, matching and consistency comparison can be performed to determine whether the software versions of the currently started real-time unit and the processing unit are the expected software versions, and whether the software versions of the currently started real-time unit and the processing unit match. Before the implementation of the solution of this application, the expected real-time unit software version, the expected processing unit software version, and the matching processing unit software version have been pre-stored in the domain controller. Therefore, in implementation, after the real-time unit and the processing unit are started, the real-time unit can read the corresponding software versions and perform matching and consistency comparison.

[0061] Step 205: If all the comparison results of the matching and consistency comparison are the same, run the domain controller normally.

[0062] If the software version currently running on the real-time unit is the expected software version, the software version currently running on the processing unit is also the expected software version, and it matches the software version currently running on the real-time unit, then the entire domain controller operates normally and provides support for the realization of vehicle functions.

[0063] In the solution described in this embodiment, during the software operation of the real-time unit and the processing unit of the domain controller, it can actively compare the software matching and consistency, meet the requirements of software matching and consistency between the real-time unit and the processing unit, and at the same time can independently control the startup and upgrade of the real-time unit or the processing unit to meet the needs of software update and startup in different scenarios.

[0064] Based on the disclosed content of the foregoing embodiment, in other implementations, the software control method of the domain controller may further include: if there is a difference in any comparison result of the matching and consistency comparison, output a fault warning.

[0065] Specifically, if the software version of the currently started real-time unit is different from the pre-stored expected real-time unit software version, a real-time unit software fault warning can be output; if the software version of the currently started processing unit is different from the pre-stored expected processing unit software version, a processing unit software fault warning can be output; if the software version of the currently started processing unit is different from the pre-stored matching processing unit software version, a software matching fault warning is output.

[0066] Figure 4 This is a schematic diagram of software storage for the real-time unit and the processing unit disclosed in the embodiments of the present application. Combining Figure 4 As shown, in one example, the real-time unit is configured with memory 1 and memory 3, and the processing unit is configured with memory 2; wherein memory 1 is used to store the real-time unit software (including current valid information, real-time unit software version), memory 2 is used to store the processing unit software (including current valid information, processing unit software version), and memory 3 is used to store the expected real-time software version, the expected processing unit software version, and the matching processing unit software version. Assume that the software version expression is Vm.n, where V represents Version; m is the main software version number, taking an integer value from 0 to 9; n is the secondary version number taking an integer value from 0 to 9. If in storage unit 3, the expected real-time version is V0.9, and the real-time unit software version in storage unit 1 is V0.8, then it is considered that there is a real-time unit software fault. If in storage unit 3, the matching processing unit software version is V0.9, and the processing unit software version in storage unit 2 is V1.0, then it is considered that there is a mismatch fault between the real-time unit software and the processing unit software.

[0067] In implementation, it is also possible that the software codes in both the current valid storage area and the non-current valid storage area of the real-time unit fail to start. In this case, it is determined that the real-time unit fails to start, and the vehicle system outputs a domain controller fault warning.

[0068] In a specific implementation, the software startup process of the domain controller may include:

[0069] The system starts, and the bootloader runs. This includes power-on startup, wake-up startup, reset restart, etc.;

[0070] Start the real-time unit, and the bootloader reads the current valid information in the RA area of Memory 1 (by reading the value stored in the memory. For example, set 0xAAAAFFFF as the current valid value, 0xAAAABBBB as the code valid but non-current valid, and other values as illegal values);

[0071] Combined with Figure 4 , if the value of the current valid information in Memory 1 is 0xAAAAFFFF (current valid), then start the RA software code, otherwise start the software in the RB area;

[0072] After the real-time unit starts successfully, the real-time unit startup processing unit is started. The real-time unit reads the current valid information in the PA area of Memory 2 (by reading the value stored in the memory. For example, set 0xAAAAFFFF as the current valid value, 0xAAAABBBB as the code valid but non-current valid, and other values as illegal values);

[0073] If the value of the current valid information in Memory 2 is 0xAAAAFFFF (current valid), then start the PA software code, otherwise start the software in the PB area;

[0074] Check the matching and consistency. Read the real-time unit software version (recorded as Vr) in Memory 1; read the processing unit software version (Vp) in Memory 2; read the expected real-time unit software version (Ver), the expected processing unit software version (Vep), and the matching processing unit software version (Vmp) in Memory 3. Compare Vr and Ver. If they are the same, it is considered that the real-time unit software starts normally, otherwise it is considered that the real-time unit software has a fault; compare Vp and Vep. If they are the same, it is considered that the processing unit software starts normally, otherwise it is considered that the processing unit software has a fault; compare Vp and Vmp. If they are the same, it is considered that the real-time unit and the processing unit software match, otherwise it is considered that there is a software matching fault;

[0075] Among them, real-time unit software failures include two cases: 1. The current active area cannot be started, but the backup area can be started. After the backup area is started, a real-time unit software failure will be reported (the code in the backup area may not be the latest version, and the code in the backup area may not be consistent with the current vehicle requirements, which may cause the vehicle functions to fail); 2. Neither the current active area nor the backup area can be started, then the entire system of the domain controller cannot be started. The controller itself cannot report a failure, but the vehicle will report a failure of this domain controller, and the vehicle cannot be used normally. To handle unit software failures, the real-time unit can be started normally and can report unit failures because the real-time unit can read Vr, Vp, Ver, Vep, and Vmp information;

[0076] If the real-time unit and the processing unit software are started normally and the software is matched, the system runs normally; otherwise, it enters the safe mode (the vehicle can continue to be used, but the functions and performance cannot be guaranteed), records the fault information, and actively sends a fault message to the vehicle. It can, but is not limited to, prompt the user of the software failure through the instrument panel or other interfaces that can warn the customer; thus, an active warning mechanism is implemented, and the flexibility, matching, and consistency requirements of the domain controller software startup are taken into account.

[0077] In other implementations, the software control method of the domain controller may further include the process of software update. Figure 5 This is the flowchart of the software update of the domain controller disclosed in the embodiments of this application. Refer to Figure 5 As shown, the software update process may include:

[0078] Step 501: Obtain a software update instruction, where the software update instruction is a real-time unit update instruction and / or a processing unit update instruction.

[0079] Step 502: Perform software update on the real-time unit and / or the processing unit based on the software update instruction.

[0080] Specifically, the updated software can be downloaded to the non-current active storage area in the real-time unit memory or the processing unit memory; then, after the updated software is downloaded, the non-current active storage area is set as the current active storage area, and the previous active storage area is set as the non-current active storage area to ensure that when the domain controller is started next time, the software code can be started according to the latest active storage area, ensuring that the latest software version is started.

[0081] Step 503: After the software update is completed, update the expected real-time unit software version, the expected processing unit software version, and / or the matching processing unit software version based on the update content.

[0082] Specifically, it may include updating the stored expected real-time unit software version and the matching processing unit software version based on the update content after the real-time unit software update is completed; after the processing unit software update is completed, updating the stored expected processing unit software version based on the update content. This can ensure that when the domain controller is started next time, matching and consistency comparisons can be made according to the latest expected real-time unit software version, expected processing unit software version, and / or matching processing unit software version, ensuring the normal operation of various vehicle functions.

[0083] In other implementations, after updating the expected real-time unit software version, expected processing unit software version, and / or matching processing unit software version, it may further include: restarting the domain controller system so that the domain controller runs according to the latest software version.

[0084] In a specific implementation, the software update process of the domain controller may include:

[0085] Start the software update process;

[0086] Combine Figure 4 , if updating the processing unit software, read the value of the current valid information in the PA area of the memory 2, and if PA is the valid area (0xAAAAFFFF), download the processed software to the PB area; otherwise download it to the PA area;

[0087] If the processing unit software is successfully downloaded and PA is the current valid area, set the PB area as the current valid area (0xAAAAFFFF), set PA as the non-current valid area (0xAAAABBBB); otherwise set PA as the current valid area and set PB as the non-current valid area; update the expected processing unit software version in the memory 3.

[0088] If updating the real-time unit software, read the current valid information in the RA area of the memory 1, and if RA is the valid area, download the processed software to the RB area; otherwise download it to the RA area.

[0089] If the download is successful and RA is the current valid area, set the RB area as the current valid area and set RA as the non-current valid area; otherwise set RA as the current valid area and set RB as the non-current valid area; update the expected real-time unit software version and the matching processing unit software version in the memory 3. In this way, an active recovery mechanism is implemented, taking into account the flexibility, matching, and consistency requirements of the domain controller software update and startup;

[0090] Restart the domain controller system.

[0091] The software update method of the domain controller in this embodiment can independently update the software of the real-time unit or the processing unit, meeting the flexibility requirements of software updates; and after the software update is successful, it can synchronously update the expected real-time unit software version, the expected processing unit software version, and / or the matching processing unit software version, ensuring that when the domain controller starts up next time, it can perform matching and consistency comparisons based on the latest expected data, and ensuring the software matching and consistency requirements of the real-time unit and the processing unit during software operation; in addition, the solution can actively give early warnings when it is found that there are inconsistencies or mismatches in the software versions of the real-time unit or the processing unit, providing more guarantees for vehicle safety.

[0092] For the foregoing method embodiments, for the sake of simple description, they are all expressed as a series of action combinations. However, those skilled in the art should know that this application is not limited by the described action sequence, because according to this application, certain steps can be performed in other sequences or simultaneously. Secondly, those skilled in the art should also know that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily essential to this application.

[0093] In the above embodiments disclosed in this application, the method is described in detail. The method of this application can be implemented by means of devices in various forms. Therefore, this application also discloses a device, and specific embodiments are given below for detailed description.

[0094] Figure 6 It is a structural schematic diagram of a software control device of a domain controller disclosed in an embodiment of this application. Refer to Figure 6 As shown, the software control device 60 of the domain controller may include:

[0095] An instruction acquisition module 601, configured to acquire a software start instruction.

[0096] A real-time unit start module 602, configured to control the start of the software code in the currently valid storage area in the real-time unit memory.

[0097] A processing unit start module 603, configured to control the start of the software code in the currently valid storage area in the processing unit memory after the real-time unit is successfully started.

[0098] A version comparison module 604, configured to perform matching and consistency comparisons after the processing unit is successfully started, including: comparing the currently started real-time unit software version with the pre-stored expected real-time unit software version, and comparing the currently started processing unit software version with the pre-stored expected processing unit software and the matching processing unit software version respectively.

[0099] The operation control module 605 is used to operate the domain controller normally when the comparison results of the version comparison modules are all the same.

[0100] The solution described in this embodiment can actively perform software matching and consistency comparison during the software operation of the real-time unit and the processing unit of the domain controller to meet the requirements of software matching and consistency of the real-time unit and the processing unit. At the same time, it can independently start and upgrade the real-time unit or the processing unit to meet the needs of software update and startup in different scenarios.

[0101] The specific implementation of the software control device of the domain controller and the modules included therein can be found in the corresponding parts of the method embodiment, which will not be repeated here.

[0102] The software control device of any domain controller described in the above embodiments includes a processor and a memory. The instruction acquisition module, real-time unit startup module, processing unit startup module, version comparison module, operation control module, etc. in the above embodiments are all stored in the memory as program modules, and the processor executes the above program modules stored in the memory to realize corresponding functions.

[0103] The processor includes a kernel, which retrieves the corresponding program module from the memory. One or more kernels can be set, and the processing of the access data can be realized by adjusting the kernel parameters.

[0104] The memory may include non-permanent memory in a computer-readable medium, random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM, and the memory includes at least one memory chip.

[0105] In an exemplary embodiment, a computer-readable storage medium is also provided, which can be directly loaded into the internal memory of a computer and contains software code. After being loaded and executed by a computer, the computer program can implement the steps shown in any embodiment of the software control method of the domain controller described above.

[0106] In an exemplary embodiment, a computer program product is also provided, which can be directly loaded into the internal memory of a computer, wherein the computer program contains software codes, and after being loaded and executed by a computer, the computer program can implement the steps shown in any embodiment of the software control method of the domain controller described above.

[0107] Furthermore, an embodiment of the present application provides a vehicle, comprising at least one processor and a memory connected to the processor, wherein: the memory is used to store a computer program; the processor is used to execute the computer program, so that the vehicle can implement any one of the software control methods of the domain controller in the aforementioned embodiments.

[0108] In this specification, the various embodiments are described in a progressive manner. Each embodiment focuses on the differences from other embodiments. For the same or similar parts among the various embodiments, reference can be made to each other. For the devices disclosed in the embodiments, since they correspond to the methods disclosed in the embodiments, the description is relatively simple. For the relevant parts, reference can be made to the description in the method section.

[0109] It should also be noted that in this text, relational terms such as "first" and "second" are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the term "comprising", "including" or any other variant thereof is intended to cover non-exclusive inclusion, such that a process, method, article or device comprising a series of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article or device. Without further limitation, an element defined by the statement "comprising an..." does not exclude the existence of additional identical elements in the process, method, article or device comprising the said element.

[0110] The steps of the methods or algorithms described in connection with the embodiments disclosed herein can be implemented directly in hardware, in software modules executed by a processor, or in a combination of both. The software modules can be placed in a random access memory (RAM), internal memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, removable disk, CD-ROM, or any other form of storage medium known in the art.

[0111] The above description of the disclosed embodiments enables those skilled in the art to implement or use the present application. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein can be implemented in other embodiments without departing from the spirit or scope of the present application. Therefore, the present application will not be limited to the embodiments shown herein, but will be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A software control method for a domain controller, characterized in that: include: Get software startup instructions; Controlling software code for starting a currently valid storage area in a real-time unit memory; After the real-time unit is successfully started, the software code controlling the currently valid storage area in the memory of the startup processing unit; After the processing unit is successfully started, a matching and consistency comparison is performed, including: comparing the currently started real-time unit software version with the pre-stored expected real-time unit software version, and comparing the currently started processing unit software version with the pre-stored expected processing unit software version and the matching processing unit software version; If the matching and consistency comparison results are the same, the domain controller operates normally.

2. The software control method of a domain controller according to claim 1, characterized in that: Also includes: If any of the matching and consistency comparison results are different, a fault warning is output.

3. The software control method of a domain controller according to claim 2, characterized in that: If any comparison result of the matching and consistency comparison is different, outputting a fault warning includes: If the currently started real-time unit software version is different from the pre-stored expected real-time unit software version, a real-time unit software failure warning is output; If the currently started processing unit software version is different from the pre-stored expected processing unit software version, a processing unit software failure warning is output; If the software version of the currently started processing unit is different from the pre-stored matching processing unit software version, a software matching failure warning is output.

4. The software control method of a domain controller according to claim 1, characterized in that: Also includes: If the real-time unit fails to start, a domain controller failure warning is output.

5. The software control method of a domain controller according to claim 1, characterized in that: Also includes: Obtaining a software update instruction, wherein the software update instruction is a real-time unit update instruction and / or a processing unit update instruction; Performing software update on the real-time unit and / or the processing unit based on the software update instruction; After the software update is completed, the expected real-time unit software version, the expected processing unit software version and / or the matching processing unit software version are updated based on the updated content.

6. The software control method of a domain controller according to claim 5, characterized in that: The performing software updating on the real-time unit and / or the processing unit based on the software update instruction comprises: Downloading the update software to a non-currently valid storage area in the real-time unit memory or the processing unit memory; After the update software is downloaded, the non-currently valid storage area is set as the currently valid storage area, and the previous valid storage area is set as the non-currently valid storage area.

7. The software control method of a domain controller according to claim 5, characterized in that: After the software update is completed, the stored expected real-time unit software version, expected processing unit software and / or matching processing unit software version are updated based on the updated content, including: After the real-time unit software update is completed, the stored expected real-time unit software version and the matching processing unit software version are updated based on the updated content; After the processing unit software update is completed, the stored expected processing unit software version is updated based on the updated content.

8. The software control method of a domain controller according to claim 5, characterized in that: After the expected real-time unit software version, the expected processing unit software version and / or the matching processing unit software version are updated based on the update content, the following further includes: Restart the domain controller system.

9. A software control device for a domain controller, characterized in that: include: An instruction acquisition module, used to obtain software startup instructions; A real-time unit startup module, used for controlling and starting the software code of the current valid storage area in the real-time unit memory; The processing unit startup module is used to control the software code of the current valid storage area in the startup processing unit memory after the real-time unit is successfully started; A version comparison module is used to perform matching and consistency comparison after the processing unit is successfully started, including: comparing the currently started real-time unit software version with the pre-stored expected real-time unit software version, and comparing the currently started processing unit software version with the pre-stored expected processing unit software and matching processing unit software versions respectively; The operation control module is used to operate the domain controller normally when the comparison results of the version comparison modules are all the same.

10. A vehicle, characterized in that: The method comprises at least one processor and a memory connected to the processor, wherein: The memory is used to store computer programs; The processor is used to execute the computer program so that the vehicle equipment can implement the software control method of the domain controller as described in any one of claims 1 to 8.