Complete vehicle parallel flashing method and system and vehicle

Through the whole vehicle parallel brushing method, the software of using preset strategies to flash master nodes and slave nodes in parallel in the memory partition is solved, and a more efficient brushing process is achieved.

CN120255907APending Publication Date: 2025-07-04ZHEJIANG ZEEKR INTELLIGENT TECH CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410010546.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-01-02
Publication Date
2025-07-04

AI Technical Summary

Technical Problem

In the prior art, the master node and slave node of the vehicle cannot perform flashing at the same time, resulting in low flashing efficiency.

Method used

The whole vehicle parallel brushing method is adopted. By obtaining the information to be brushed and storing it in the first storage partition, after reading this information, the software that flashes the master node and slave node in the second storage partition in parallel according to the preset brushing strategy, and optimizes the brushing order using the preconfigured parallel brushing queue and fill-in strategy.

Benefits of technology

It improves the efficiency of writing brushing in the whole vehicle, reduces writing brushing time, and improves the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120255907A_ABST
    Figure CN120255907A_ABST
Patent Text Reader

Abstract

The invention provides a whole vehicle parallel flashing method and system and a vehicle. The whole vehicle parallel flashing method can comprise the steps that information to be flashed is acquired; storing the to-be-flashed information in the first storage partition; reading the to-be-flashed information in the first storage partition; and based on the to-be-flashed information, according to a preset flashed strategy, flashed the software of the master node and the software of the slave node in the second storage partition in parallel. In the embodiment of the invention, the to-be-flashed installation package is used, and the software of the master node and the software of the slave node are flashed in parallel in the second storage partition according to the preset flashed strategy. In this way, the parallel flashing efficiency is high.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of vehicle flashing, and in particular to a vehicle parallel flashing method, system and vehicle. Background Art

[0002] With the maturity and large-scale application of vehicle networking technology, the OTA (Over-the-Air Technology) function is regarded as one of the essential functions of vehicle manufacturers. The OTA technology refers to the technology of remotely managing and updating the software and hardware of an automobile through a mobile communication network or a wireless network. Among them, the OTA technology can not only update application software such as the information entertainment system and navigation map (software Over-the-Air Technology, SOTA), but also update firmware such as the control systems of the engine, transmission, battery, etc. (Firmware Over-the-Air, FOTA), and even new functions such as autonomous driving can be added.

[0003] However, the main node of the vehicle in the related art, such as the in-vehicle infotainment system, cannot support the full A / B flashing mode. After a part of the content is flashed in the operating system, the other part is flashed in the recovery system. Moreover, the slave nodes of the vehicle, such as other ECUs, are also flashed in the recovery system. In this way, it is first flashed in the operating system and then switched from the operating system to the recovery system for flashing. Thus, with multiple flashes, the flashing efficiency is relatively low. Summary of the Invention

[0004] The present application provides a vehicle parallel flashing method, system and vehicle, with relatively high flashing efficiency.

[0005] The present application provides a vehicle parallel flashing method, including:

[0006] Obtain the information to be flashed; store the information to be flashed in the first storage partition;

[0007] Read the information to be flashed in the first storage partition;

[0008] Based on the information to be flashed, according to a preset flashing strategy, flash the software of the master node and the software of the slave node in parallel in the second storage partition.

[0009] Further, the preset flashing strategy includes a pre-configured parallel flashing queue, where the parallel flashing queue includes a pre-configured parallel flashing order and parallel flashing quantity; the first in the parallel flashing order is the installation package to be flashed with the longest flashing time;

[0010] The step of flashing the software of the master node and the software of the slave node in parallel in the second storage partition based on the information to be flashed according to a preset flashing strategy includes:

[0011] Parallelly flash the software of the master node and the software of the slave node in the second storage partition according to the parallel flash order and the parallel flash quantity in the parallel flash queue.

[0012] Further, the parallelly flashing the software of the master node and the software of the slave node in the second storage partition according to a preset flash policy includes:

[0013] Delete the nodes that have been flashed in the parallel flash queue;

[0014] Determine nodes with the same quantity as the deleted quantity from the remaining nodes to be flashed and fill them into the flash queue;

[0015] Parallelly flash the software of the master node and the software of the slave node in the second storage partition according to the flash queue after filling.

[0016] Further, the determining nodes with the same quantity as the deleted quantity from the remaining nodes to be flashed and filling them into the flash queue includes:

[0017] Find the node corresponding to the installation package to be flashed with the longest flash time from the remaining nodes to be flashed, and preferentially fill it into the flash queue.

[0018] Further, the preset flash policy further includes a preset filling order corresponding to a target node for filling;

[0019] The determining nodes with the same quantity as the deleted quantity from the remaining nodes to be flashed and filling them into the flash queue includes:

