Vehicle parallel flashing method and device, electronic equipment, storage medium and vehicle

By using a parallel flashing method to assign upgrade strategies to the vehicle's electronic control unit, a vehicle upgrade package is constructed to execute upgrade tasks in parallel, solving the problem of low serial flashing efficiency, improving upgrade efficiency and resource utilization, and enhancing user experience.

CN120780328APending Publication Date: 2025-10-14CHINA FAW CO LTD
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202510832759.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-06-20
Publication Date
2025-10-14

AI Technical Summary

Technical Problem

In the existing technology, the software upgrade of the vehicle controller adopts the serial flashing method, which leads to low efficiency and low resource utilization, and cannot meet the rapidly developing needs of automobile intelligence and networking.

Method used

A parallel flashing method is adopted to assign upgrade strategies to the vehicle's electronic control units through preset grouping rules, build a vehicle upgrade package, execute upgrade tasks in parallel, and use the master control node for parallel flashing.

Benefits of technology

It improves the efficiency and resource utilization of vehicle controller software upgrades and optimizes the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120780328A_ABST
    Figure CN120780328A_ABST
Patent Text Reader

Abstract

The invention discloses a vehicle parallel flashing method and device, electronic equipment, a storage medium and a vehicle, and belongs to the technical field of vehicle upgrade.The method comprises the steps that an upgrading strategy of a target vehicle is determined based on a preset grouping rule; according to the upgrading strategy, a whole vehicle upgrading package of the target vehicle is constructed and obtained, and a parallel flashing upgrading task is issued; and after the vehicle cloud communication with the target vehicle is constructed, transmitting the whole vehicle upgrade package, so that the master control node of the target vehicle executes a parallel flash upgrade task according to the whole vehicle upgrade package. Wherein the preset grouping rule comprises a group distribution rule of the electronic control unit and a channel distribution rule of the electronic control unit. According to the method, the upgrading strategy is allocated to the electronic control units of the vehicle through the preset grouping rule, so that the multiple electronic control units can be flashed in parallel, the upgrading efficiency is improved, the resource utilization is optimized, and the use experience of a user is effectively improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of vehicle upgrading, and in particular to a vehicle parallel flashing method and device, an electronic device, a storage medium and a vehicle. BACKGROUND

[0002] Currently, with the rapid development of automobile intelligence and networking, software updating of automobile controllers becomes crucial. Over-the-Air Technology (OTA) as the main means to achieve this purpose allows vehicles to receive and install new software versions through wireless networks, thereby enhancing functions, fixing defects or improving performance.

[0003] In related technologies, a serial flashing method is usually used, that is, multiple controller software is upgraded one by one, and software updating is performed on only one vehicle controller each time. After the updating is completed, the next controller is updated. However, in actual application, it is found that the traditional serial flashing method has problems such as low efficiency and low resource utilization.

[0004] In summary, the technical problems existing in related technologies need to be improved. SUMMARY

[0005] The present application provides a vehicle parallel flashing method and device, an electronic device, a storage medium and a vehicle, which can realize parallel flashing of multiple electronic control units, improve upgrading efficiency, optimize resource utilization, and effectively improve user experience.

[0006] In one aspect, the present application provides a vehicle parallel flashing method, which comprises the following steps: Based on a preset grouping rule, an upgrading strategy of multiple electronic control units of a target vehicle is determined; According to the upgrading strategy of the multiple electronic control units, a whole vehicle upgrading package of the target vehicle is constructed, and a parallel flashing upgrading task is issued to the target vehicle; After communication with the target vehicle is constructed, the whole vehicle upgrading package of the target vehicle is transmitted, so that the parallel flashing upgrading task is executed by the master node of the target vehicle according to the whole vehicle upgrading package.

[0007] The preset grouping rule includes a group allocation rule of the electronic control unit and a channel allocation rule of the electronic control unit.

[0008] Optionally, after the preset grouping rule is used to determine the upgrading strategy of the multiple electronic control units of the target vehicle, the method further comprises: In response to an input upgrading strategy adjustment command, upgrading strategy change information of a target electronic control unit is obtained; Based on the upgrade strategy change information of the target electronic control unit, manually update the upgrade strategy of the plurality of electronic control units of the target vehicle.

[0009] Optionally, the method further comprises: Obtain a vehicle model network topology graph of the target vehicle, and determine a dependency relationship of the plurality of electronic control units of the target vehicle; wherein the plurality of electronic control units are electronic control units to be upgraded. Based on a preset group allocation rule, determine a group classification result of the plurality of electronic control units according to the dependency relationship of the plurality of electronic control units. Based on a preset channel allocation rule, determine a channel classification result of the plurality of electronic control units according to the group classification result of the plurality of electronic control units. Based on the group classification result and the channel classification result of the plurality of electronic control units of the target vehicle, generate an upgrade sequence, and further construct an upgrade strategy.

