Firmware upgrading method, domain controller system, OTA upgrading system, computer equipment, storage medium, program product and mobile platform
By configuring the upgrade architecture of the master SOC node and child SOC nodes in the domain controller, the firmware upgrade process of multiple heterogeneous SoCs is simplified, the complex upgrade logic problem in the existing technology is solved, and the reliability and efficiency of the upgrade are improved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-23
- Publication Date
- 2026-03-24
AI Technical Summary
In the automotive field, the firmware upgrade processing logic of domain controllers with multiple heterogeneous SoCs is complex and unreliable, especially when the firmware on each storage device needs to be updated, the vehicle upgrade master node needs to handle multiple upgrade nodes.
The domain controller is configured with an upgrade architecture consisting of a master SOC node and multiple sub-SOC nodes. The upgrade control module of the master SOC node is used to confirm the SOC node to be upgraded and distribute the upgrade package, which simplifies the firmware upgrade process.
The reliability of firmware upgrades has been improved and the processing logic has been simplified, enabling the vehicle upgrade master node to interact with only one master SOC node within the domain controller, thereby improving the stability and efficiency of the upgrade.
Smart Images

Figure CN121728079A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of firmware upgrade, in particular to a firmware upgrade method, a domain controller system, an OTA upgrade system, a computer device, a storage medium, a program product and a mobile platform. BACKGROUND
[0002] In the field of vehicle, the OTA function of ECU (Electronic Control Unit) is increasingly becoming a necessity. The domain controller (Domain Control Unit, DCU) of automatic driving is increasingly complex. For the domain controller of multi-heterogeneous SoC (System on Chip, SoC for short), each storage device on each SoC is often equipped with firmware that needs to be updated. If each SoC equipped with a storage device is regarded as an upgrade node, the OTA master node (for example, an OTA master) needs to handle multiple upgrade nodes of the domain controller, and the processing logic is relatively complex and unreliable. SUMMARY
[0003] The embodiments of the present application provide a firmware upgrade method, a domain controller system, an OTA upgrade system, a computer device, a storage medium, a program product and a mobile platform, which are used to at least solve one of the above technical problems.
[0004] In a first aspect, the embodiments of the present application provide a firmware upgrade method for a domain controller, wherein the domain controller includes a plurality of SoCs, and the method includes: configuring one of the plurality of SoCs as a master SOC node and configuring other SoCs as slave SOC nodes; wherein the master SOC node includes an upgrade control module; determining a to-be-upgraded SOC node according to a received firmware upgrade package; wherein the firmware upgrade package includes a standard upgrade package, and the to-be-upgraded SOC node includes the master SOC node and / or the slave SOC node; distributing a corresponding standard upgrade package to an upgrade execution module of the to-be-upgraded SOC node to complete firmware upgrade of the domain controller.
[0005] In some embodiments, the master SOC node further includes an upgrade adaptation module, and the method further includes: the upgrade adaptation module processes an external upgrade signal received from an OTA master to obtain an internal upgrade signal adapted to the master SOC node.
[0006] In some embodiments, the external upgrade signal includes an external upgrade package and an external upgrade instruction. The upgrade adaptation module processes an external upgrade signal received from the OTA master to obtain an internal upgrade signal adapted to the master SOC node, including: converting the external upgrade package and external upgrade instruction into an internal upgrade package and internal upgrade instruction according to an external upgrade interface and process corresponding to the external upgrade signal.
[0007] In some embodiments, the master SOC node further includes an upgrade application module, and the method further includes: the upgrade application module invoking a corresponding function of the upgrade control module according to the internal upgrade instruction received from the upgrade adaptation module.
[0008] In some embodiments, the firmware upgrade method further includes: the upgrade application module determining a firmware upgrade package according to the internal upgrade package and the firmware to be upgraded, and sending the firmware upgrade package to the upgrade control module.
[0009] In a second aspect, the embodiments of the present application provide a domain controller system, including: a plurality of SOCs; wherein one of the plurality of SOCs is configured as a master SOC node, and the other SOC nodes are configured as slave SOC nodes; The master SOC node includes an upgrade control module configured to determine a SOC node to be upgraded according to a received firmware upgrade package; wherein the firmware upgrade package includes a standard upgrade package, and the SOC node to be upgraded includes the master SOC node and / or the slave SOC node; The upgrade control module is further configured to distribute a corresponding standard upgrade package to an upgrade execution module of the SOC node to be upgraded, so as to complete firmware upgrade of the domain controller.
[0010] In some embodiments, the master SOC node further includes an upgrade adaptation module configured to process an external upgrade signal received from the OTA master to obtain an internal upgrade signal adapted to the master SOC node.
[0011] In some embodiments, the external upgrade signal includes an external upgrade package and an external upgrade instruction; The upgrade adaptation module processes an external upgrade signal received from the OTA master to obtain an internal upgrade signal adapted to the master SOC node, including: converting the external upgrade package and external upgrade instruction into an internal upgrade package and internal upgrade instruction according to an external upgrade interface and process corresponding to the external upgrade signal.
[0012] In some embodiments, the master SOC node further includes an upgrade application module configured to invoke a corresponding function of the upgrade control module according to the internal upgrade instruction received from the upgrade adaptation module.
[0013] In some embodiments, the application upgrade module is further configured to determine a firmware upgrade according to the internal upgrade package and the firmware to be upgraded, and send to the upgrade control module.
[0014] In a third aspect, the embodiments of the present application provide an OTA upgrade system, comprising an OTA master and at least one domain controller system in communication connection with the OTA master, wherein the at least one domain controller system is the domain controller system according to any of the embodiments of the present application.
[0015] In a fourth aspect, the embodiments of the present application provide a computer device, comprising a memory, a processor and a computer program stored in the memory, wherein the processor executes the computer program to implement the steps of the method according to any of the embodiments of the present application.
[0016] In a fifth aspect, the embodiments of the present application provide a computer readable storage medium, having a computer program / instruction stored thereon, wherein the computer program / instruction is executed by a processor to implement the steps of the method according to any of the embodiments of the present application.
[0017] In a sixth aspect, the embodiments of the present application provide a computer program product, comprising a computer program / instruction, wherein the computer program / instruction is executed by a processor to implement the steps of the method according to any of the embodiments of the present application.
[0018] In a seventh aspect, the embodiments of the present application provide a mobile platform, wherein the OTA upgrade system according to any of the embodiments of the present application is installed.
[0019] In the embodiments of the present application, the domain controller is configured as a master SOC node + multiple sub-SOC nodes of the upgrade architecture, so that when the firmware of the domain controller is upgraded, the whole vehicle upgrade master node only needs to interact with one master SOC node in the domain controller, and the upgrade control module of the master SOC node is used to confirm the SOC node to be upgraded and distribute the upgrade package, thereby simplifying the processing logic of the firmware upgrade and improving the reliability of the firmware upgrade. BRIEF DESCRIPTION OF DRAWINGS
[0020] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following will briefly introduce the drawings needed in the embodiment description. Obviously, the drawings in the following description are some embodiments of the present application, and other drawings can also be obtained by those skilled in the art without creative labor.
[0021] Figure 1 Flowchart of an embodiment of the firmware upgrade method of the present application; Figure 2 Principle block diagram of an embodiment of the domain controller system of the present application; Figure 3 Fig. 1 is a structural schematic diagram of an embodiment of a computer device of the present application. DETAILED DESCRIPTION
[0022] In order to make the objectives, technical solutions and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only some but not all of the embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative work fall within the scope of the present application. It should be noted that the embodiments in the present application and the features in the embodiments can be combined with each other without conflict.
[0023] It should also be noted that, in this document, the terms “comprising” and “including” not only include those elements but also include other elements not explicitly listed or inherent to such processes, methods, articles or devices. Without more limitations, the elements defined by the statement “comprising” do not exclude the presence of other identical elements in the process, method, article or device comprising the elements.
[0024] The present application takes the entire domain controller as a whole, and the firmware on all SoC storage devices inside is placed in a complete upgrade package, which is distributed, verified and installed by the domain controller inside, and the modular design is used to complete the OTA upgrade of the domain controller of multiple heterogeneous SoCs. The subsequent embodiments will be described.
[0025] As shown in Figure 1 The embodiments of the present application provide a firmware upgrade method for a domain controller, wherein the domain controller includes multiple SoCs, and the method includes: S10, one of the multiple SoCs is configured as a master SOC node, and the other SoC nodes are configured as slave SOC nodes; wherein the master SOC node includes an upgrade control module (Update Controller).
[0026] Exemplarily, each SOC includes a storage device for storing firmware. The storage device includes but is not limited to eMMC, UFS and Flash. The UFS (Universal Flash Storage) is a general flash storage; the eMMC is a short name of embedded MultiMediaCard, i.e. an embedded multimedia card; and the Flash memory (FLASH EEPROM) is also called flash memory.
[0027] In some embodiments, a SOC node with higher computing power and / or larger storage space is selected from the plurality of SOCs as a master SOC node, and the master SOC node is configured to be directly or indirectly communicatively connected with an external OTA master, and the master SOC node is further configured with an upgrade control module.
[0028] S20, the upgrade control module determines the SOC node to be upgraded according to the received firmware upgrade package; wherein, optionally, the firmware upgrade package includes a standard upgrade package, and the SOC node to be upgraded includes the master SOC node and / or the sub-SOC node.
[0029] Exemplarily, the firmware upgrade package can come from a vehicle upgrade master node (e.g., an OTA master), and the firmware upgrade package includes a configuration file and at least one standard upgrade package, and the configuration file includes a correspondence between the at least one standard upgrade package and the SOC node to be upgraded.
[0030] Further, the upgrade control module parses the received firmware upgrade package to determine the SOC node to be upgraded. For example, the configuration file includes a correspondence between the node identification information of the SOC node to be upgraded and the identification of the standard upgrade package, and the upgrade control module obtains the configuration file by parsing the firmware upgrade package, and further determines the SOC node to be upgraded according to the configuration file. Wherein, the SOC node to be upgraded can be the master SOC node itself, or a sub-SOC node.
[0031] In addition, the upgrade control module is further configured to perform firmware upgrade data verification, firmware version number management, and upgrade strategy execution (e.g., AB dual-partition upgrade strategy, AB partition synchronization strategy), and the specific implementation manner can refer to related technologies, which are not limited herein.
[0032] S30, the corresponding standard upgrade package is distributed to the upgrade execution module (Update Executor) of the SOC node to be upgraded, so as to complete the firmware upgrade of the domain controller.
[0033] The plurality of SOCs of the domain controller are respectively configured with an upgrade execution module, which is used to complete the firmware upgrade of the domain controller according to the received standard upgrade package. After the upgrade control module determines the SOC node to be upgraded, at least one standard upgrade package obtained by parsing the firmware upgrade package is distributed to the corresponding SOC node to be upgraded.
[0034] In this embodiment, the domain controller is configured as a master SOC node + multiple sub-SOC nodes of the upgrade architecture, so that when the firmware of the domain controller is upgraded, the whole vehicle upgrade master node only needs to interact with one master SOC node in the domain controller, and the upgrade control module of the master SOC node confirms the to-be-upgraded SOC node and distributes the upgrade package, which simplifies the processing logic of the firmware upgrade and improves the reliability of the firmware upgrade.
[0035] In some embodiments, the master SOC node further comprises an upgrade adapter module (Update Adapter), and the upgrade control module is directly or indirectly connected with the OTA master through the upgrade adapter module; and the firmware upgrade method further comprises: the upgrade adapter module processes the external upgrade signal received from the OTA master to obtain an internal upgrade signal adapted to the master SOC node.
[0036] Exemplarily, the external upgrade signal comprises an external upgrade package and an external upgrade instruction; and the internal upgrade signal comprises an internal upgrade package and an internal upgrade instruction. The upgrade adapter module processes the external upgrade signal received from the OTA master to obtain an internal upgrade signal adapted to the master SOC node, comprising: converting the external upgrade package and the external upgrade instruction into the internal upgrade package and the internal upgrade instruction according to the external upgrade interface and the process corresponding to the external upgrade signal.
[0037] Further, after obtaining the internal upgrade signal, the upgrade adapter module directly or indirectly sends the internal upgrade signal to the upgrade control module.
[0038] Exemplarily, the internal upgrade package is a difference package between the to-be-upgraded firmware and the firmware upgrade package. When the upgrade adapter module directly sends the internal upgrade signal to the upgrade control module, the upgrade control module can analyze the internal upgrade signal to determine the internal upgrade package, and determine the firmware upgrade package according to the internal upgrade package and the to-be-upgraded firmware, and finally distribute it to the corresponding to-be-upgraded SOC node; when the upgrade adapter module indirectly (for example, through the upgrade application module, and the upgrade application module determines the firmware upgrade package according to the internal upgrade package and the to-be-upgraded firmware, which will be described in subsequent embodiments, and will not be repeated here) sends the internal upgrade signal to the upgrade control module, the upgrade control module determines the corresponding to-be-upgraded SOC node according to the indirectly received firmware upgrade package, and distributes the firmware upgrade package.
[0039] Exemplarily, the internal upgrade package is a firmware upgrade package, and the upgrade control module can directly determine the corresponding to-be-upgraded SOC node according to the internal upgrade instruction and distribute the internal upgrade package.
[0040] The upgrade adaptation module is responsible for interacting with the vehicle's upgrade master control node (e.g., OTA master control) and receiving upgrade packages and upgrade commands. The upgrade adaptation module has built-in external upgrade interfaces and processes (e.g., corresponding built-in programs) to adapt to various upgrade methods (e.g., UDS, HTTPS). It can find the corresponding external upgrade interface and process based on external upgrade signals, convert the external upgrade signals into internal signals, mask the differences, and ensure the stability of downstream upgrade modules. The upgrade interfaces and processes of different OTA master controls (usually defined by the OEM, OEM stands for Original Equipment Manufacture) may differ. Based on the OEM-defined OTA master control's upgrade interface and process, the upgrade adaptation module performs corresponding adaptation and implementation, and then converts the relevant external upgrade packages and upgrade commands into internally defined internal upgrade packages and internal upgrade commands. The internal upgrade package is either a firmware upgrade package or a differential package, which needs to be differentially restored using the firmware to be upgraded to obtain the firmware upgrade package.
[0041] For example, the external upgrade signal includes corresponding interface information and corresponding process information. One optional implementation of finding the corresponding external upgrade interface and process based on the external upgrade signal in the above embodiments includes: determining the corresponding interface information and corresponding process information based on the external upgrade signal, and then searching for the corresponding interface and process based on the corresponding interface information and corresponding process information. It should be noted that the above is merely an example, and this application does not limit the scope of the invention.
[0042] For example, the downstream upgrade module mentioned in the above embodiments includes an upgrade control module (UpdateController) and an upgrade execution module (Update Executor). By shielding the differences between different OEMs through the upgrade adaptation module, when the upgrade interface / process changes, the downstream upgrade module does not need to make corresponding adaptations and modifications, thereby simplifying the complexity of the upgrade and improving the stability of the upgrade.
[0043] In some embodiments, the master control SOC node further includes an update application module (Update APP) located between the upgrade control module and the upgrade adaptation module. The firmware upgrade method further includes: the update application module calling the corresponding function of the upgrade control module according to the internal upgrade instruction received from the upgrade adaptation module.
[0044] In some embodiments, an internal standard interface is predefined between the upgrade adapter module and the upgrade application module for commands such as file transfer, start installation, and post-installation checks.
[0045] For example, the upgrade application module is responsible for calling various capabilities of the upgrade capability layer (including the upgrade control module and the upgrade execution module) to complete the corresponding upgrade functions, and can flexibly orchestrate upgrade tasks according to the needs of the OTA master controller. The upgrade capability layer provides a complete set of capabilities, but each OEM may only use a portion of them; the Update APP calls the corresponding capabilities of the upgrade capability layer according to the instructions sent by the OTA master controller (which will be converted by the Update Adapter), and this process is called on-demand orchestration.
[0046] For example, invoking various capabilities of the upgrade capability layer to complete the corresponding upgrade function includes: calling the standardized interface corresponding to the upgrade capability layer. This standardized interface is an interface obtained by abstracting the relatively independent functional capabilities of the upgrade capability layer. The Update APP makes the corresponding calls based on the upgrade instructions received from the OTA master control by the Update Adapter, thereby flexibly orchestrating upgrade tasks according to the needs of the OTA master control.
[0047] In some embodiments, abstracting the business orchestration portion of the upgrade functionality into an upgrade application module can decouple business and capabilities. The upgrade application module, as an upgrade application, can handle various complex upgrade business defined by OEMs.
[0048] In some embodiments, the firmware upgrade method further includes: the upgrade application module determining a firmware upgrade package based on the internal upgrade package and the firmware to be upgraded, and sending it to the upgrade control module.
[0049] For example, the internal upgrade package is a differential package between the firmware to be upgraded and the firmware upgrade package. The required firmware upgrade package can be restored by using this differential package and the firmware to be upgraded. For example, a differential package means that if two firmware versions have some differences but are the same in other parts, then the differential package of these two firmware versions only contains the differences.
[0050] During the upgrade, the OTA controller only needs to transmit the differential packet. The upgrade application module then uses the current firmware version and the differential packet to restore the target firmware version, thereby upgrading the SOC to the target firmware version. The restoration method is related to the method of creating the differential packet, and specialized tools from relevant technologies can be used. This application does not limit the specific restoration method, and it will not be elaborated here. This embodiment saves upgrade time and upgrade bandwidth (the upgrade package needs to be downloaded from the cloud to the OTA controller on the vehicle, thus requiring bandwidth) by using the differential packet.
[0051] In some embodiments, the OTA master controller directly sends a complete firmware upgrade package (which contains the complete standard upgrade package required for upgrading the master SOC node and / or child SOC nodes). Therefore, it is only necessary to determine the standard upgrade package required for the master SOC node and / or child SOC node from the firmware upgrade package. For example, the firmware upgrade package includes a configuration file and at least one standard upgrade package. The configuration file includes a correspondence between at least one standard upgrade package and the SOC node to be upgraded. The upgrade control module obtains the configuration file by parsing the firmware upgrade package, and then further determines the SOC node to be upgraded and the corresponding standard upgrade package based on the configuration file. The SOC node to be upgraded can be the master SOC node itself or a child SOC node.
[0052] In some embodiments, the upgrade application module is used to convert the differential packets received from the OTA master controller, including but not limited to signature verification, decryption, decompression, differential packet restoration, etc., to restore them into the standard upgrade packets received by the upgrade capability layer.
[0053] For example, OEMs may process firmware upgrade packages according to their own solutions, including signing, encryption, compression, and differential processing, to obtain differential packages. On the domain controller side, this requires signature verification, decryption, decompression, and differential restoration, but these logics are not intended to be passed through to the upgrade capability layer. Therefore, this application configures the upgrade application module to handle these logics; that is, the upgrade application module performs signature verification, decryption, decompression, and differential package restoration processing on the differential packages to obtain at least one standard upgrade package. Furthermore, at least one standard upgrade package can be packaged into a single firmware upgrade package and sent to the upgrade control module; or at least one standard upgrade package can be directly sent to the upgrade control module, so that the upgrade control module can distribute the standard upgrade package to the corresponding master SOC node and / or sub-SOC node.
[0054] In this context, "signature verification" is a technical term in the field of cybersecurity. When an OEM creates an OTA upgrade package, it will sign the upgrade package to indicate that the upgrade package was issued by the corresponding OEM. When the ECU receives the OTA upgrade package, it will verify whether the signature was indeed issued by the corresponding OEM to ensure data trustworthiness.
[0055] like Figure 2 The diagram shown is a schematic block diagram of an embodiment of the domain controller system of this application. In this embodiment, the domain controller system includes: Multiple SOCs; wherein, one of the multiple SOCs is configured as the master SOC node, and the other SOC nodes are configured as child SOC nodes.
[0056] The master control SOC node includes an upgrade control module configured to determine the SOC node to be upgraded based on the received firmware upgrade package; wherein, the firmware upgrade package includes a standard upgrade package, and the SOC node to be upgraded includes the master control SOC node and / or a sub-SOC node.
[0057] The upgrade control module is also configured to distribute the corresponding standard upgrade package to the upgrade execution module of the SOC node to be upgraded in order to complete the firmware upgrade of the domain controller.
[0058] In this embodiment, by configuring the domain controller into an upgrade architecture of a master SOC node and multiple sub-SOC nodes, when performing firmware upgrades on the domain controller, the vehicle upgrade master node only needs to interact with one master SOC node within the domain controller. The upgrade control module of the master SOC node confirms the SOC node to be upgraded and distributes the upgrade package, simplifying the firmware upgrade processing logic and improving the reliability of firmware upgrades.
[0059] like Figure 2 As shown, exemplarily, multiple SOCs include SOC#1, SOC#2, and SOC#3. SOC#1 is configured as the master SOC node, while SOC#2 and SOC#3 are configured as child SOC nodes. Each SOC includes a storage device for storing firmware. This storage device includes, but is not limited to, eMMC, UFS, and Flash. UFS (Universal Flash Storage) is general-purpose flash memory; eMMC is short for embedded MultiMediaCard; and Flash memory (FLASH EEPROM) is also known as flash storage.
[0060] like Figure 2 As shown, the firmware upgrade package can come from the vehicle upgrade master node (e.g., OTA master node). The firmware upgrade package includes a configuration file and at least one standard upgrade package. The configuration file includes the correspondence between at least one standard upgrade package and the SOC node to be upgraded.
[0061] Furthermore, the upgrade control module parses the received firmware upgrade package to determine the SOC node to be upgraded. For example, the configuration file includes the correspondence between the node identifier information of the SOC node to be upgraded and the standard upgrade package identifier. The upgrade control module obtains the configuration file by parsing the firmware upgrade package, and then further determines the SOC node to be upgraded based on the configuration file. The SOC node to be upgraded can be the master SOC node itself or a child SOC node.
[0062] In addition, the upgrade control module is also configured to perform firmware upgrade data verification, firmware version number management, and upgrade strategy execution (e.g., AB dual-partition upgrade strategy, AB partition synchronization strategy). The specific implementation method can refer to relevant technologies, and this application does not limit it.
[0063] like Figure 2 As shown, each of the domain controller's multiple System-on-Chip (SOC) nodes is configured with an upgrade execution module, which is used to complete the firmware upgrade of the domain controller based on the received standard upgrade package. After determining the SOC node to be upgraded, the upgrade control module distributes at least one standard upgrade package obtained by parsing the firmware upgrade package to the corresponding SOC node to be upgraded.
[0064] like Figure 2 As shown, in some embodiments, the master control SOC node further includes an upgrade adaptation module, configured to process external upgrade signals received from the OTA master control to obtain internal upgrade signals adapted to the master control SOC node.
[0065] For example, the external upgrade signal includes an external upgrade package and an external upgrade command. The upgrade adaptation module processes the external upgrade signal received from the OTA master controller to obtain an internal upgrade signal adapted to the master controller SOC node, including: converting the external upgrade package and external upgrade command into an internal upgrade package and internal upgrade command according to the external upgrade interface and process corresponding to the external upgrade signal.
[0066] The upgrade adaptation module is responsible for interacting with the vehicle upgrade master control node (e.g., OTA master control), receiving external upgrade packages and commands. The module has built-in external upgrade interfaces and processes (e.g., corresponding built-in programs) to adapt to various upgrade methods (e.g., UDS, HTTPS). It can find the corresponding external upgrade interface and process based on the external upgrade signal, converting the signal into internal signals, masking the differences, and ensuring the stability of downstream upgrade modules. The upgrade interfaces and processes of different OTA master controls (usually defined by the OEM, OEM stands for Original Equipment Manufacture) may differ. Based on the OEM-defined OTA master control's upgrade interface and process, the upgrade adaptation module performs corresponding adaptation and implementation, then converts the relevant external upgrade packages and commands into internally defined internal upgrade packages and commands.
[0067] For example, the downstream upgrade module mentioned in the above embodiments includes an upgrade control module (UpdateController) and an upgrade execution module (Update Executor). By shielding the differences between different OEMs through the upgrade adaptation module, when the upgrade interface / process changes, the downstream upgrade module does not need to make corresponding adaptations and modifications, thereby simplifying the complexity of the upgrade and improving the stability of the upgrade.
[0068] In some embodiments, the external upgrade signal includes an external upgrade package and an external upgrade instruction; The upgrade adaptation module processes the external upgrade signal received from the OTA master controller to obtain an internal upgrade signal adapted to the master controller SOC node, including: converting the external upgrade package and external upgrade instruction into an internal upgrade package and internal upgrade instruction according to the external upgrade interface and process corresponding to the external upgrade signal.
[0069] like Figure 2 As shown, in some embodiments, the master control SOC node further includes an upgrade application module, which is located between the upgrade control module and the upgrade adaptation module. The upgrade application module is configured to call the corresponding function of the upgrade control module according to the internal upgrade instruction received from the upgrade adaptation module.
[0070] In some embodiments, an internal standard interface is predefined between the upgrade adapter module and the upgrade application module for commands such as file transfer, start installation, and post-installation checks.
[0071] For example, the upgrade application module is responsible for calling various capabilities of the upgrade capability layer (including the upgrade control module and the upgrade execution module) to complete the corresponding upgrade functions, and can flexibly orchestrate upgrade tasks according to the needs of the OTA master controller. The upgrade capability layer provides a complete set of capabilities, but each OEM may only use a portion of them; the Update APP calls the corresponding capabilities of the upgrade capability layer according to the instructions sent by the OTA master controller (which will be converted by the Update Adapter), and this process is called on-demand orchestration.
[0072] For example, invoking various capabilities of the upgrade capability layer to complete the corresponding upgrade function includes: calling the standardized interface corresponding to the upgrade capability layer. This standardized interface is an interface obtained by abstracting the relatively independent functional capabilities of the upgrade capability layer. The Update APP makes the corresponding calls based on the upgrade instructions received from the OTA master control by the Update Adapter, thereby flexibly orchestrating upgrade tasks according to the needs of the OTA master control.
[0073] In some embodiments, abstracting the business orchestration portion of the upgrade functionality into an upgrade application module can decouple business and capabilities. The upgrade application module, as an upgrade application, can handle various complex upgrade business defined by OEMs.
[0074] In some embodiments, the upgrade application module is further configured to determine a firmware upgrade based on the internal upgrade package and the firmware to be upgraded, and send it to the upgrade control module.
[0075] For example, the internal upgrade package is a differential package between the firmware to be upgraded and the firmware upgrade package. The required firmware upgrade package can be restored by using this differential package and the firmware to be upgraded. For example, a differential package means that if two firmware versions have some differences but are the same in other parts, then the differential package of these two firmware versions only contains the differences.
[0076] During the upgrade, the OTA controller only needs to transmit the differential packet. The upgrade application module then uses the current firmware version and the differential packet to restore the target firmware version, thereby upgrading the SOC to the target firmware version. The restoration method is related to the method of creating the differential packet, and specialized tools from relevant technologies can be used. This application does not limit the specific restoration method, and it will not be elaborated here. This embodiment saves upgrade time and upgrade bandwidth (the upgrade package needs to be downloaded from the cloud to the OTA controller on the vehicle, thus requiring bandwidth) by using the differential packet.
[0077] In some embodiments, if the OTA master controller directly sends a complete firmware upgrade package (which contains the complete standard upgrade package required for the master SOC node and / or sub-SOC node upgrade), then it is only necessary to determine the standard upgrade package required for the master SOC node and / or sub-SOC node upgrade from the firmware upgrade package.
[0078] In some embodiments, the upgrade application module is used to convert the differential packets received from the OTA master controller, including but not limited to signature verification, decryption, decompression, differential packet restoration, etc., to restore them into the standard upgrade packets received by the upgrade capability layer.
[0079] For example, OEMs may process firmware upgrade packages according to their own solutions, including signing, encryption, compression, and differential processing, to obtain differential packages. On the domain controller side, this requires signature verification, decryption, decompression, and differential restoration, but these logics are not intended to be passed through to the upgrade capability layer. Therefore, this application configures the upgrade application module to handle these logics; that is, the upgrade application module performs signature verification, decryption, decompression, and differential package restoration processing on the differential packages to obtain at least one standard upgrade package. Furthermore, at least one standard upgrade package can be packaged into a single firmware upgrade package and sent to the upgrade control module; or at least one standard upgrade package can be directly sent to the upgrade control module, so that the upgrade control module can distribute the standard upgrade package to the corresponding master SOC node and / or sub-SOC node.
[0080] In this context, "signature verification" is a technical term in the field of cybersecurity. When an OEM creates an OTA upgrade package, it will sign the upgrade package to indicate that the upgrade package was issued by the corresponding OEM. When the ECU receives the OTA upgrade package, it will verify whether the signature was indeed issued by the corresponding OEM to ensure data trustworthiness.
[0081] In some embodiments, this application also provides an OTA upgrade system, including an OTA master controller and at least one domain controller system communicatively connected thereto, wherein the at least one domain controller system adopts the domain controller system described in any embodiment of this application.
[0082] like Figure 2 As shown, there are three domain controllers: SOC#1, SOC#2, and SOC#3. SOC#1 is configured as the master SOC node, while SOC#2 and SOC#3 are configured as child SOC nodes. Each SOC includes a storage device for storing firmware. This storage device includes, but is not limited to, eMMC, UFS, and Flash.
[0083] In addition, SOC#1 is also configured with an upgrade adaptation module, an upgrade application module, an upgrade control module, and an upgrade execution module; SOC#2 and SOC#3 are each configured with an upgrade execution module. The upgrade adaptation module of SOC#1 is communicatively connected to the OTA master controller, and the upgrade control module of SOC#1 is communicatively connected to the upgrade execution modules of SOC#1, SOC#2, and SOC#3, respectively. For a description of the functions and roles of the upgrade adaptation module, upgrade application module, upgrade control module, and upgrade execution module, please refer to the aforementioned embodiments; they will not be repeated here.
[0084] The OTA upgrade system of this application implements a modular design. The upgrade adaptation module can adapt to various upgrade methods (such as UDS, HTTPS, etc.), converting external upgrade signals into internal signals, shielding the differences, and ensuring the stability of downstream upgrade modules. The upgrade application module can flexibly orchestrate upgrade tasks according to the needs of the OTA master controller. The upgrade control module maintains essentially unchanged upgrade capabilities, ensuring the stability of the basic capabilities. The upgrade execution module enables on-demand deployment, improving system scalability (for example, when more SoCs need to be supported, only the UpdateExecutor needs to be deployed on the corresponding SoC).
[0085] In some embodiments, this application also provides a computer device, including a memory, a processor, and a computer program stored in the memory, wherein the processor executes the computer program to implement the steps of the method described in any embodiment of this application.
[0086] In some embodiments, this application also provides a computer-readable storage medium storing a computer program / instructions thereon, characterized in that the computer program / instructions, when executed by a processor, implement the steps of the method described in any embodiment of this application.
[0087] In some embodiments, this application also provides a computer program product, including a computer program / instructions, characterized in that the computer program / instructions, when executed by a processor, implement the steps of the method described in any embodiment of this application.
[0088] In some embodiments, this application also provides a mobile platform, characterized in that it is equipped with the OTA upgrade system described in any embodiment of this application.
[0089] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of combined actions. However, those skilled in the art should understand that this application is not limited to the described order of actions, as some steps may be performed in other orders or simultaneously according to this application. Secondly, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions and modules involved are not necessarily essential to this application. In the above embodiments, the descriptions of each embodiment have their own emphasis; for parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.
[0090] Figure 3 This is a schematic diagram of the hardware structure of a computer device for executing a firmware upgrade method according to another embodiment of this application, as shown below. Figure 3 As shown, the device includes: One or more processors 310 and memory 320, Figure 3Taking a processor 310 as an example, the device for performing the firmware upgrade method may also include an input device 330 and an output device 340.
[0091] The processor 310, memory 320, input device 330, and output device 340 can be connected via a bus or other means. Figure 3 Taking the example of a connection between China and Israel via a bus.
[0092] The memory 320, as a non-volatile computer-readable storage medium, can be used to store non-volatile software programs, non-volatile computer-executable programs, and modules, such as the program instructions / modules corresponding to the firmware upgrade method in the embodiments of this application. The processor 310 executes various functional applications and data processing of the server by running the non-volatile software programs, instructions, and modules stored in the memory 320, thereby implementing the firmware upgrade method in the above-described method embodiments.
[0093] The memory 320 may include a program storage area and a data storage area. The program storage area may store the operating system and applications required for at least one function; the data storage area may store data created based on the use of the firmware upgrade device. Furthermore, the memory 320 may include high-speed random access memory and may also include non-volatile memory, such as at least one disk storage device, flash memory device, or other non-volatile solid-state storage device. In some embodiments, the memory 320 may optionally include memory remotely located relative to the processor 310, and these remote memories may be connected to the firmware upgrade device via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
[0094] Input device 330 can receive input digital or character information and generate signals related to user settings and function control of the firmware upgrade device. Output device 340 may include a display device such as a screen.
[0095] The one or more modules are stored in the memory 320, and when executed by the one or more processors 310, they perform the firmware upgrade method in any of the above method embodiments.
[0096] The above-described product can perform the methods provided in the embodiments of this application, and has the corresponding functional modules and beneficial effects for performing the methods. Technical details not described in detail in this embodiment can be found in the methods provided in the embodiments of this application.
[0097] The computer device in this application embodiment exists in various forms, including but not limited to: (1) Mobile communication devices: These devices are characterized by their mobile communication capabilities and primarily aim to provide voice and data communication. These terminals include: smartphones (e.g., iPhones), multimedia phones, feature phones, and low-end phones, etc.
[0098] (2) Ultra-mobile personal computer devices: These devices fall under the category of personal computers, possessing computing and processing capabilities, and generally also have mobile internet access features. These terminals include PDAs, MIDs, and UMPCs, such as the iPad.
[0099] (3) Portable entertainment devices: These devices can display and play multimedia content. This category includes audio and video players (such as iPods), handheld game consoles, e-book readers, as well as smart toys and portable car navigation devices.
[0100] (4) Server: A device that provides computing services. The components of a server include a processor, hard disk, memory, system bus, etc. Servers are similar to general computer architectures, but because they need to provide highly reliable services, they have higher requirements in terms of processing power, stability, reliability, security, scalability, and manageability.
[0101] (5) Other electronic devices with data interaction functions.
[0102] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs.
[0103] Through the above description of the embodiments, those skilled in the art can clearly understand that each embodiment can be implemented using software plus a general-purpose hardware platform, or of course, using hardware. Based on this understanding, the above technical solutions, in essence or the parts that contribute to the related technology, can be embodied in the form of a software product. This computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in the various embodiments or some parts of the embodiments.
[0104] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application.
Claims
1. A firmware upgrade method for a domain controller, the domain controller including multiple System-on-a-Chip (SOC), the method comprising: One of the plurality of SOCs is configured as the master SOC node, and the other SOC nodes are configured as child SOC nodes; wherein, the master SOC node includes an upgrade control module; The upgrade control module determines the SOC node to be upgraded based on the received firmware upgrade package; wherein, the firmware upgrade package includes a standard upgrade package, and the SOC node to be upgraded includes a master SOC node and / or a sub-SOC node; The corresponding standard upgrade package is distributed to the upgrade execution module of the SOC node to be upgraded in order to complete the firmware upgrade of the domain controller.
2. The method according to claim 1, characterized in that, The master control SOC node also includes an upgrade and adaptation module, and the method further includes: The upgrade adaptation module processes the external upgrade signal received from the OTA master controller to obtain an internal upgrade signal adapted to the master controller SOC node.
3. The method according to claim 2, characterized in that, The external upgrade signal includes an external upgrade package and an external upgrade command; The upgrade adaptation module processes the external upgrade signal received from the OTA master controller to obtain an internal upgrade signal adapted to the master controller SOC node, including: Based on the external upgrade interface and process corresponding to the external upgrade signal, the external upgrade package and external upgrade instruction are converted into an internal upgrade package and internal upgrade instruction.
4. The method according to claim 2 or 3, characterized in that, The master control SOC node also includes an application upgrade module, and the method further includes: The upgrade application module invokes the corresponding functions of the upgrade control module based on the internal upgrade instruction received from the upgrade adaptation module.
5. The method according to claim 4, characterized in that, Also includes: The upgrade application module determines the firmware upgrade package based on the internal upgrade package and the firmware to be upgraded, and sends it to the upgrade control module.
6. A domain controller system, comprising: Multiple SOCs; wherein, one of the multiple SOCs is configured as the master SOC node, and the other SOC nodes are configured as sub-SOC nodes; The master control SOC node includes an upgrade control module configured to determine the SOC node to be upgraded based on the received firmware upgrade package; wherein, the firmware upgrade package includes a standard upgrade package, and the SOC node to be upgraded includes the master control SOC node and / or a sub-SOC node; The upgrade control module is also configured to distribute the corresponding standard upgrade package to the upgrade execution module of the SOC node to be upgraded, so as to complete the firmware upgrade of the domain controller.
7. The system according to claim 6, characterized in that, The master control SOC node also includes an upgrade adaptation module, configured to process external upgrade signals received from the OTA master control to obtain internal upgrade signals adapted to the master control SOC node.
8. The system according to claim 7, characterized in that, The master control SOC node also includes an upgrade application module, configured to invoke the corresponding functions of the upgrade control module according to the internal upgrade instruction received from the upgrade adaptation module.
9. An OTA upgrade system, comprising an OTA master controller and at least one domain controller system communicatively connected thereto, wherein the at least one domain controller system is the domain controller system according to any one of claims 6-8.
10. A computer device, comprising a memory, a processor, and a computer program stored in the memory, characterized in that, The processor executes the computer program to implement the steps of the method according to any one of claims 1-5.
11. A computer-readable storage medium having a computer program / instructions stored thereon, characterized in that, When the computer program / instructions are executed by the processor, they implement the steps of the method described in any one of claims 1-5.
12. A computer program product comprising a computer program / instructions, characterized in that, When the computer program / instructions are executed by the processor, they implement the steps of the method described in any one of claims 1-5.
13. A mobile platform, characterized in that, The system is equipped with the OTA upgrade system as described in claim 9.