[0020] According to the preset filling order, find the target node from the remaining nodes to be flashed and fill it into the flash queue.

[0021] Further, applied to a vehicle parallel flash system, the vehicle parallel flash system includes a flash system and an operating system; the operating system includes an information synchronization module of the master node; the flash system includes a vehicle flash function module and the slave nodes respectively communicatively connected to the vehicle flash function module;

[0022] The obtaining the information to be flashed includes:

[0023] The information synchronization module obtains the information to be flashed;

[0024] The reading the information to be flashed in the first storage partition includes:

[0025] The vehicle flash function module reads the information to be flashed in the first storage partition through an internal shared storage;

[0026] Based on the information to be flashed, the software of the master node and the software of the slave node are flashed in parallel in the second storage partition according to a preset flashing strategy, including:

[0027] Based on the information to be flashed, the vehicle flashing function module flashes the software of the master node and the software of the slave node in parallel in the second storage partition according to a preset flashing strategy.

[0028] Further, the method further includes generating an instruction to restart the vehicle after the software of the master node and the software of the slave node are flashed in parallel in the second storage partition, so as to restart the vehicle, and the flashing system exits and the operating system works from the first storage partition to the flashed second storage partition;

[0029] and / or

[0030] After obtaining the information to be flashed, the vehicle parallel flashing method further includes: parsing the nodes to be flashed in the information to be flashed, and when the nodes to be flashed include the master node itself and the slave node, receiving a flashing instruction input by the user through a human-machine interface; in response to the flashing instruction, switching the operating system to enter the flashing system.

[0031] Further, before storing the information to be flashed in the first storage partition, the method further includes: verifying the information to be flashed to determine the correctness of the data of the installation package to be flashed and the integrity of the installation package to be flashed; after the verification passes, storing the information to be flashed in the first storage partition;

[0032] and / or

[0033] The vehicle parallel flashing method further includes: displaying the parallel flashing progress of the software of the master node and the software of the slave node in the second storage partition through a human-machine interface.

[0034] The present application provides a vehicle parallel flashing system, including:

[0035] An information acquisition unit, configured to acquire information to be flashed; store the information to be flashed in the first storage partition;

[0036] An information reading unit, configured to read the information to be flashed in the first storage partition;

[0037] A parallel flashing unit, further configured to flash the software of the master node and the software of the slave node in parallel in the second storage partition based on the information to be flashed according to a preset flashing strategy.

[0038] The present application provides a vehicle, including the vehicle parallel flashing system as described above.

[0039] The present application provides a computer-readable storage medium, on which a program is stored. When the program is executed by a processor, the method described in any one of the above is implemented.

[0040] In some embodiments, for the vehicle parallel flashing method of the present application, obtain the information to be flashed; store the information to be flashed in the first storage partition; read the information to be flashed in the first storage partition; based on the information to be flashed, according to a preset flashing strategy, flash the software of the master node and the software of the slave node in parallel in the second storage partition. In the embodiments of the present application, use the installation package to be flashed and flash the software of the master node and the software of the slave node in parallel in the second storage partition according to a preset flashing strategy. In this way, the parallel flashing efficiency is relatively high. BRIEF DESCRIPTION OF THE DRAWINGS

[0041] Figure 1 The flowchart of the vehicle parallel flashing method according to the embodiment of the present application is shown;

[0042] Figure 2 Shown Figure 1 The structural schematic diagram of the vehicle parallel flashing method shown applied to a vehicle parallel flashing system;

[0043] Figure 3 The flowchart of the vehicle parallel flashing method according to the embodiment of the present application is shown;

[0044] Figure 4 The structural schematic diagram of the vehicle parallel flashing system according to the embodiment of the present application is shown;

[0045] Figure 5 The block diagram of the vehicle parallel flashing system provided by the embodiment of the present application is shown. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0046] Here, the exemplary embodiments will be described in detail, and the examples are shown in the drawings. When the following description refers to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with one or more embodiments of this specification. On the contrary, they are only examples of devices and methods consistent with some aspects of one or more embodiments of this specification as detailed in the appended claims.

[0047] It should be noted that: in other embodiments, the steps of the corresponding method are not necessarily executed in the order shown and described in this specification. In some other embodiments, the steps included in the method may be more or less than those described in this specification. In addition, a single step described in this specification may be decomposed into multiple steps for description in other embodiments; and multiple steps described in this specification may also be combined into a single step for description in other embodiments.

[0048] Currently, for most of the vehicles under development, in order to control costs, it is impossible to significantly improve the hardware capabilities, and it does not support the full A / B flashing mode of the main node. For example, the non-support of the full A / B flashing mode of the main node includes the part of the main node controller in the non-A / B flashing mode and the part in the A / B flashing mode. Moreover, the part in the non-A / B flashing mode must enter the recovery system for flashing, and the other part of the main node controller in the A / B flashing mode can be flashed in the normal mode of the operating system. However, since the two systems do not run concurrently, the operating system cannot run after the operating system switches to the recovery system. Therefore, the main node and the slave node cannot be flashed simultaneously. Thus, the flashing efficiency is relatively low.