[0010] Optionally, the method further comprises: Receive the whole vehicle upgrade package. Parse the whole vehicle upgrade package, and determine the upgrade strategy of the plurality of electronic control units. According to the upgrade strategy, forward the flashing message via the routing forwarding node, and sequentially complete the parallel flashing upgrade task of the electronic control units of each group according to the upgrade strategy of the electronic control units.

[0011] Optionally, the method further comprises: Call an execution factory mode script to determine the electronic control unit information of the current group. Based on the channel allocation result of the electronic control units of the current group, initialize the channel resources. Initialize the UDS communication module, send the flashing instruction and the upgrade data package, and start the parallel flashing upgrade of the electronic control units under all channels. After the parallel flashing upgrade of all the electronic control units under all channels is completed, read the version numbers of all the upgraded electronic control units, and perform verification and comparison to determine the parallel flashing upgrade result. After the parallel flashing upgrade result is passed, call an execution factory mode script to complete the parallel flashing upgrade task of the current group.

[0012] Optionally, the method further comprises: In response to a data update request, update the grouping rule.

[0013] In another aspect, the embodiment of the present application provides a vehicle parallel flashing device, the device comprising: a strategy determination module configured to determine an upgrade strategy of a plurality of electronic control units of a target vehicle based on a preset grouping rule; a task issuing module configured to construct a whole vehicle upgrade package of the target vehicle according to the upgrade strategy of the plurality of electronic control units, and issue a parallel flashing upgrade task to the target vehicle; an upgrade package transmission module configured to transmit the whole vehicle upgrade package of the target vehicle after communicating with the target vehicle, so that a master node of the target vehicle executes the parallel flashing upgrade task according to the whole vehicle upgrade package.

[0014] The preset grouping rule comprises a group allocation rule of the electronic control units and a channel allocation rule of the electronic control units.

[0015] In another aspect, the embodiment of the present application provides an electronic device, which comprises a memory and a processor, the memory stores a computer program, and the processor implements the vehicle parallel flashing method described above when executing the computer program.

[0016] In another aspect, the embodiment of the present application provides a computer readable storage medium, which stores a computer program, and the computer program is executed by a processor to implement the vehicle parallel flashing method described above.

[0017] In another aspect, the embodiment of the present application provides a vehicle, which comprises the vehicle parallel flashing device or the electronic device described above.

[0018] The embodiment of the present application can allocate an upgrade strategy for the electronic control units of the vehicle through the preset grouping rule, can realize parallel flashing of the plurality of electronic control units, improve the upgrade efficiency, optimize the resource utilization, and effectively improve the user experience. BRIEF DESCRIPTION OF DRAWINGS

[0019] Figure 1 is an implementation environment schematic diagram of a vehicle parallel flashing method provided by the embodiment of the present application; Figure 2 is a flow schematic diagram of a vehicle parallel flashing method provided by the embodiment of the present application; Figure 3 is an architecture schematic diagram of a vehicle parallel flashing framework provided by the embodiment of the present application; Figure 4 is a structure schematic diagram of a vehicle parallel flashing process state machine provided by the embodiment of the present application; Figure 5 is a structure schematic diagram of a vehicle parallel flashing device provided by the embodiment of the present application; Figure 6 is a hardware structure schematic diagram of an electronic device provided by an embodiment of the present application. DETAILED DESCRIPTION

[0020] In order to make the purposes, technical solutions and advantages of the present application clearer, the present application is further described in detail below in combination with the drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application. When the following description refers to the drawings, the same numbers in different drawings represent the same or similar elements unless otherwise indicated. The implementations described in the following exemplary embodiments do not represent all the implementations consistent with the embodiments of the present application. They are only examples of devices and methods consistent with some aspects of the embodiments of the present application as detailed in the appended claims.

[0021] It can be understood that the terms "first", "second", and the like used in the present application can be used herein to describe various concepts, but unless specifically stated, these concepts are not limited by these terms. These terms are only used to distinguish one concept from another. For example, without departing from the scope of the embodiments of the present application, the first information can also be referred to as the second information, and similarly, the second information can also be referred to as the first information. Depending on the context, the word "if" as used herein can be interpreted as "when" or "when" or "in response to determining".

[0022] The terms "at least one", "multiple", "each", "any" and the like used in the present application include one, two or more than two, multiple includes two or more than two, each refers to each of the corresponding multiple, and any refers to any one of the multiple.

[0023] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as understood by those skilled in the art to which the present application belongs. The terms used herein are only for the purpose of describing the embodiments of the present application and are not intended to limit the present application.

[0024] Currently, with the rapid development of intelligent and networked vehicles, software updates for vehicle controllers have become crucial. Over-the-air technology, as the main means to achieve this purpose, allows vehicles to receive and install new software versions through wireless networks, thereby enhancing functionality, fixing defects, or improving performance.

[0025] In the related art, a serial flashing method is usually used, that is, multiple controller software is upgraded one by one, and software update is performed on only one vehicle controller at a time. After the update is completed, the next controller is updated. However, in actual applications, it is found that the traditional serial flashing method has problems such as low efficiency and low resource utilization.

[0026] Therefore, the vehicle parallel flashing method, device, electronic equipment, storage medium and vehicle provided in the embodiments of the present application can allocate an upgrade strategy for the electronic control unit of the vehicle through a preset grouping rule, can realize parallel flashing of multiple electronic control units, improve the upgrade efficiency, optimize the resource utilization, and effectively improve the use experience of the user.

[0027] It should be noted that, in each specific embodiment of the present application, when relevant processing needs to be performed according to user information, user behavior data, user historical data and user location information and other data related to the identity or characteristics of the user, the user's permission or consent will be obtained first, and the collection, use and processing of these data will comply with relevant laws, regulations and standards. In addition, when the embodiments of the present application need to obtain sensitive personal information of the user, the separate permission or separate consent of the user will be obtained through a pop-up window or a jump to a confirmation page, and after obtaining the separate permission or separate consent of the user, the necessary user-related data for enabling the embodiments of the present application to normally operate will be obtained.

[0028] The specific embodiments of the present application will be described in detail below with reference to the accompanying drawings. First, a vehicle parallel flashing method provided in the embodiments of the present application will be described with reference to the accompanying drawings.

[0029] Please refer to Figure 1 , Figure 1 is an implementation environment schematic diagram of a vehicle parallel flashing method provided in the embodiments of the present application. In the implementation environment, the main hardware and software subjects involved include a vehicle processor 110 and a server 120.

[0030] Specifically, the vehicle processor 110 can be installed with a related vehicle parallel flashing program, and the server 120 is a background server of the control program. The vehicle processor 110 and the background server 120 are in communication connection. The vehicle parallel flashing method provided in the embodiments of the present application can be executed on the vehicle processor 110 side.

[0031] The server 120 can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server providing cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN (Content Delivery Network), and basic cloud computing services such as big data and artificial intelligence platforms.

[0032] In addition, the server 120 can also be a node server in a blockchain network.

[0033] The vehicle processor 110 and the server 120 can establish a communication connection through a wireless network. The wireless network uses standard communication technology and / or protocols, and the network can be set as the Internet or any other network, such as but not limited to a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), a mobile or wireless network, a private network, or any combination of virtual private networks. In addition, the same communication connection method or different communication connection methods can be used between the above-mentioned software and hardware subjects, and the application does not make specific limitations.

[0034] Of course, it can be understood that Figure 1 The implementation environment in the above embodiment is only some optional application scenarios of the vehicle parallel flashing method provided in the embodiment of the application, and the actual application is not fixed to the software and hardware environment shown in the above embodiment. The application does not make specific limitations. Figure 1

[0035] As shown in Figure 2 , the flowchart of the vehicle parallel flashing method provided in the embodiment of the application is shown in Figure 2 , and specifically includes but is not limited to steps 100 to 300.

[0036] Step 100, based on a preset grouping rule, determining an upgrade strategy of a plurality of electronic control units of a target vehicle. The preset grouping rule includes a group allocation rule of the electronic control unit and a channel allocation rule of the electronic control unit.

[0037] In the embodiment of the application, the execution subject can be a processor of a cloud OTA management platform or an OTA processor arranged at a vehicle end. When the cloud OTA management platform determines to perform parallel flashing upgrade on each electronic control unit (ECU) of the target vehicle, the cloud OTA management platform can first establish a whole vehicle package, automatically generate a default upgrade sequence based on a preset grouping rule, determine ECU version information to be upgraded, set grouping and channel information for each ECU, and finally generate an upgrade strategy.

[0038] In actual application, the preset grouping rule includes a group allocation rule of the electronic control unit and a channel allocation rule of the electronic control unit. The group allocation rule of the ECU can be distinguished according to a node type and a flashing mode. For example, a standalone download node, an Ethernet node, and a CAN node can be a group, a flashing node requiring high voltage can be a group, a routing forwarding node can be a group, and a master node can be a group. ​

[0039] Further, the channel allocation rule of the ECU can be arranged according to the scheduling strategy, for example, when the master node is upgraded, the routing forwarding node and the ECU under it cannot be upgraded at the same time, otherwise it will affect the working state control of the vehicle. In addition, for example, multiple ECUs on the same CAN or CANFD bus cannot be upgraded in parallel, therefore, according to the preset channel allocation rule of the ECU, the channel resources can be reasonably arranged to different ECUs, improve the resource utilization, and effectively reduce the time consumed by the vehicle parallel upgrade task.

[0040] The above grouping rule setting is only some optional application settings of the preset grouping rules provided in the embodiments of the present application, and the actual application is not fixed to the above grouping rule setting, which is not specifically limited in the present application.