[0049] To solve the above technical problem of relatively low flashing efficiency, an embodiment of the present application provides a vehicle parallel flashing method, wherein the to-be-flashed information is obtained; the to-be-flashed information is stored in the first storage partition; the to-be-flashed information in the first storage partition is read; based on the to-be-flashed information, according to a preset flashing strategy, the software of the main node and the software of the slave node are flashed in parallel in the second storage partition. In the embodiment of the present application, using the to-be-flashed installation package, according to the preset flashing strategy, the software of the main node and the software of the slave node are flashed in parallel in the second storage partition.

[0050] In the embodiment of the present application, using the to-be-flashed installation package, according to the preset flashing strategy, the software of the main node and the software of the slave node are flashed in parallel in the second storage partition. Thus, the parallel flashing efficiency is relatively high.

[0051] Figure 1 The flowchart of the vehicle parallel flashing method according to the embodiment of the present application is shown.

[0052] As Figure 1 shown, the vehicle parallel flashing method may include the following steps 101 to 103:

[0053] Step 101, obtain the to-be-flashed information; store the to-be-flashed information in the first storage partition.

[0054] The to-be-flashed information includes the to-be-flashed installation package and the flashing task.

[0055] The to-be-flashed information in the above step 101 is used to reflect the specific content and task to be flashed. The above to-be-flashed information may but is not limited to include the to-be-flashed installation package and the flashing task, and the above to-be-flashed information may also but is not limited to include the flashing instruction manual. The flashing instruction manual can be used to explain the preset flashing strategy to facilitate obtaining the preset flashing strategy for flashing later.

[0056] Before storing the information to be flashed in the first storage partition in step 101 above, it is necessary to ensure the correctness and integrity of the installation package to be flashed in the first storage partition. Therefore, the above vehicle parallel flashing method further includes verifying the information to be flashed to determine the correctness of the data of the installation package to be flashed and the integrity of the installation package to be flashed; after the verification passes, storing the information to be flashed in the first storage partition. In this way, the orderly progress of the vehicle flashing function module flashing is ensured.

[0057] Among them, the above verification of the information to be flashed to determine the correctness of the data of the installation package to be flashed and the integrity of the installation package to be flashed can further include authenticating the identity of the CDN (Content Delivery Network), and performing CRC (Cyclic Redundancy Check) check and signature verification on all installation packages to be flashed of the DHU (Display head unit).

[0058] The above storing the information to be flashed in the first storage partition after the verification passes can further include: First, deleting the old installation package and the Manifest list; Second, downloading all installation packages to be flashed of the DHU and storing them in the specified directory of the shared storage share_storage2; Third, generating the Manifest list and placing it in the specified directory of the shared storage share_storage2 for use by the DHU_Installer installation program for flashing.

[0059] Step 102, reading the information to be flashed in the first storage partition. The first storage partition of the embodiment of the present application and the second storage partition of the embodiment of the present application can be internally shared.

[0060] Step 103, based on the information to be flashed, parallelly flash the software of the master node and the software of the slave node in the second storage partition according to a preset flashing strategy. Further, in response to the flashing task, use the installation package to be flashed to parallelly flash the software of the master node and the software of the slave node in the second storage partition according to a preset flashing strategy, so as to parallelly flash all the software of the master node itself and the software of the slave node in the second storage partition.

[0061] Continue to combine Figure 1 As shown, the above preset flashing strategy can be any one of the following, and correspondingly, the above step 103 can be implemented through the following various embodiments:

[0062] In an embodiment of the parallel flashing process in step 103 above, the preset flashing strategy includes a pre-configured parallel flashing queue, where the parallel flashing queue includes a pre-configured parallel flashing order and the number of parallel flashes; the first in the parallel flashing order is the installation package to be flashed with the longest flashing time. Correspondingly, according to the parallel flashing order and the number of parallel flashes in the parallel flashing queue, the software of the master node and the software of the slave nodes are flashed in parallel in the second storage partition. In this way, the installation package to be flashed with the longest flashing time is used as the first in the parallel flashing order and can be flashed preferentially, and while the installation package to be flashed with the longest flashing time is being flashed, other installation packages to be flashed are also flashed in parallel. This can save the flashing time of all the installation packages to be flashed.

[0063] The above number of parallel flashes refers to the number of parallel flashes each time. And the parallel flashing order refers to the order of each parallel flash. The above pre-configured parallel flashing order and the number of parallel flashes can both be set according to the specific background settings. At the same time, the total number of installation packages to be flashed can also be configured in the background. The total number of installation packages to be flashed configured in the background can be more than the total number of the master node and the slave nodes, or can be equal to the total number of the master node and the slave nodes.