[0041] In actual application, the upgrade strategy of the multiple ECUs of the target vehicle is determined based on the preset grouping rule, including: Obtaining the network topology map of the vehicle model of the target vehicle, and determining the dependency relationship of the multiple ECUs of the target vehicle; wherein the multiple ECUs are ECUs to be upgraded; Based on the preset grouping allocation rule, the grouping classification result of the multiple ECUs is determined according to the dependency relationship of the multiple ECUs; Based on the preset channel allocation rule, the channel classification result of the multiple ECUs is determined according to the grouping classification result of the multiple ECUs; Based on the grouping classification result and the channel classification result of the multiple ECUs of the target vehicle, an upgrade sequence is generated, and then an upgrade strategy is constructed.

[0042] In the embodiments of the present application, please refer to Figure 3 , Figure 3 is a schematic diagram of a vehicle parallel upgrade framework architecture provided by the embodiments of the present application, taking six ECUs as an example (numbered as ECU1 to ECU6), when the OTA management platform of the cloud establishes a whole vehicle upgrade package, first, the network topology map of the vehicle model of the target vehicle can be obtained, so as to determine the communication bus and the dependency relationship between different nodes and ECUs, for example, on different buses, different domains or nodes without direct dependency, they can be scheduled at the same time, while the shared bus or nodes with upstream and downstream dependency need to be upgraded in series or sequentially.

[0043] Further, according to a preset group allocation rule, a group classification result of the plurality of ECUs is determined, after the groups are divided, a channel is specified for each ECU according to a preset channel allocation rule, thereby determining a channel classification result of each ECU, and finally, an upgrade sequence of the six ECUs can be generated by combining the upgrade order between different groups, thereby constructing an upgrade strategy and completing the establishment of the whole vehicle upgrade package.

[0044] In actual application, after the upgrade strategy of the plurality of electronic control units of the target vehicle is determined based on the preset grouping rule, the method further comprises: In response to an input upgrade strategy adjustment command, upgrade strategy change information of the target electronic control unit is obtained; Based on the upgrade strategy change information of the target electronic control unit, the upgrade strategy of the plurality of electronic control units of the target vehicle is manually updated.

[0045] In the embodiments of the present application, as shown in Figure 3 After the OTA management platform in the cloud generates the upgrade sequence based on the preset grouping rule by default, determines the grouping and channel information of the ECUs, the management personnel can also manually update and adjust the grouping and channel allocation result of each ECU according to the vehicle network topology map, generate a new upgrade sequence according to the actual working condition requirements, and thereby manually update the upgrade strategy of the ECUs of the target vehicle.

[0046] Among them, the upgrade strategy change information of the target ECU can be obtained by responding to the user's drag operation on the display screen or responding to the user's input allocation text result, and is updated on the display screen in synchronization, so that the management personnel can intuitively obtain the upgrade strategy information.

[0047] Step 200, according to the upgrade strategy of the plurality of electronic control units, a whole vehicle upgrade package of the target vehicle is constructed, and a parallel writing upgrade task is issued to the target vehicle.

[0048] In the embodiments of the present application, as shown in Figure 3 According to the determined upgrade strategy of the plurality of ECUs, the whole vehicle upgrade package of the target vehicle can be further constructed, and a parallel writing upgrade task is issued to the target vehicle, and the vehicle is waited to wake up and enter the running state.

[0049] Optionally, as shown in Figure 3As shown, the ecuList.xml file in the whole vehicle upgrade package can be set, wherein the basic information of all ECUs to be upgraded is defined, such as ECU identification, type and channel ID corresponding to the ECU, that is, the practical communication channel or logical channel during ECU upgrade; the policy.xml file can also be set, which is used to define the upgrade strategy, so that the execution order of the parallel flashing task can be determined after the vehicle-side OTA processor parses; the manifest.xml file can be used to define the information of this parallel flashing upgrade, such as release date, overall version number of upgrade, security signature, verification mode description and rollback or upgrade failure processing specification.

[0050] Step 300, after communicating with the target vehicle to build a vehicle cloud, transmitting the whole vehicle upgrade package of the target vehicle, so that the master node of the target vehicle executes the parallel flashing upgrade task according to the whole vehicle upgrade package.

[0051] In the embodiment of the present application, as shown in Figure 3 As shown, after the cloud communicates with the target vehicle to build a vehicle cloud, the vehicle side can be connected to the OTA server to perform upgrade package download, so that the whole vehicle upgrade package of the target vehicle can be transmitted to the vehicle side, and the upgrade package includes ECU information to be upgraded, strategy information and ECU upgrade files (such as ECU1.zip to ECU6.zip in Figure 3 ).

[0052] Further, after completing the transmission of the whole vehicle upgrade package, the master node of the vehicle can parse the whole vehicle upgrade package and start to execute the parallel flashing task according to the parsed result.

[0053] In actual application, the master node of the target vehicle executes the parallel flashing upgrade task according to the whole vehicle upgrade package, including: receiving the whole vehicle upgrade package; parsing the whole vehicle upgrade package to determine the upgrade strategy of the plurality of electronic control units; According to the upgrade strategy, the flashing message is forwarded through the routing forwarding node, and the parallel flashing upgrade task of each group of electronic control units is completed in turn according to the upgrade strategy of the electronic control unit.

[0054] In the embodiment of the present application, as shown in Figure 3 The basic information, type and allocated channel information ID identification mapping of all ECUs to be upgraded can be parsed from the ecuList.xml file, the upgrade strategy and grouping information can be parsed from the policy.xml file, for example, ECU1, ECU2, ECU4 and ECU6 are divided into the first group, and ECU3 and ECU5 are divided into the second group.

[0055] Further, the parallel flashing message is sent to the routing and forwarding node, and the relevant message information is forwarded to the corresponding ECU node by the routing node, so that the upgrade task is started according to the parallel flashing order, the channel resource is allocated through the pre-allocated channel identifier mapping, and then the parallel flashing is started according to the grouping information and the upgrade order, until the parallel flashing task is completed.

[0056] Therefore, the application can allocate an upgrade strategy for the electronic control units of the vehicle through the preset grouping rule, can realize parallel flashing of multiple electronic control units, can improve the upgrade efficiency, can optimize the resource utilization, and can effectively improve the use experience of the user.

[0057] Specifically, as an optional implementation, the parallel flashing and upgrading task of each group of electronic control units includes: The in-factory mode script is called to determine the electronic control unit information of the current group; Based on the channel allocation result of the electronic control unit of the current group, the channel resource is initialized; The UDS communication module is initialized, the flashing instruction and the upgrade data packet are sent, and the parallel flashing and upgrading of the electronic control units under all channels are started; After the parallel flashing and upgrading of all electronic control units under all channels are completed, the version numbers of all upgraded electronic control units are read and verified and compared to determine the parallel flashing and upgrading result; After the parallel flashing and upgrading result is passed, the out-of-factory mode script is called to complete the parallel flashing and upgrading task of the current group.

[0058] In the embodiment of the application, when the vehicle end executes the parallel flashing and upgrading task, it will sequentially update the single group according to the group order, first needs to call the in-factory mode script to let the whole vehicle be high-voltage, control the high-voltage part to stop working and wait for flashing, and read the ECU information of the current group. The ECU information can include the basic information, type and allocated channel information ID mapping of the ECU to be upgraded.

[0059] Further, based on the read ECU channel allocation result, the channel resource is initialized and allocated to the corresponding ECU node, the UDS communication module is initialized, the flashing instruction and the upgrade data packet are sent, the parallel flashing and upgrading of the ECUs under all channels are started, until the parallel flashing and upgrading of all ECUs under all channels are completed, the version numbers of all upgraded electronic control units are read and verified and compared to determine the parallel flashing and upgrading result, after the parallel flashing and upgrading result is passed, the out-of-factory mode script is called to let the whole vehicle restore high-voltage, and avoid the long normal power-off time from causing power loss.

[0060] In practical application, please refer to Figure 4 ,Figure 4 is a structural schematic diagram of a vehicle parallel flashing process state machine provided by an embodiment of the present application. In the vehicle parallel flashing process, the OTA component at the vehicle end always keeps real-time monitoring of the vehicle state and upgrade progress, and controls the state machine to enter the next state through Figure 4 the calling of the master node and the internal interface sequence of the component.

[0061] First, when the state machine enters the initial update control (FE_OTA_FSM_UPDATE_E_DO_VCTRL), it is the pre-control stage of OTA update, and the parallel flashing upgrade state parameters will be controlled and adjusted to prepare for the subsequent flashing. For example, different functions such as esync_set_sleep_mode, esync_set_vehicle_ctrl, and esync_set_online_mode for adjusting ECU communication, power supply, and online state can be called to ensure that the preparation state for updating is entered.

[0062] Further, the state machine enters the running state (FE_OTA_FSM_UPDATE_E_RUNNING). After completing the preparation stage, the state machine enters the running stage and starts to obtain update plan information. The obtained vehicle upgrade package is parsed and obtained through functions such as get_update_sequence (obtaining the order of ECU groups that need to be updated), getRealTimeVersion (obtaining the real-time version information of each ECU or the whole system, which is used to judge which needs to be upgraded or the calculation of the differential package), and the upgrade strategy is determined.

[0063] Further, according to the upgrade strategy, the single-group update process is started according to the upgrade sequence and according to the group. That is, the single-group update process is triggered in turn according to the order of the first group, the second group, and so on. In each single-group update process, first, the high pressure of the whole vehicle is lowered by calling the factory mode script, the communication link is set to online mode by calling the esync_set_online_mode function, so as to start UDS communication, and then the UDS communication thread is started by calling the startUdsThread function, and the use case is obtained from the XML configuration vector, and then the UDS sends instructions and data packets, such as requesting download, transmitting data blocks, and requesting exit transmission. After the UDS interaction in the factory mode is completed, the UDS thread resource is initialized.