[0064] Exemplary one, the total number of installation packages to be flashed can be but is not limited to 50, and the configured number of parallel flashes can be but is not limited to 10. The above installation package to be flashed with the longest flashing time can be the installation package to be flashed of the master node.

[0065] Example two, the master node can be ECU1. The above parallel flashing queue is, for example, {ECU1, ECU4, ECU6, ECU9,..., ECU2}. In this way, the flashing of the master node can be preferentially satisfied, and then the flashing of the master node with more flashing content can be preferentially completed, improving the flashing efficiency.

[0066] It should be noted that the above parallel flashing of the software of the master node and the software of the slave nodes in the second storage partition according to the parallel flashing queue includes the following three steps:

[0067] A. Delete the nodes that have been flashed in the parallel flashing queue.

[0068] B. Determine the same number of nodes as the deleted number from the remaining nodes to be flashed and fill them in the flashing queue. The nodes that need to be flashed can be called nodes to be flashed. These nodes to be flashed can be but are not limited to including the master node and multiple slave nodes. The remaining nodes to be flashed refer to the remaining nodes after removing the nodes that have been flashed from all the nodes to be flashed. In this way, filling the positions of the nodes that have been flashed with the nodes to be flashed in a timely manner can improve the overall flashing efficiency.

[0069] Among them, the above step B can be implemented in the following two ways:

[0070] In one method of the above step B, the node corresponding to the installation package to be flashed with the longest flashing time is searched from the remaining nodes to be flashed, and the node is given priority to be added to the flashing queue. In this way, filling in the order of real-time flashing can better meet the actual application scenarios and improve the adaptability of the flashing scenarios. At the same time, giving priority to the node corresponding to the installation package to be flashed with the longest flashing time can further improve the efficiency of parallel flashing.

[0071] In another embodiment of step B above, the preset flash strategy also includes a preset filling order corresponding to the pre-configured target nodes for filling. Correspondingly, according to the preset filling order, the target nodes are found from the remaining nodes to be flashed and filled in the flash queue. Among them, the target nodes in the above preset filling order are used to reflect when and which node to fill. The target node is any one or more nodes among the nodes to be flashed, and this target node can be configured according to the background. This target node can also be each node to be flashed obtained by sorting the flash time of each installation package to be flashed from long to short. The preset filling order can correspond to the order of the flash time of the installation package to be flashed from long to short. In this way, filling is carried out according to the preset filling order, which reduces real-time decision-making, improves the efficiency of decision-making, and thus improves the efficiency of flashing.

[0072] C. According to the flashing queue after filling, the software of the master node and the software of the slave node are flashed in parallel in the second storage partition. In this way, the positions can be filled automatically according to the number of deletions, so as to ensure that the nodes with the same number of deletions are flashed in parallel in a timely manner.

[0073] In another embodiment of the parallel flash process in step 103 above, after the flashing of all nodes in the parallel flash queue is completed, a new parallel flash queue is reused to complete the flashing of all nodes.

[0074] Figure 2 Shown Figure 1 The structure diagram of the whole vehicle parallel flashing method applied to the whole vehicle parallel flashing system is shown.

[0075] like Figure 2 As shown, the whole vehicle parallel flashing method of the embodiment of the present application can be applied to, but not limited to, the whole vehicle parallel flashing system. Among them, the whole vehicle parallel flashing system can include, but not limited to, DHU (Display head unit, vehicle system) and other ECUs (Electronic Control Unit, electronic control unit) of the whole vehicle. Among them, the vehicle system can be used as the master node, and other ECUs of the whole vehicle can be used as slave nodes.

[0076] Continue to see Figure 2As shown in the figure, the in-vehicle system DHU has a SOC (System-on-a-Chip) and an MCU (Micro Controller Unit). The MCU does not support dual backup in the A / B flashing mode. The above-mentioned SOC can include, but is not limited to, a flashing system and an operating system. The above-mentioned flashing system can include, but is not limited to, a Recovery recovery system, also known as the minimum executable system. The recovery system can use the Recovery mode. This Recovery mode is a special mode in the in-vehicle system and can be used for operations such as repairing system failures, flashing the machine, and backing up data. The recovery system can flash both the non-A / B part and the A / B part. The vehicle-wide flashing function module in the recovery system can include, but is not limited to, FOTA Master R. FOTA Master R is used to implement the installation control logic of the entire vehicle. The FOTA HMI (Human Machine Interaction) R in the recovery system is used to display the installation progress of the entire vehicle. The above-mentioned operating system can include, but is not limited to, the Android operating system. The Android system includes an information synchronization module. Among them, the above-mentioned information synchronization module can include, but is not limited to, FOTA Master, which can obtain information from the background OTA system. FOTA Master is responsible for the control logic of the flashing task. It includes vehicle-side configuration synchronization, task synchronization, file download, and the download of the DHU's own files.