[0064] Further, after the factory-in mode is completed, the current group upgrade package of the current group can be parsed and obtained, and the upgrade file of the current group ECU is imported, the firmware data payload is prepared, the script configuration file is parsed, the verification information, retry strategy and other data are obtained, and the UDS communication module is initialized, including opening the corresponding bus interface, setting the baud rate, configuring the security access, etc., and the ECU response, state change or error notification is received by registering the callback function.

[0065] After the above work is completed, the front end is fed back that the preliminary preparation work has been completed (as shown by the return arrow in Figure 4 The parallel flashing upgrade process is entered, the flashing instruction and data are sent through UDS, that is, the communication link state is set, the UDS communication module is started, the use case is distributed, the master node initializes multiple handles for the OTA component to use, and the data is transmitted through the communication interface. After the transmission upgrade is completed, the reverse initialization process is performed, the handles used in the upgrade process are destroyed, and the current ECU version information is cleared to prepare for writing a new version. By reading the updated version number, verification and comparison are performed to ensure that the flashing takes effect and the version number is correct, the script configuration resource is released.

[0066] Finally, in the single group update process, the factory-out mode script is called to enter the factory-out mode, which is similar to the factory-in mode script. The communication link state is set again to facilitate the execution of the exit session.

[0067] In actual application, when the single group update process is completed, the state machine enters the single group update process completion state (EVT_TYPE_UPDATE_SINGLE_GROUP_OK), indicating that the ECU of the current group is parallel flashed, and it is further judged whether there is a group to be flashed. If there is, the single group update process of the next group is triggered, and the above steps are repeated. If not, the all-group update completion state (EVT_TYPE_UPDATE_ALL_OK) is triggered.

[0068] When all groups complete the parallel flashing upgrade task, the OTA end control stage is entered, the state machine restores the control state parameters set before entering the OTA flashing, reports the OTA update result and log information of this time, and verifies the matching of the version number to confirm that the ECU version after flashing is consistent with the expected, so as to finally confirm that the entire parallel flashing upgrade task is executed, and the state machine returns to the idle state, waiting for the next parallel flashing upgrade task to be issued.

[0069] It can be understood that the same function in the above embodiment can execute different scripts to achieve different functions. The above embodiment is only some optional application scenarios in the vehicle parallel flashing upgrade task completed by the application, and the actual application is not fixed to the above embodiment, which is not limited by the application.

[0070] Specifically, as an optional implementation, the method further comprises: updating the grouping rule in response to a data update request.

[0071] In the embodiments of the present application, the grouping rule can also be updated and optimized periodically, which helps to better adapt to different actual application scenarios and improve the reliability of the specified upgrade strategy.

[0072] Referring to Figure 5 , Figure 5 is a structural schematic diagram of a vehicle parallel flashing device provided by an embodiment of the present application. The present application also provides a vehicle parallel flashing device, which can implement the vehicle parallel flashing method described above. The device comprises: The policy determination module 510 is configured to determine an upgrade strategy of the multiple electronic control units of the target vehicle based on a preset grouping rule. The task issuing module 520 is configured to construct a vehicle upgrade package of the target vehicle according to the upgrade strategy of the multiple electronic control units, and issue a parallel flashing upgrade task to the target vehicle. The upgrade package transmission module 530 is configured to transmit the vehicle upgrade package of the target vehicle after communicating with the target vehicle, so that the master node of the target vehicle executes the parallel flashing upgrade task according to the vehicle upgrade package.

[0073] The preset grouping rule comprises a group allocation rule of the electronic control units and a channel allocation rule of the electronic control units.

[0074] It can be understood that the contents in the method embodiments described above are applicable to the device embodiments. The device embodiments specifically implement the same functions as the method embodiments described above, and achieve the same beneficial effects as the method embodiments described above.

[0075] Referring to Figure 6 , Figure 6 is a hardware structural schematic diagram of an electronic device provided by an embodiment of the present application. The electronic device comprises: The processor 601 can be implemented in a general-purpose CPU (Central Processing Unit), a microprocessor, an ASIC (Application Specific Integrated Circuit), or one or more integrated circuits, and is configured to execute related programs to implement the technical solutions provided by the embodiments of the present application. The memory 602 can be implemented in the form of a Read Only Memory (ROM), a static storage device, a dynamic storage device, or a Random Access Memory (RAM), etc. The memory 602 can store an operating system and other application programs, and when the technical solutions provided by the embodiments of the present specification are implemented by software or firmware, the related program codes are stored in the memory 602 and are called and executed by the processor 601 to implement the vehicle parallel flashing method of the embodiments of the present application; The input / output interface 603 is configured to realize information input and output. The communication interface 604 is configured to realize the communication interaction between the device and other devices, and the communication can be realized by a wired manner (for example, a USB, a network cable, etc.) or a wireless manner (for example, a mobile network, WIFI, Bluetooth, etc.). The bus 605 is configured to transmit information between various components (for example, the processor 601, the memory 602, the input / output interface 603, and the communication interface 604) of the device. The processor 601, the memory 602, the input / output interface 603, and the communication interface 604 are connected to each other through the bus 605 to realize the communication connection between the devices.

[0076] The embodiments of the present application also provide a computer readable storage medium, which stores a computer program, and the computer program is executed by a processor to implement the vehicle parallel flashing method.

[0077] It can be understood that the contents in the above method embodiments are applicable to the present storage medium embodiments, the functions specifically implemented by the present storage medium embodiments are the same as those of the above method embodiments, and the beneficial effects achieved by the present storage medium embodiments are also the same as those of the above method embodiments.

[0078] The memory is a non-transitory computer readable storage medium, which can be used to store non-transitory software programs and non-transitory computer executable programs. In addition, the memory can include a high-speed random access memory, and can also include a non-transitory memory, such as at least one magnetic disk storage device, a flash memory device, or other non-transitory solid-state memory device. In some embodiments, the memory can optionally include a memory remotely arranged relative to the processor, and these remote memories can be connected to the processor through a network. Examples of the above network include but are not limited to the Internet, an intranet, a local area network, a mobile communication network, and a combination thereof.

[0079] Specifically, in a possible implementation manner, the embodiments of the present application also provide a vehicle, and the vehicle includes the vehicle parallel flashing device or the electronic device described above.

[0080] Specifically, the vehicle can be a private car, such as a sedan, a minivan, a sport utility vehicle, or a pickup truck, etc. The vehicle can also be an operating vehicle, such as a van, a bus, a small truck, or a large trailer, etc. The vehicle can be a gasoline vehicle or a new energy vehicle. When the vehicle is a new energy vehicle, it can be a hybrid vehicle or a pure electric vehicle.

[0081] The vehicle parallel flashing method and device, the electronic device, the storage medium and the vehicle provided by the embodiments of the present application can allocate an upgrade strategy to the electronic control unit of the vehicle through a preset grouping rule, can realize parallel flashing of multiple electronic control units, improve the upgrade efficiency, optimize the resource utilization, and effectively improve the user experience.

[0082] The embodiments described in the embodiments of the present application are used to more clearly illustrate the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided by the embodiments of the present application. Those skilled in the art can know that, with the evolution of technology and the appearance of new application scenarios, the technical solutions provided by the embodiments of the present application are also applicable to similar technical problems.

[0083] Those skilled in the art can understand that the technical solutions shown in the figures do not constitute a limitation on the embodiments of the present application, and can include more or fewer steps than the figures shown, or combine certain steps, or different steps.

[0084] The device embodiments described above are only schematic, and the units described as separate components can or can not be physically separate, that is, can be located in one place, or can be distributed on multiple network units. Part or all of the modules can be selected according to actual needs to achieve the purpose of the embodiments of the present application.

[0085] Those skilled in the art can understand that all or some of the steps in the above disclosed method, the function modules / units in the system and the device can be implemented as software, firmware, hardware and their appropriate combinations.

[0086] The terms "first", "second", "third", "fourth" and the like (if any) in the specification of the present application and the above-described figures are used to distinguish similar objects, and do not necessarily have to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged under appropriate circumstances, so that the embodiments of the present application described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "include" and "have" and any variations thereof are intended to cover non-exclusive inclusion, for example, a process, method, system, product or device including a series of steps or units does not have to be limited to those steps or units clearly listed, but can include other steps or units not clearly listed or inherent to these processes, methods, products or devices.

[0087] It should be understood that, in the application, "at least one" means one or more, "multiple" means two or more. "And / or" is used to describe the relationship between the associated objects, which means that there can be three relationships, for example, "A and / or B" can represent three cases: only A exists, only B exists, and A and B exist at the same time, where A and B can be singular or plural. The character " / " generally represents an "or" relationship between the associated objects. "At least one of the following" or similar expressions means any combination of these items, including single or multiple combinations of items. For example, at least one of a, b or c can represent: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, and c can be single or multiple.

[0088] In several embodiments provided in the application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only illustrative, for example, the division of the above units is only a logical function division, and actual implementation can have another division manner, for example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between the displayed or discussed units can be indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.

[0089] The units described above as separate components can or can not be physically separated, and the components shown as units can or can not be physical units, that is, they can be located in one place, or they can be distributed on multiple network units. According to actual needs, some or all of the units can be selected to achieve the purpose of the embodiment scheme.

[0090] In addition, each functional unit in each embodiment of the application can be integrated into a processing unit, or each unit can exist physically, or two or more units can be integrated into one unit. The integrated unit can be realized in the form of hardware or in the form of a software functional unit.

[0091] The integrated unit, if implemented in the form of a software function unit and sold or used as an independent product, can be stored in a computer readable storage medium. Based on such understanding, the technical solutions of the present application, essentially or in other words, the part that contributes to the prior art or the whole or part of the technical solutions can be embodied in the form of a software product. The computer software product is stored in a storage medium, and includes multiple instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods of the various embodiments of the present application. The aforementioned storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, and various program storage media.

[0092] The preferred embodiments of the embodiments of the present application are described above with reference to the accompanying drawings, and are not limited to the scope of the embodiments of the present application. Any modifications, equivalent replacements and improvements made by those skilled in the art without departing from the scope and essence of the embodiments of the present application shall be within the scope of the embodiments of the present application.

Claims

1. A vehicle parallel flashing method, characterized in that: The method comprises the following steps: Determine an upgrade strategy for multiple electronic control units of a target vehicle based on preset grouping rules; Constructing a vehicle upgrade package for the target vehicle according to the upgrade strategies of the multiple electronic control units, and issuing a parallel flash upgrade task to the target vehicle; After establishing vehicle-to-cloud communication with the target vehicle, the entire vehicle upgrade package of the target vehicle is transmitted, so that the master control node of the target vehicle executes the parallel flash upgrade task according to the entire vehicle upgrade package. The preset grouping rules include group allocation rules for electronic control units and channel allocation rules for electronic control units.

2. The vehicle parallel flashing method according to claim 1, characterized in that: After determining the upgrade strategies for the multiple electronic control units of the target vehicle based on the preset grouping rules, the method further includes: In response to the input upgrade strategy adjustment command, acquiring upgrade strategy change information of the target electronic control unit; Based on the upgrade strategy change information of the target electronic control unit, the upgrade strategies of the multiple electronic control units of the target vehicle are manually updated.

3. The vehicle parallel flashing method according to claim 1, characterized in that: The step of determining an upgrade strategy for multiple electronic control units of a target vehicle based on a preset grouping rule includes: Obtaining a vehicle model network topology diagram of the target vehicle and determining dependency relationships among multiple electronic control units of the target vehicle; wherein the multiple electronic control units are electronic control units to be upgraded; Based on a preset group allocation rule and according to the dependency relationship of the multiple electronic control units, determining a group classification result of the multiple electronic control units; Determining channel classification results of the plurality of electronic control units based on a preset channel allocation rule and according to the group classification results of the plurality of electronic control units; Based on the group classification results and channel classification results of the multiple electronic control units of the target vehicle, an upgrade sequence is generated, and then an upgrade strategy is constructed.

4. The vehicle parallel flashing method according to claim 1, characterized in that: The master control node of the target vehicle executes a parallel flash upgrade task according to the vehicle upgrade package, including: receiving the vehicle upgrade package; Analyzing the vehicle upgrade package and determining upgrade strategies for multiple electronic control units; According to the upgrade strategy, the flashing message is forwarded via the routing forwarding node, and the upgrade strategy of the electronic control unit is followed to complete the parallel flashing upgrade task of each group of electronic control units in sequence.

5. The vehicle parallel flashing method according to claim 4, characterized in that: The parallel flash upgrade task for each group of electronic control units includes: Retrieve and execute the factory mode script to determine the electronic control unit information of the current group; Initialize channel resources based on the channel allocation results of the current group of electronic control units; Initialize the UDS communication module, send the flash command and upgrade data packet, and start the parallel flash upgrade of the electronic control units under all channels; After all electronic control units in all channels have completed the parallel flash upgrade, the version numbers of all upgraded electronic control units are read and compared to determine the parallel flash upgrade results. After the parallel flashing and upgrading result is passed, the factory exit mode script is called to complete the parallel flashing and upgrading task of the current group.

6. The vehicle parallel flashing method according to claim 1, characterized in that: The method further comprises: In response to the data update request, the grouping rule is updated.

7. A vehicle parallel flashing device, characterized in that: The device comprises: a strategy determination module, configured to determine an upgrade strategy for a plurality of electronic control units of a target vehicle based on a preset grouping rule; A task issuing module, configured to construct a vehicle upgrade package for the target vehicle according to the upgrade strategies of the multiple electronic control units, and issue a parallel flash upgrade task to the target vehicle; The upgrade package transmission module is used to transmit the entire vehicle upgrade package of the target vehicle after establishing vehicle-to-cloud communication with the target vehicle, so that the main control node of the target vehicle performs parallel flash upgrade tasks according to the entire vehicle upgrade package. The preset grouping rules include group allocation rules for electronic control units and channel allocation rules for electronic control units.

8. An electronic device, characterized in that: The electronic device includes a memory and a processor, the memory stores a computer program, and the processor implements the vehicle parallel flashing method according to any one of claims 1 to 6 when executing the computer program.

9. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the vehicle parallel flashing method according to any one of claims 1 to 6 is implemented.

10. A vehicle, characterized in that: The vehicle includes the vehicle parallel flashing device according to claim 7 or the electronic device according to claim 8.

Citation Information

Cited By

  • Embedded device flashing method and related device

    CN121300816A