[0077] Figure 3 The figure shows a schematic flow diagram of the vehicle-wide parallel flashing method according to an embodiment of the present application.

[0078] Combined with Figure 2 As shown in Figure 3 As shown in the figure, the vehicle-wide parallel flashing method can be applied to a vehicle-wide parallel flashing system. The vehicle-wide parallel flashing system includes a flashing system and an operating system; the operating system includes an information synchronization module of the master node; the flashing system includes a vehicle-wide flashing function module and a slave node communicatively connected to the vehicle-wide flashing function module. The above-mentioned information synchronization module is communicatively connected to the vehicle-wide flashing function module, and the vehicle-wide flashing function module is communicatively connected to the slave node. The slave node and the master node in this article can be collectively referred to as nodes.

[0079] Step 110, the information synchronization module obtains the information to be flashed.

[0080] The above-mentioned vehicle-wide parallel flashing method can further include, before the above-mentioned step 110, the information synchronization module verifies the information to be flashed to determine the correctness and integrity of the data of the installation package to be flashed; after the verification passes, the information to be flashed is stored in the first storage partition. This ensures the orderly progress of the flashing by the vehicle-wide flashing function module.

[0081] After the information synchronization module in the above step 110 obtains the information to be flashed, the vehicle parallel flashing method may further include the information synchronization module parsing the nodes to be flashed in the information to be flashed. When the nodes to be flashed include the master node itself and slave nodes, the operating system is switched to enter the flashing system. These nodes to be flashed can also be carried in the flashing task. In this way, the switching of the flashing system is realized.

[0082] After obtaining the information to be flashed in the above step 110, the vehicle parallel flashing method further includes parsing the nodes to be flashed in the information to be flashed. When the nodes to be flashed include the master node itself and slave nodes, the operating system is switched to enter the flashing system. These nodes to be flashed can also be carried in the flashing task. In this way, the switching of the flashing system is realized.

[0083] In one embodiment of the above switching the operating system to enter the flashing system, when it is determined that automatic flashing is enabled, in response to the flashing task, the operating system is switched to enter the flashing system. In this way, automatic flashing when obtaining the flashing task can be realized.

[0084] Exemplarily, after automatic flashing is set in advance in the system, when the nodes to be flashed include the master node itself and slave nodes, it automatically switches to the flashing system for flashing.

[0085] In another embodiment of the above switching the operating system to enter the flashing system, a flashing instruction input by the user is received through the human-machine interface; in response to the flashing instruction, the operating system is switched to enter the flashing system. In this way, the user can trigger the flashing of the flashing system to enter the flashing system for flashing.

[0086] This step 110 is similar to the above step 101. Therefore, the specific limiting process of this step 110 is the same as the specific limiting process of the above step 101, and both can refer to the specific limiting process method of the above step 101, which will not be elaborated here.

[0087] Combined with Figure 2 As shown, the embodiment of the present application adopts a parallel flashing strategy for the master node and other slave nodes. When the FOTAMaster main control in the operating system downloads the information to be flashed including the task information and the installation package to be flashed to the local, data interaction is performed through the internal shared storage and the FOTA Master main control R in the recovery system. In this way, the OTA Master main control is placed in the Recovery recovery system to realize flashing the master node itself and other slave node ECUs in the Recovery recovery system, thereby realizing optimized flashing and improving the user experience. For detailed description, please refer to the following text.

[0088] Step 120, the vehicle flashing function module reads the information to be flashed in the first storage partition through the internal shared storage.

[0089] In the embodiment of the present application, the information to be flashed can be obtained from the OTA system in the background. The above-mentioned installation package to be flashed can include, but is not limited to, one or more of the installation packages to be flashed of the master node itself and the slave nodes configured in the background and the APP (Application) installation packages to be flashed of the operating system. In this way, the vehicle-wide flashing function module can obtain the installation packages to be flashed of the master node itself and the slave nodes through the internal shared storage, so as to flash the master node itself and the slave nodes in parallel. In addition, after the vehicle-wide flashing function module obtains the APP installation package to be flashed of the operating system, it can also flash the APP of the operating system. In this way, the APP in the operating system can be flashed in the flashing system. After the vehicle restarts later, the operating system can use the flashed APP.

[0090] Step 130: Based on the information to be flashed, the vehicle-wide flashing function module flashes the software of the master node and the software of the slave node in parallel in the second storage partition according to a preset flashing strategy.

[0091] Combined with Figure 2 As shown, the above-mentioned first storage partition and the above-mentioned second storage partition can be the shared storage share_storage1 and the shared storage share_storage2 set on the SOC system-on-chip respectively. In this way, the two storage partitions can be used as the storage spaces in the A / B flashing mode. The first storage partition and the second storage partition are shared by the operating system and the flashing system respectively. One of the systems is in the active use state, and the other system is in the standby state.

[0092] This step 120 is similar to the above step 102. Therefore, the specific limitation process of this step 120 is the same as the specific limitation process of the above step 102, and both can refer to the specific limitation process method of the above step 102, which will not be elaborated here. Similarly, this step 130 is similar to the above step 103. Therefore, the specific limitation process of this step 130 is the same as the specific limitation process of the above step 103, and both can refer to the specific limitation process method of the above step 103, which will not be elaborated here.

[0093] In the embodiment of the present application, the vehicle-wide flashing function module is located in the flashing system and can flash the software of the master node and the software of the slave node in parallel in the flashing system. In this way, the flashing efficiency is relatively high. At the same time, compared with the prior art in which the master node and the slave nodes are flashed separately, resulting in low flashing efficiency, in the embodiment of the present application, the slave node and the master node are both flashed in parallel in the recovery system, improving the flashing efficiency. At the same time, the present application solves the problem of realizing the ability of parallel flashing in the scenario where the in-vehicle computer is used as the master node and some do not support A / B flashing, thereby reducing the flashing time and improving the user experience.

[0094] Compared with the flashing of a single node in the related art, such as a mobile phone in a mobile terminal. After the mobile phone itself receives the flashing task, it flashes this node of the mobile phone itself. After the flashing is completed, the current operating system is switched to the flashed system. During this process, the mobile phone only flashes a single node, and the flashing limitation is relatively large. In the embodiments of the present application, it is possible to implement parallel flashing of the software of the main node and the software of the slave node, with a larger flashing scope. At the same time, the flashing efficiency of multiple nodes such as the main node and the slave node is improved.

[0095] In some embodiments, the above-mentioned vehicle parallel flashing method further includes generating an instruction to restart the vehicle after the above step 130 or step 103, so as to restart the vehicle, and the flashing system exits and the operating system switches from the first storage partition to the flashed second storage partition for operation.

[0096] Continue to combine Figure 2 , such as Figure 3 As shown, when the background issues N ECUs including the main node ECU, and the configured parallel quantity is M. N is the total flashing quantity and M is the parallel flashing quantity; N≥M. The FOTA Master main control R synchronously flashes the main node ECU and M ECUs based on the configuration order of the background ECUs. Specifically, when an ECU among the above M + 1 ECUs is flashed, the remaining N-(M + 1) ECUs need to be put into the queue of M parallel flashes.

[0097] Exemplarily, based on the above parallel flashing queue, for example, {ECU1, ECU4, ECU6, ECU9,..., ECU2}. After ECU4 is flashed, the subsequent target node for filling the vacancy is, for example, ECU8. Correspondingly, the new parallel flashing queue is, for example, {ECU1, ECU8, ECU6, ECU9,..., ECU2}.

[0098] In some embodiments, the vehicle parallel flashing method further includes displaying the parallel flashing progress of the software of the main node and the software of the slave node in the second storage partition through a human-machine interface. In this way, it is beneficial for the user to grasp the flashing progress in real time. Combining Figure 2 As shown, the FOTA HMIR can display the progress and status of the flashing in the recovery system. In this way, after the overall flashing is completed, the vehicle is restarted, and at this time, the main node will restart together with other nodes and enter the post-installation processing.

[0099] In the embodiments of the present application, the OTA interaction display logic can shorten the restart mechanism of grouped flashing from two times to one time, improving the user experience. During the entire flashing process, the characteristics of the Recovery recovery system are reasonably utilized. The OTA Master main control function is integrated in the minimum executable system, and the hierarchical design in the OTA process is reasonably utilized to implement the networking function under the APP and the parallel flashing function of the Recovery system, reducing the flashing time and improving the user experience.

[0100] Figure 4 The following shows the structural schematic diagram of the vehicle parallel flashing system according to the embodiments of the present application.

[0101] As Figure 4 shown, the vehicle parallel flashing system according to the embodiments of the present application may include, but is not limited to, the following units:

[0102] The information acquisition unit 31 is used to acquire the information to be flashed; store the information to be flashed in the first storage partition;

[0103] The information reading unit 32 is used to read the information to be flashed in the first storage partition;

[0104] The parallel flashing unit 33 is further used to, based on the information to be flashed, parallelly flash the software of the main node and the software of the slave node in the second storage partition according to a preset flashing strategy.

[0105] Combined with Figure 2 and Figure 3 shown, the vehicle parallel flashing system provided by the embodiments of the present application includes the above-mentioned flashing system and the above-mentioned operating system; the operating system includes an information synchronization module of the main node; the flashing system includes a vehicle flashing function module and slave nodes respectively communicatively connected to the vehicle flashing function module;

[0106] The information synchronization module is used to acquire the information to be flashed; store the information to be flashed in the first storage partition; the information to be flashed includes the installation package to be flashed and the flashing task. This information synchronization module may include the above-mentioned information acquisition unit 31.

[0107] The vehicle flashing function module is used to read the information to be flashed in the first storage partition through internal shared storage; based on the information to be flashed, parallelly flash the software of the main node and the software of the slave node in the second storage partition according to a preset flashing strategy. This vehicle flashing function module may include the information reading unit 32 and the parallel flashing unit 33, and implement their functions. Details are not described herein again.

[0108] Continue to refer to Figure 2As shown, the UDS (Unified Diagnostic Services) Client can provide UDS services for the FOTA Master.

[0109] The DHU IF Proxy server can provide vehicle information such as VIN (Vehicle Identification Number) and Car Mode for the FOTA Master, and at the same time provide notification information sent by Yuntong.

[0110] The IPCP (Internet Protocol Control Protocol) Service server is responsible for forwarding IPCP messages to the corresponding business programs.

[0111] The Car Service server is responsible for forwarding messages between the FOTA Master and the FOTA HMI.

[0112] FOTAHMI (Firmware Over-The-Air (for mobile terminals' over-the-air software flashing)) (Human Machine Interaction) can implement the human-machine interaction function of FOTA.

[0113] The UDS (Unified Diagnostic Services) Server can implement the UDS diagnostic services of the DHU.

[0114] The UDS Client R can provide UDS services for the FOTA Master R.

[0115] The UDS Server R can provide UDS services for the DHU in the recovery system.

[0116] In some embodiments of the present application, the vehicle parallel flashing device further includes an instruction generation module, which is used to generate an instruction for the vehicle to restart after the software of the master node and the software of the slave node are flashed in parallel in the second storage partition, so that the vehicle restarts, and the flashing system exits and the operating system works from the first storage partition to the flashed second storage partition.

[0117] In some embodiments of the present application, the vehicle parallel flashing device further includes: a parsing module, configured to parse the nodes to be flashed of the information to be flashed after obtaining the information to be flashed. When the nodes to be flashed include the main node itself and slave nodes, receive a flashing instruction input by the user through a human-machine interface; in response to the flashing instruction, switch the operating system to enter the flashing system.

[0118] In some embodiments of the present application, the vehicle parallel flashing device further includes: an information-to-be-flashed verification module, configured to verify the information to be flashed before storing the information to be flashed in the first storage partition, and determine the correctness of the data of the installation package to be flashed and the integrity of the installation package to be flashed; after the verification passes, store the information to be flashed in the first storage partition;

[0119] In some embodiments of the present application, the vehicle parallel flashing device further includes: a human-machine interface display module, configured to display the parallel flashing progress of the software of the main node and the software of the slave nodes in the second storage partition through the human-machine interface.

[0120] For the specific implementation processes of the functions and roles of each module in the above device, please refer to the implementation processes of the corresponding steps in the above method, which can achieve the same technical effects and will not be elaborated here.

[0121] A vehicle provided by an embodiment of the present application includes the above vehicle parallel flashing system.

[0122] Figure 5 The block diagram of the vehicle parallel flashing system 50 provided by an embodiment of the present application is shown.

[0123] As Figure 5 shown, the vehicle parallel flashing system 50 includes one or more processors 51, configured to implement the above vehicle parallel flashing method.

[0124] In some embodiments, the vehicle parallel flashing system 50 may include a computer-readable storage medium 59. The computer-readable storage medium 59 may store a program that can be called by the processor 51, and may include a non-volatile storage medium. In some embodiments, the vehicle parallel flashing system 50 may include a memory 58 and an interface 57. In some embodiments, the vehicle parallel flashing system 50 may further include other hardware according to actual applications.

[0125] The computer-readable storage medium 59 of the embodiment of the present application stores a program thereon. When the program is executed by the processor 51, it is used to implement the vehicle parallel flashing method described above.

[0126] The present application may take the form of a computer program product implemented on one or more computer-readable storage media 59 (including but not limited to disk memories, CD-ROMs, optical memories, etc.) that contain program code. The computer-readable storage media 59 include permanent and non-permanent, removable and non-removable media, and information storage can be implemented by any method or technology. The information may be computer-readable instructions, data structures, program modules, or other data. Examples of the computer-readable storage media 59 include but are not limited to: phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassette tapes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information accessible by a computing device.

[0127] The above are only the preferred embodiments of this specification and are not intended to limit this specification. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of this specification shall be included within the scope of protection of this specification.

[0128] It should also be noted that the term "comprising", "including" or any other variant thereof is intended to cover non-exclusive inclusion, so that a process, method, commodity or device comprising a series of elements not only includes those elements but also includes other elements not expressly listed, or further includes elements inherent to such process, method, commodity or device. Without further limitation, the element defined by the statement "comprising an..." does not exclude the presence of additional identical elements in the process, method, commodity or device comprising the said element.

Claims

1. A method for parallel programming of a whole vehicle, characterized in that, Including: Obtain the information to be flashed; Store the information to be flashed in the first storage partition; Read the information to be flashed in the first storage partition; Based on the information to be flashed, according to the preset flashing strategy, flash the software of the master node and the software of the slave node in parallel in the second storage partition.

2. The vehicle parallel flashing method according to claim 1, wherein The preset flashing strategy includes a pre-configured parallel flashing queue, where the parallel flashing queue includes a pre-configured parallel flashing order and the number of parallel flashes; the first in the parallel flashing order is the installation package to be flashed with the longest flashing time; The flashing of the software of the master node and the software of the slave node in parallel in the second storage partition based on the information to be flashed according to the preset flashing strategy includes: Flash the software of the master node and the software of the slave node in parallel in the second storage partition according to the parallel flashing order and the number of parallel flashes in the parallel flashing queue.

3. The vehicle parallel flashing method according to claim 2, characterized in that, The flashing of the software of the master node and the software of the slave node in parallel in the second storage partition according to the preset flashing strategy includes: Delete the nodes that have been flashed in the parallel flashing queue; Determine the same number of nodes as the number of deletions from the remaining nodes to be flashed and fill them in the flashing queue; Flash the software of the master node and the software of the slave node in parallel in the second storage partition according to the flashing queue after filling.

4. The vehicle parallel flashing method according to claim 3, characterized in that The determining of the same number of nodes as the number of deletions from the remaining nodes to be flashed and filling them in the flashing queue includes: Find the node corresponding to the installation package to be flashed with the longest flashing time from the remaining nodes to be flashed and preferentially fill it in the flashing queue.

5. The vehicle parallel flashing method according to claim 3, wherein, The preset flashing strategy further includes a pre-configured preset filling order corresponding to the target node for filling; The determining of the same number of nodes as the number of deletions from the remaining nodes to be flashed and filling them in the flashing queue includes: According to the preset filling order, find the target node from the remaining nodes to be flashed and fill it in the flashing queue.

6. The vehicle parallel flashing method according to claim 1, characterized in that, Applied to a vehicle parallel flashing system, the vehicle parallel flashing system includes a flashing system and an operating system; the operating system includes an information synchronization module of the master node; the flashing system includes a vehicle flashing function module and the slave nodes respectively communicatively connected to the vehicle flashing function module; The obtaining of the information to be flashed includes: The information synchronization module obtains the information to be flashed; The reading of the information to be flashed in the first storage partition includes: The vehicle flashing function module reads the information to be flashed in the first storage partition through internal shared storage; The flashing of the software of the master node and the software of the slave node in parallel in the second storage partition based on the information to be flashed according to the preset flashing strategy includes: The vehicle flashing function module flashes the software of the master node and the software of the slave node in parallel in the second storage partition based on the information to be flashed according to the preset flashing strategy.

7. The vehicle parallel flashing method according to claim 6, characterized in that, The method further includes generating an instruction for restarting the whole vehicle after the software of the master node and the software of the slave node are parallelly flashed in the second storage partition, so as to restart the whole vehicle, and the flashing system exits and the operating system is switched from the first storage partition to the flashed second storage partition for operation; and / or After obtaining the information to be flashed, the whole vehicle parallel flashing method further includes: parsing the nodes to be flashed of the information to be flashed, and when the nodes to be flashed include the master node itself and the slave node, receiving a flashing instruction input by a user through a human-machine interface; in response to the flashing instruction, switching the operating system into the flashing system.

8. The vehicle parallel flashing method according to claim 1, characterized in that, Before storing the information to be flashed in the first storage partition, the method further includes: verifying the information to be flashed to determine the correctness of the data of the installation package to be flashed and the integrity of the installation package to be flashed; after the verification passes, storing the information to be flashed in the first storage partition; and / or The whole vehicle parallel flashing method further includes: displaying the parallel flashing progress of the software of the master node and the software of the slave node in the second storage partition through a human-machine interface.

9. A vehicle parallel flashing system, characterized in that, including: an information acquisition unit, configured to acquire information to be flashed; storing the information to be flashed in the first storage partition; an information reading unit, configured to read the information to be flashed in the first storage partition; a parallel flashing unit, further configured to parallelly flash the software of the master node and the software of the slave node in the second storage partition based on the information to be flashed according to a preset flashing strategy.

10. A vehicle, characterized in that, including the whole vehicle parallel flashing system according to claim 9.