Software flashing method of vehicle, terminal equipment, vehicle and storage medium
By intelligently determining the flashing file set through version identifier comparison, the problems of low refresh efficiency and low reliability in vehicle controller software flashing are solved, and differentiated partial refresh is realized, which improves refresh efficiency and reduces network burden and failure risk.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- SAIC GM WULING AUTOMOBILE CO LTD
- Filing Date
- 2025-11-27
- Publication Date
- 2026-04-21
AI Technical Summary
Existing methods for flashing vehicle controller software suffer from low refresh efficiency, high network load, and low reliability, especially the unnecessary data transmission and increased risk of flashing failure caused by full refresh.
By comparing the current version identifier and the updated version identifier of the target file to be flashed, the set of files to be flashed is intelligently determined, and only the different parts of the files are transmitted, reducing the amount of data transmitted and optimizing the flashing process.
It significantly improves the efficiency of software flashing, reduces network load, and lowers the risk of flashing failure due to unexpected situations such as vehicle power fluctuations, thereby improving the reliability of flashing.
Smart Images

Figure CN121900780A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of vehicle technology, specifically to a method for flashing software on a vehicle, a terminal device, a vehicle, and a storage medium. Background Technology
[0002] With the increasing intelligence and connectivity of vehicles, the number and software complexity of onboard controllers have increased dramatically. As a core component in a vehicle, onboard controllers typically require frequent software updates to optimize performance, fix vulnerabilities, or add new features.
[0003] Currently, the conventional method for flashing the software of an onboard controller is a full refresh. This means that no matter how much the difference is between the existing software version on the vehicle and the latest version on the server, the flashing tool will download and write all the flashing files, including the basic software, application software, and calibration data corresponding to the new version, to the onboard controller.
[0004] However, because unnecessary data (such as unmodified software) is often transferred or written, it can consume a significant amount of time, potentially leading to low refresh efficiency and increased network load. Furthermore, writing more data usually means longer flashing times, which may increase the risk of flashing failure due to unexpected events such as vehicle power fluctuations or signal interruptions, resulting in lower software flashing reliability.
[0005] It should be noted that the information disclosed in the background section of this application is intended only to enhance the understanding of the general background of this application, and should not be construed as an admission or in any way implying that the information constitutes prior art known to those skilled in the art. Summary of the Invention
[0006] This application provides a method for flashing software on a vehicle, a terminal device, a vehicle, and a storage medium, in order to solve the problems in related technologies where full-scale file flashing may lead to low flashing efficiency, increased network burden, and low flashing reliability.
[0007] In a first aspect, embodiments of this application provide a method for flashing software on a vehicle, applied to a terminal device, the method comprising: Receive the current version identifier corresponding to the target flash file sent by the vehicle; When the current version identifier and the updated version identifier corresponding to the target flash file are the same, a first flash file set is determined, wherein the first flash file set does not include the target flash file; When the current version identifier and the updated version identifier are different, a second flash file set is determined, the second flash file set including the target flash file; Send a flashing instruction to the vehicle, the flashing instruction being used to instruct the vehicle to flash all flashing files from the first flashing file set or the second flashing file set to the corresponding flashing area.
[0008] In one possible implementation, the file data size of the target file to be written is greater than or equal to a preset file data size.
[0009] In one possible implementation, the second set of flash files includes flash files with a file data size smaller than the preset file data size.
[0010] In one possible implementation, sending the flashing command to the vehicle includes: When the integrity verification result corresponding to the i-th flash file in the first flash file set is successful, the vehicle is sent with the (i+1)-th flash instruction corresponding to the (i+1)-th flash file in the first flash file set. The (i+1)-th flash instruction is used to instruct the vehicle to flash the (i+1)-th flash file to the flash area corresponding to the (i+1)-th flash file, where 1≤i. or, When the integrity verification result corresponding to the j-th flash file in the second flash file set is successful, a (j+1)-th flash instruction corresponding to the (j+1)-th flash file in the second flash file set is sent to the vehicle. The (j+1)-th flash instruction is used to instruct the vehicle to flash the (j+1)-th flash file to the flash area corresponding to the (j+1)-th flash file, where 1 ≤ j.
[0011] In one possible implementation, the method further includes: When the integrity verification result corresponding to the i-th flash file is a verification failure, a prompt message is output and / or the i-th flash command corresponding to the i-th flash file is sent to the vehicle. The i-th flash command is used to instruct the vehicle to flash the i-th flash file to the flash area corresponding to the i-th flash file. or, When the integrity verification result corresponding to the j-th flash file is a verification failure, a prompt message is output and / or the j-th flash command corresponding to the j-th flash file is sent to the vehicle. The j-th flash command is used to instruct the vehicle to flash the j-th flash file to the flash area corresponding to the j-th flash file. The prompt message is used to indicate that the write operation failed.
[0012] In one possible implementation, the method further includes: When the first correlation verification result is successful, a reset command is sent to the vehicle. The first correlation verification result is used to characterize the correctness of the logical relationship between the data in the flashing area corresponding to the first flashing file set. or, When the second correlation verification result is successful, the reset command is sent to the vehicle. The second correlation verification result is used to characterize the correctness of the logical relationship between the data in the flashing area corresponding to the second flashing file set. The reset command is used to instruct the vehicle to perform a hardware and / or software reset operation.
[0013] Secondly, embodiments of this application provide a software flashing method for a vehicle, applied to a vehicle, the method comprising: Send the current version identifier corresponding to the target flash file to the terminal device. The terminal device is used to determine a first flash file set when the current version identifier is the same as the updated version identifier corresponding to the target flash file, and to determine a second flash file set when the current version identifier and the updated version identifier are different. Receive the flashing command sent by the terminal device; In response to the flashing command, all flashing files in the first flashing file set or the second flashing file set are flashed to the corresponding flashing area; Wherein, the first set of flash files does not include the target flash file, and the second set of flash files includes the target flash file.
[0014] In one possible implementation, receiving the flashing instruction sent by the terminal device includes: receiving the (i+1)th flashing instruction sent by the terminal device corresponding to the (i+1)th flashing file in the first flashing file set or the (j+1)th flashing instruction corresponding to the (j+1)th flashing file in the second flashing file set, where 1≤i, 1≤j; The step of responding to the flashing instruction by flashing all flashing files in the first flashing file set or the second flashing file set to the corresponding flashing area includes: responding to the (i+1)th flashing instruction by flashing the (i+1)th flashing file to the flashing area corresponding to the (i+1)th flashing file, or responding to the (j+1)th flashing instruction by flashing the (j+1)th flashing file to the flashing area corresponding to the (j+1)th flashing file; The terminal device is configured to send the (i+1)th flash command to the vehicle when the integrity verification result corresponding to the i-th flash file in the first flash file set is successful, or to send the (j+1)th flash command to the vehicle when the integrity verification result corresponding to the j-th flash file in the second flash file set is successful.
[0015] In one possible implementation, the method further includes: Receive the i-th write instruction corresponding to the i-th write file in the first write file set or the j-th write instruction corresponding to the j-th write file in the second write file set sent by the terminal device; In response to the i-th write command, the i-th write file is written to the write area corresponding to the i-th write file; or, in response to the j-th write command, the j-th write file is written to the write area corresponding to the j-th write file. The terminal device is configured to output a prompt message and / or send the i-th flashing command to the vehicle when the integrity verification result corresponding to the i-th flashing file is a verification failure, or to output a prompt message and / or send the j-th flashing command to the vehicle when the integrity verification result corresponding to the j-th flashing file is a verification failure, wherein the prompt message is used to indicate flashing failure.
[0016] In one possible implementation, the method further includes: The terminal device receives a reset command sent by the terminal device. The terminal device is used to send a reset command to the vehicle when the first correlation verification result is successful, or to send the reset command to the vehicle when the second correlation verification result is successful. In response to the reset command, perform a hardware and / or software reset operation; The first correlation verification result is used to characterize the correctness of the logical relationship between the data in the brush area corresponding to the first brush file set, and the second correlation verification result is used to characterize the correctness of the logical relationship between the data in the brush area corresponding to the second brush file set.
[0017] Thirdly, embodiments of this application provide a terminal device, including: processor; Memory; And a computer program, wherein the computer program is stored in the memory, and when the computer program is executed by the processor, causes the terminal device to perform the method described in any one of the first aspects.
[0018] Fourthly, embodiments of this application provide a vehicle, including: A controller configured to perform the method described in any of the second aspects.
[0019] Fifthly, embodiments of this application provide a vehicle software flashing system, comprising: The terminal equipment described in the third aspect and the vehicle described in the fourth aspect.
[0020] In a sixth aspect, embodiments of this application provide a computer-readable storage medium storing a computer program that, when executed by a processor, implements the method described in any one of the first to second aspects.
[0021] In this embodiment, the terminal device first compares the current version identifier and the updated version identifier corresponding to the target flashing file. If the comparison results are inconsistent, the terminal device sends the target flashing file to the vehicle; if the comparison results are consistent, the terminal device does not send the target flashing file to the vehicle, thereby reducing the amount of flashing data. Furthermore, reducing the amount of flashing data transmission lowers the network load, effectively saving the bandwidth and traffic required for data transmission. In addition, the reduction in flashing data significantly shortens the file flashing time and reduces flashing operations, thereby reducing the risk of flashing failure due to unexpected situations such as vehicle power fluctuations or signal interruptions, and improving the reliability of software flashing to a certain extent. In other words, the method can intelligently determine the flashing file set through version comparison, achieving differentiated partial refresh, thereby significantly improving refresh efficiency, reducing network load, and improving the reliability of the refresh process. Attached Figure Description
[0022] To more clearly illustrate the technical solutions of the embodiments of this application, the drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0023] Figure 1 This is a schematic diagram illustrating an application scenario provided in an embodiment of this application.
[0024] Figure 2 This is a flowchart illustrating a method for flashing software on a vehicle, as provided in an embodiment of this application.
[0025] Figure 3 This is a flowchart illustrating another vehicle software flashing method provided in an embodiment of this application.
[0026] Figure 4This is a schematic diagram of the structure of a terminal device provided in an embodiment of this application.
[0027] Figure 5 This is a structural schematic diagram of a vehicle provided in an embodiment of this application.
[0028] Figure 6 This is a schematic diagram of the structure of a vehicle software flashing system provided in an embodiment of this application. Detailed Implementation
[0029] To better understand the technical solution of this application, the embodiments of this application will be described in detail below with reference to the accompanying drawings.
[0030] It should be understood that the described embodiments are merely some, not all, of the embodiments in this application. All other embodiments obtained by those skilled in the art based on the embodiments in this application without inventive effort are within the scope of protection of this application.
[0031] The terminology used in the embodiments of this application is for the purpose of describing particular embodiments only and is not intended to be limiting of this application. The singular forms “a,” “the,” and “the” used in the embodiments of this application and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise.
[0032] It should be understood that the term "and / or" used in this article is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. Additionally, the character " / " in this article generally indicates that the preceding and following related objects have an "or" relationship.
[0033] See Figure 1 This is a schematic diagram illustrating an application scenario provided by an embodiment of this application. Figure 1 The diagram shows a terminal device 110 and a vehicle 120, which are communicatively connected. The vehicle 120 contains at least one onboard controller. It is understood that the vehicle controller is a core component of the vehicle, and its software typically requires frequent updates to optimize performance, fix vulnerabilities, or add new features.
[0034] In one possible implementation, terminal device 110 is typically able to obtain the new version software package corresponding to the vehicle controller and then send the new version software package to vehicle 120. Furthermore, vehicle 120 is able to flash the flash file from the new version software package to the flashing area corresponding to the flash file.
[0035] It should be pointed out that, Figure 1The image forming apparatus 101 and control device 102 shown are merely exemplary descriptions and should not be construed as limiting the scope of protection of this application. For example, terminal device 110 includes, but is not limited to, host computer, mobile phone, desktop computer, tablet computer, personal computer (PC), personal digital assistant (PDA), smartwatch, netbook, etc.; vehicle 120 includes, but is not limited to, hybrid vehicle, fuel vehicle, electric vehicle, etc.
[0036] With the increasing intelligence and connectivity of vehicles, the number and software complexity of onboard controllers have increased dramatically. To update the software of onboard controllers to optimize performance, fix vulnerabilities, or add new features, the current standard method for software flashing is a full refresh. This means that regardless of the difference between the current version on the vehicle and the latest version on the server, the flashing tool will download and write all the necessary flashing files, including the basic software, application software, and calibration data, to the onboard controller.
[0037] However, because unnecessary data (such as unmodified software) is often transferred or written, it can consume a significant amount of time, potentially leading to low refresh efficiency and increased network load. Furthermore, writing more data usually means longer flashing times, which may increase the risk of flashing failure due to unexpected events such as vehicle power fluctuations or signal interruptions, resulting in lower software flashing reliability.
[0038] To address the aforementioned issues, this application provides a method for software flashing of a vehicle. First, the terminal device compares the current version identifier and the updated version identifier corresponding to the target flashing file. If the comparison results are inconsistent, the terminal device sends the target flashing file to the vehicle; if the comparison results are consistent, the terminal device does not send the target flashing file to the vehicle, thereby reducing the amount of flashing data. Furthermore, reducing the amount of flashing data transmission lowers the network load, effectively saving bandwidth and traffic required for data transmission. In addition, the reduction in flashing data significantly shortens the file flashing time and reduces flashing operations, thereby reducing the risk of flashing failure due to unexpected situations such as vehicle power fluctuations or signal interruptions, and improving the reliability of software flashing to a certain extent. In other words, the method can intelligently determine the set of flashing files through version comparison, achieving differentiated partial flashing, thereby significantly improving flashing efficiency, reducing network load, and improving the reliability of the flashing process.
[0039] Specifically, the following detailed description is provided in conjunction with the accompanying drawings and specific embodiments.
[0040] See Figure 2This is a flowchart illustrating a vehicle software flashing method provided in an embodiment of this application. This method can be applied to... Figure 1 In the application scenarios shown, such as Figure 2 As shown, it specifically includes steps S201 to S207.
[0041] Step S201: The vehicle sends the current version identifier corresponding to the target flash file to the terminal device.
[0042] In this embodiment, the vehicle typically has multiple on-board controllers to coordinate and control the vehicle to perform corresponding functions. The target flashing file is a file in the software package corresponding to the on-board controller.
[0043] It is understood that the software package corresponding to the vehicle controller includes at least: calibration files, basic software files, application A files, and application B files. The calibration files store vehicle control parameters, such as fuel injection pulse width and ignition timing thresholds. The basic software files construct the basic operating environment for the vehicle controller, including the operating system, drivers, and communication protocol stack. Application A files implement the core control functions of the vehicle controller, such as power control and steering control functions. Application B files coordinate with the core control functions of the vehicle controller to achieve vehicle auxiliary control or specific scenario functions.
[0044] As mentioned above, the vehicle controller is a core component of a vehicle, and its corresponding software typically requires frequent updates to optimize performance, fix vulnerabilities, or add new features. Therefore, the vehicle can send the current version identifier corresponding to the target flash file to the terminal device according to a preset update cycle or after receiving a current version identifier query command from the terminal device. This allows the terminal device to determine whether to send the updated version of the target flash file to the vehicle.
[0045] As can be understood, the current version identifier lookup command is used to instruct the vehicle to query the current version identifier of the target flash file. In other words, the current version identifier lookup command usually includes the identity identifier of the target flash file, enabling the vehicle to correctly identify and find the current version identifier of the target flash file.
[0046] It should be noted that vehicles typically store information about the target flash file, such as its identifier, current version identifier, and file size. Therefore, the vehicle can obtain relevant information about the target flash file based on its identifier.
[0047] The identification identifier can be a diagnostic identifier that conforms to the UDS standard. Of course, those skilled in the art can set other identification identifiers according to actual needs, and this application does not impose specific restrictions on this.
[0048] Step S202: The terminal device receives the current version identifier corresponding to the target flash file sent by the vehicle.
[0049] In this embodiment of the application, when the vehicle sends the current version identifier corresponding to the target flashing file to the terminal device, the terminal device is able to receive the current version identifier.
[0050] Step S203: When the current version identifier and the updated version identifier corresponding to the target flash file are the same, the terminal device determines the first flash file set.
[0051] In this embodiment, the terminal device typically stores an updated software package corresponding to the vehicle controller. The updated software package includes at least: the latest version of the calibration file, basic software files, application A file, application B file, and corresponding software package information. Generally, the updated software refers to the latest version of the software package corresponding to the vehicle controller.
[0052] The package information includes, but is not limited to, the number of files, the identifier for each file, the update identifier, and the file data size.
[0053] It's understandable that an updated package doesn't contain all the latest versions of files compared to an older version. In other words, developers may have only optimized a subset of files from the older package. Therefore, the update version identifier for each file in the updated package may be the same or different.
[0054] For example, the updated version number of the calibration file is updated version number A, the updated version number of the basic software file is updated version number A, the updated version number of application A file is updated version number A, and the updated version number of application B file is updated version number B; the updated version number of the calibration file is updated version number B, the updated version number of the basic software file is updated version number B, the updated version number of application A file is updated version number B, and the updated version number of application B file is updated version number B.
[0055] However, storing the update software package and corresponding software package information corresponding to the vehicle controller on the terminal device usually has problems such as limited collaboration, high data security risks, insufficient access flexibility, and insufficient storage performance and scalability.
[0056] Therefore, in one possible implementation, the update software package corresponding to the vehicle controller and the corresponding software package information are stored on a server, and the server maintains them.
[0057] In this embodiment, a communication connection is established between the terminal device and the server. The server typically stores update software packages corresponding to the vehicle controller and corresponding package information. Therefore, the server can obtain the relevant content of the target flashing file based on the identifier of the target flashing file.
[0058] Furthermore, the terminal device can send relevant instructions to the server corresponding to the target flash file, instructing the server to send the content corresponding to those instructions. For example, the terminal device can send an update version identifier query instruction to the server corresponding to the target flash file, instructing the server to send the update version identifier corresponding to the target flash file; the terminal device can also send an update version file download instruction to the server corresponding to the target flash file, instructing the server to send the update version file corresponding to the target flash file.
[0059] Understandably, storing and maintaining the updated software packages corresponding to the vehicle controller and their corresponding software package information on the server can significantly improve data security, access convenience, and management efficiency, and is also suitable for multi-user collaborative scenarios.
[0060] In this embodiment of the application, after obtaining the current version identifier and the updated version identifier corresponding to the target flashing file, the current version identifier and the updated version identifier can be compared to determine whether they are the same, thereby determining the flashing file set, i.e. whether the target flashing file needs to be sent to the vehicle.
[0061] Specifically, when the current version identifier and the updated version identifier corresponding to the target flash file are the same, the target flash file in the vehicle can be considered to be the latest version. In this case, the vehicle may not need to flash the target flash file. Therefore, it can be determined that the first set of flash files does not include the target flash file.
[0062] Typically, the data size of each file to be flashed varies. Therefore, in one possible implementation, a file with a data size greater than or equal to a preset data size can be used as the target file to be flashed.
[0063] In this embodiment, the comparison of the current version identifier and the updated version identifier can be performed only on files with relatively large file data volumes. For files with file data volumes smaller than a preset file data volume, since their file data volumes are relatively small, there is no need to compare their current version identifier and the updated version identifier, and they can be sent directly to the vehicle.
[0064] In other words, when the current version identifier and the updated version identifier corresponding to the target flash file are the same, and the file data size of the target flash file is greater than or equal to the preset file data size, the first flash file set includes files with a file data size less than the preset file data size.
[0065] For example, the update software package corresponding to the vehicle controller includes: calibration files, basic software files, application A file, and application B file. Only application B file has a larger data size than the preset file size; therefore, application B file is the target flashing file. In this case, the first flashing file set includes at least the calibration files, basic software files, and application A file.
[0066] In this embodiment, when the current version identifier and the updated version identifier corresponding to the target flashing file are the same, regardless of whether the current version identifier and the updated version identifier of the file corresponding to the file with a file data size smaller than the preset file data size are the same, the file with a file data size smaller than the preset file data size will be sent to the vehicle. This can effectively avoid the problem that the vehicle has not flashed a file with a file data size smaller than the preset file data size and a different current version identifier and an different updated version identifier.
[0067] Understandably, since the file size is relatively small, it typically doesn't consume a significant amount of transmission time. Furthermore, writing files with relatively small data sizes usually means shorter flashing times, and the risk of flashing failure due to unexpected events such as vehicle power fluctuations or signal interruptions is lower. In other words, sending files smaller than the preset file size to the vehicle generally does not reduce refresh efficiency, increase network load, or decrease refresh reliability.
[0068] Therefore, in this embodiment of the application, it is not necessary to compare the current version identifier and the updated version identifier for files with relatively small file data volume, which can balance the resource utilization and refresh efficiency of terminal devices and vehicles.
[0069] It should be noted that the preset file data volume is a preset value, and those skilled in the art can set other preset file data volumes according to actual needs. This application embodiment does not impose specific limitations on this.
[0070] Step S204: When the current version identifier and the updated version identifier are different, the terminal device determines the second set of files to be flashed.
[0071] In this embodiment, when the current version identifier and the updated version identifier corresponding to the target flash file are different, it can be considered that the target flash file in the vehicle is not the latest version. In this case, the vehicle may need to flash the target flash file. Therefore, it can be determined that the second flash file set includes the target flash file.
[0072] As mentioned above, in one possible implementation, the file data size of the target flash file is greater than or equal to a preset file data size. Therefore, to effectively avoid the problem of files whose unflashed file data size is less than the preset file data size and whose current version identifier and updated version identifier are different, in one possible implementation, the second flash file set includes flash files whose file data size is less than the preset file data size.
[0073] Step S205: The terminal device sends a flashing command to the vehicle.
[0074] In this embodiment of the application, after the terminal device determines the first flash file set or the second flash file set based on the comparison result of the current version identifier and the updated version identifier corresponding to the target flash file, it can send a flash command to the vehicle.
[0075] As can be understood, the flashing command instructs the vehicle to flash all flashing files from either the first or second flashing file set to the corresponding flashing area. In other words, the flashing command includes all flashing files from either the first or second flashing file set.
[0076] In addition, before sending the flashing command to the vehicle, the terminal device can also send a session mode control command to the vehicle. In this embodiment, the control command is used to instruct the vehicle to enter an extended session mode or a programming session mode, which prepares the vehicle for performing erase and write operations and improves the security of flashing.
[0077] Understandably, the continuity of interaction is relatively good when the vehicle enters extended session mode; the vehicle's safety is relatively high when it enters programming session mode. Furthermore, an erase operation refers to erasing the flash area corresponding to the flash file, while a write operation refers to writing data from the flash file in blocks to the corresponding flash area.
[0078] To further enhance the security of flashing, in one possible implementation, the terminal device can send an erase command to the vehicle before sending the flashing command.
[0079] In this embodiment, the erase instruction is used to instruct the vehicle to erase the erased areas corresponding to all erased files in the first or second erased file set. It is understood that the erase instruction includes the memory erase address and length corresponding to all erased files in the first or second erased file set.
[0080] As mentioned above, the update package includes the memory erase address and length corresponding to each file. Therefore, after the terminal device obtains the update package from the server, it can parse the update package to obtain the memory erase address and length corresponding to each file in the first or second flash file set. This enables the vehicle to determine the target flashing area corresponding to all flashing files in the first or second flash file set based on the memory erase address and length corresponding to each file in the first or second flash file set.
[0081] Furthermore, upon receiving a successful erase message from the vehicle, the terminal device can send a flashing command to the vehicle, instructing it to flash all flashing files from either the first or second flashing file set to the corresponding flashing area. The successful erase message indicates that the vehicle has successfully erased the flashing area corresponding to all flashing files from either the first or second flashing file set.
[0082] Step S206: The vehicle receives the flashing command sent by the terminal device.
[0083] In this embodiment of the application, when the terminal device sends a flashing instruction to the vehicle, the vehicle can receive the flashing instruction sent by the terminal device and then flash all the flashing files in the first flashing file set or the second flashing file set to the corresponding flashing area.
[0084] Step S207: In response to the flashing command, the vehicle flashes all flashing files from the first flashing file set or the second flashing file set to the corresponding flashing area.
[0085] Specifically, when a vehicle receives a flashing instruction from a terminal device, it can respond to the flashing instruction by performing a write operation on each flashing file in the first flashing file set or the second flashing file set, thereby flashing all flashing files in the first flashing file set or the second flashing file set to the corresponding flashing area.
[0086] In this embodiment, the terminal device first compares the current version identifier and the updated version identifier corresponding to the target flashing file. If the comparison results are inconsistent, the terminal device sends the target flashing file to the vehicle; if the comparison results are consistent, the terminal device does not send the target flashing file to the vehicle, thereby reducing the amount of flashing data. Furthermore, reducing the amount of flashing data transmission lowers the network load, effectively saving the bandwidth and traffic required for data transmission. In addition, the reduction in flashing data significantly shortens the file flashing time and reduces flashing operations, thereby reducing the risk of flashing failure due to unexpected situations such as vehicle power fluctuations or signal interruptions, and improving the reliability of software flashing to a certain extent. In other words, the method can intelligently determine the flashing file set through version comparison, achieving differentiated partial refresh, thereby significantly improving refresh efficiency, reducing network load, and improving the reliability of the refresh process.
[0087] As mentioned above, the first or second flash file set may include multiple flash files. To improve the reliability of flashing, the terminal device can send flashing instructions corresponding to each flash file to the vehicle sequentially.
[0088] See Figure 3 This is a flowchart illustrating another vehicle software flashing method provided in an embodiment of this application. Figure 3 As shown, the embodiments of this application are in Figure 2 Based on the illustrated embodiment, step S205 includes step 301, step S206 includes step S302, and step S207 includes step 303.
[0089] Step S301: When the integrity verification result corresponding to the i-th flash file in the first flash file set is successful, the terminal device sends the (i+1)-th flash command corresponding to the (i+1)-th flash file in the first flash file set to the vehicle; or, when the integrity verification result corresponding to the j-th flash file in the second flash file set is successful, the terminal device sends the (j+1)-th flash command corresponding to the (j+1)-th flash file in the second flash file set to the vehicle.
[0090] In this embodiment, the first flash file set may contain multiple flash files. When the vehicle responds to the i-th flash instruction corresponding to the i-th flash file in the first flash file set sent by the terminal device, and flashes the i-th flash file to the flash area corresponding to the i-th flash file, it can send the i-th flash data corresponding to the i-th flash instruction to the terminal device, where 1≤i.
[0091] It can be understood that the i-th flashed data is the data obtained from the flashing area corresponding to the i-th flashed file after the vehicle flashes the i-th flashed file to the flashing area corresponding to the i-th flashed file. Furthermore, the terminal device can perform integrity verification based on the original data corresponding to the i-th flashed file and the i-th flashed data to obtain the integrity verification result corresponding to the i-th flashed file, thereby verifying the integrity of the i-th flashed data.
[0092] Similarly, when the vehicle responds to the j-th flash instruction corresponding to the j-th flash file in the second flash file set sent by the terminal device, and flashes the j-th flash file to the flash area corresponding to the j-th flash file, it can send the j-th flash data corresponding to the j-th flash instruction to the terminal device, where 1≤j.
[0093] It can be understood that the j-th flashed data is the data obtained from the flashing area corresponding to the j-th flashed file after the vehicle flashes the j-th flashed file to the flashing area corresponding to the j-th flashed file. Furthermore, the terminal device can perform integrity verification based on the original data corresponding to the j-th flashed file and the j-th flashed data, obtaining the integrity verification result corresponding to the j-th flashed file, thereby verifying the integrity of the j-th flashed data.
[0094] It should be noted that integrity verification methods include, but are not limited to, CRC cyclic redundancy check and BCC XOR check.
[0095] In this embodiment, when the integrity verification result corresponding to the i-th flash file is successful, it can be considered that the i-th data has not been tampered with or damaged. At this time, the terminal device can send the (i+1)-th flash command corresponding to the (i+1)-th flash file in the first flash file set to the vehicle.
[0096] Similarly, when the integrity check result corresponding to the j-th flash file in the second flash file set is successful, it can be assumed that the j-th data has not been tampered with or damaged. At this time, the terminal device can send the (j+1)-th flash command corresponding to the (j+1)-th flash file in the second flash file set to the vehicle.
[0097] Specifically, the (i+1)th flash instruction instructs the vehicle to flash the (i+1)th flash file to the flash area corresponding to the (i+1)th flash file; the (j+1)th flash instruction instructs the vehicle to flash the (j+1)th flash file to the flash area corresponding to the (j+1)th flash file. In other words, the (i+1)th flash instruction includes the (i+1)th flash file; the (j+1)th flash instruction includes the (j+1)th flash file.
[0098] To further enhance the security of flashing, in one possible implementation, before sending the i-th flashing instruction corresponding to the i-th flashing file in the first flashing file set or the j-th flashing instruction corresponding to the j-th flashing file in the second flashing file set to the vehicle, the terminal device sends the i-th erase instruction corresponding to the i-th flashing file in the first flashing file set or the j-th erase instruction corresponding to the j-th flashing file in the second flashing file set to the vehicle.
[0099] In this embodiment, the i-th erase instruction is used to instruct the vehicle to erase the erase area corresponding to the i-th erase file in the first erase file set; the j-th erase instruction is used to instruct the vehicle to erase the erase area corresponding to the j-th erase file in the second erase file set.
[0100] It is understood that the i-th erase instruction includes the memory erase address and length corresponding to the i-th write file in the first write file set; the j-th erase instruction includes the memory erase address and length corresponding to the j-th write file in the second write file set.
[0101] As mentioned above, the update package includes the memory erase address and length corresponding to each file. Therefore, after the terminal device obtains the update package from the server, it can parse the update package to obtain the memory erase address and length corresponding to the i-th flash file in the first flash file set or the j-th flash file in the second flash file set. This allows the vehicle to determine the flashing area corresponding to the i-th flash file or the j-th flash file based on the memory erase address and length corresponding to the i-th flash file or the j-th flash file.
[0102] Furthermore, upon receiving the i-th or j-th erase success message from the vehicle, the terminal device can send the i-th or j-th write instruction to the vehicle to instruct the vehicle to write the i-th or j-th write file to the corresponding write area.
[0103] Among them, the i-th erase success information is used to represent that the vehicle successfully erased the brush area corresponding to the i-th brush file in the first brush file set; the j-th erase success information is used to represent that the vehicle successfully erased the brush area corresponding to the j-th brush file in the second brush file set.
[0104] In this embodiment of the application, when the terminal device sends the i-th flashing instruction corresponding to the i-th flashing file in the first flashing file set or the j-th flashing instruction corresponding to the j-th flashing file in the second flashing file set to the vehicle, the vehicle is able to receive the i-th flashing instruction or the j-th flashing instruction.
[0105] Step S302: The vehicle receives the (i+1)th flash instruction corresponding to the (i+1)th flash file in the first flash file set or the (j+1)th flash instruction corresponding to the (j+1)th flash file in the second flash file set sent by the terminal device.
[0106] In this embodiment of the application, when the terminal device sends the (i+1)th write instruction corresponding to the (i+1)th write file in the first write file set to the vehicle, the vehicle can receive the (i+1)th write instruction sent by the terminal device and then write the (i+1)th write file in the first write file set to the write area corresponding to the (i+1)th write file.
[0107] Similarly, when the terminal device sends the (j+1)th flash instruction corresponding to the (j+1)th flash file in the second flash file set to the vehicle, the vehicle can receive the (j+1)th flash instruction sent by the terminal device and then flash the (j+1)th flash file in the first flash file set to the flash area corresponding to the (j+1)th flash file.
[0108] Step S303: In response to the (i+1)th flashing instruction, the vehicle flashes the (i+1)th flashing file to the flashing area corresponding to the (i+1)th flashing file; or, in response to the (j+1)th flashing instruction, the vehicle flashes the (j+1)th flashing file to the flashing area corresponding to the (j+1)th flashing file.
[0109] Specifically, when the vehicle receives the (i+1)th write instruction sent by the terminal device, it can respond to the (i+1)th write instruction by performing a write operation on the (i+1)th write file in the first write file set, thereby writing the (i+1)th write file to the write area corresponding to the (i+1)th write file.
[0110] Similarly, when the vehicle receives the (j+1)th write instruction sent by the terminal device, it can respond to the (j+1)th write instruction by performing a write operation on the (j+1)th write file in the first write file set, thereby writing the (j+1)th write file to the write area corresponding to the (j+1)th write file.
[0111] In this embodiment of the application, an integrity check is performed immediately after each flashing file is flashed, which can ensure the accuracy of each step of the vehicle operation, thereby improving the flashing reliability to a certain extent.
[0112] In another possible implementation, the method further includes: when the integrity verification result corresponding to the i-th flash file is a verification failure, the terminal device outputs a prompt message and / or sends the i-th flash command corresponding to the i-th flash file to the vehicle; or, when the integrity verification result corresponding to the j-th flash file is a verification failure, the terminal device outputs a prompt message and / or sends the j-th flash command corresponding to the j-th flash file to the vehicle.
[0113] In this embodiment, when the integrity check result corresponding to the i-th flash file in the first flash file set fails, it can be assumed that the data written to the flash area corresponding to the i-th flash file may have been tampered with or corrupted. At this time, the terminal device can output a prompt message and / or send the i-th flash command corresponding to the i-th flash file to the vehicle.
[0114] Understandably, the prompt message is used to indicate a flashing failure, providing the user with the flashing status so they can be promptly informed of the current flashing progress. It should be noted that the prompt message can also be used to indicate a flashing failure for the i-th file in the first flashing file set.
[0115] Of course, those skilled in the art can set the content and output method of the prompt information according to actual needs, and the embodiments of this application do not impose specific limitations on this. For example, the content of the prompt information includes, but is not limited to, the reason for the flashing failure, the flashing duration, etc.; the output method includes, but is not limited to, text display, voice broadcast, etc.
[0116] Additionally, the i-th flashing instruction is used to instruct the vehicle to flash the i-th flashing file to the flashing area corresponding to the i-th flashing file.
[0117] Furthermore, the vehicle can receive the i-th flash command sent by the terminal device, which corresponds to the i-th flash file in the first flash file set. Then, in response to the i-th flash command, the vehicle flashes the i-th flash file to the flash area corresponding to the i-th flash file.
[0118] In this embodiment, when the integrity verification result corresponding to the i-th flash file in the first flash file set fails, the i-th flash command corresponding to the i-th flash file is sent to the vehicle. This ensures that each flash file in the first flash file set can be successfully flashed to its corresponding flash area, thereby improving the accuracy and reliability of the flashing process to a certain extent.
[0119] Similarly, if the integrity check result corresponding to the j-th flash file in the second flash file set fails, it can be assumed that the data written to the flash area corresponding to the j-th flash file may have been tampered with or corrupted. In this case, the terminal device can output a prompt message and / or send the j-th flash command corresponding to the j-th flash file to the vehicle.
[0120] It should be noted that the prompt message can also be used to indicate that the j-th flash file in the second flash file set failed to flash. Additionally, the j-th flash instruction is used to instruct the vehicle to flash the j-th flash file to the flash area corresponding to the j-th flash file.
[0121] Furthermore, the vehicle can receive a j-th flash command sent by the terminal device, corresponding to the j-th flash file in the second flash file set. Then, in response to the j-th flash command, the vehicle flashes the j-th flash file to the flash area corresponding to the j-th flash file.
[0122] In this embodiment, when the integrity check result corresponding to the j-th flash file in the second flash file set fails, the j-th flash command corresponding to the j-th flash file is sent to the vehicle. This ensures that each flash file in the second flash file set can be successfully flashed to its corresponding flash area, thereby improving the accuracy and reliability of the flashing process to a certain extent.
[0123] To ensure the correctness of the logical relationships and dependencies between files in the first or second flash file set, in one possible implementation, when the integrity verification result of the last flash file in the first flash file set is successful, the terminal device can perform a correlation verification based on the original data and flash data corresponding to all flash files in the first flash file set. This verifies the correctness of the logical relationships and dependencies between the flash data corresponding to all flash files in the first flash file set and obtains the first correlation verification result.
[0124] Among them, the original data corresponding to all the flash files in the first flash file set is the data corresponding to all the flash files in the first flash file set sent by the terminal device to the vehicle; the flash data corresponding to all the flash files in the first flash file set is the data obtained by the vehicle from the flash area corresponding to each flash file in the first flash file set after the vehicle has completed the write operation corresponding to each flash file in the first flash file set.
[0125] Understandably, the first correlation check result is used to characterize the correctness of the logical relationship between the data in the flash region corresponding to the first flash file set. When the first correlation check result is successful, it can be considered that the logical relationship and dependency relationship between the flash data corresponding to all flash files in the first flash file set is correct.
[0126] Furthermore, when the first correlation verification result is successful, the terminal device can send a reset command to the vehicle. Upon receiving the reset command from the terminal device, the vehicle can respond by performing a hardware and / or software reset operation.
[0127] It should be noted that when the first relevance check fails, it can be assumed that the logical relationship and dependency between the flash data and all flash files in the first flash file set are incorrect. In this case, the terminal device can output a prompt message to provide the user with the flash status.
[0128] In this embodiment of the application, by verifying the correlation, it can be ensured that the logical relationship and dependency relationship between the flash data corresponding to all flash files in the first flash file set are correct, which improves the flash reliability to a certain extent.
[0129] Furthermore, when the vehicle responds to the reset command, successfully performs a hardware and / or software reset operation, and the communication status with the on-board device corresponding to the first flash file set is normal, it can send a flashing completion message to the terminal device, thereby ending the flashing process.
[0130] In this embodiment of the application, by resetting the vehicle and checking its communication status, problems that may cause the vehicle to operate normally due to the flashing process can be avoided.
[0131] Similarly, when the integrity verification result of the last flash file in the second flash file set is successful, the terminal device can perform a correlation verification based on the original data and flash data corresponding to all flash files in the second flash file set to verify whether the logical relationship and dependency relationship between the flash data corresponding to all flash files in the second flash file set is correct, and obtain the second correlation verification result.
[0132] Among them, the original data corresponding to all the flash files in the second flash file set is the data corresponding to all the flash files in the second flash file set sent by the terminal device to the vehicle; the flash data corresponding to all the flash files in the second flash file set is the data obtained by the vehicle from the flash area corresponding to each flash file in the second flash file set after the vehicle has completed the write operation corresponding to each flash file in the second flash file set.
[0133] Understandably, the second correlation check result is used to characterize the correctness of the logical relationship between the data in the flash region corresponding to the second flash file set. When the second correlation check result is successful, it can be considered that the logical relationship and dependency relationship between the flash data corresponding to all flash files in the second flash file set is correct.
[0134] Furthermore, when the second correlation verification result is successful, the terminal device can send a reset command to the vehicle. Upon receiving the reset command from the terminal device, the vehicle can respond by performing a hardware and / or software reset operation.
[0135] It should be noted that when the second correlation check fails, it can be assumed that the logical relationship and dependency between the flash data and all flash files in the second flash file set are incorrect. In this case, the terminal device can output a prompt message to provide the user with the flash status.
[0136] In this embodiment of the application, by verifying the correlation, it can be ensured that the logical relationship and dependency relationship between the flash data corresponding to all flash files in the second flash file set are correct, which improves the flash reliability to a certain extent.
[0137] Furthermore, when the vehicle responds to the reset command, successfully performs a hardware and / or software reset operation, and the communication status with the on-board device corresponding to the second flash file set is normal, it can send a flashing completion message to the terminal device, thereby ending the flashing process.
[0138] In this embodiment of the application, by resetting the vehicle and checking its communication status, problems that may cause the vehicle to operate normally due to the flashing process can be avoided.
[0139] Corresponding to the above embodiments, this application also provides a terminal device.
[0140] See Figure 4 This is a schematic diagram of the structure of a terminal device provided in an embodiment of this application. Figure 4 As shown, the terminal device 400 may include a processor 401, a memory 402, and a communication unit 403. These components communicate via one or more buses. Those skilled in the art will understand that the terminal device structure shown in the figure does not constitute a limitation on the embodiments of this application. It may be a bus topology or a star topology, and may include more or fewer components than shown, or combine certain components, or have different component arrangements.
[0141] The communication unit 403 is used to establish a communication channel, thereby enabling the terminal device to communicate with other devices.
[0142] The processor 401 serves as the control center of the terminal device, connecting various parts of the terminal device via various interfaces and lines. It executes software programs and / or modules stored in the memory 402, and calls data stored in the memory to perform various functions of the terminal device and / or process data. The processor can be composed of integrated circuits (ICs), such as a single packaged IC or multiple packaged ICs with the same or different functions connected together. For example, the processor 401 may consist only of a central processing unit (CPU). In this embodiment, the CPU may have a single processing core or include multiple processing cores.
[0143] Memory 402 is used to store the execution instructions of processor 401. Memory 402 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk or optical disk.
[0144] When the execution instructions in memory 402 are executed by processor 401, the terminal device 400 is able to perform some or all of the steps in the above method embodiments.
[0145] Corresponding to the above embodiments, this application also provides a vehicle.
[0146] See Figure 5 This is a structural schematic diagram of a vehicle provided in an embodiment of this application. Figure 5 As shown, vehicle 500 includes controller 501, which is configured to perform some or all of the steps in the above method embodiments.
[0147] Corresponding to the above embodiments, this application also provides a vehicle software flashing system.
[0148] See Figure 6 This is a schematic diagram of the structure of a vehicle software flashing system provided in an embodiment of this application. Figure 6 As shown, the vehicle software flashing system 600 includes a terminal device 400 and a vehicle 500.
[0149] Corresponding to the above embodiments, this application also provides a computer-readable storage medium, wherein the computer-readable storage medium may store a program, wherein when the program runs, it can control the device where the computer-readable storage medium is located to execute some or all of the steps in the above method embodiments. In specific implementation, the computer-readable storage medium may be a magnetic disk, an optical disk, read-only memory (ROM), or random access memory (RAM), etc.
[0150] Corresponding to the above embodiments, this application also provides a computer program product containing executable instructions that, when executed on a computer, cause the computer to perform some or all of the steps in the above method embodiments.
[0151] In this application embodiment, "at least one" refers to one or more, and "more than one" refers to two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent the existence of A alone, the simultaneous existence of A and B, or the existence of B alone. A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects have an "or" relationship. "At least one of the following" and similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, and c can represent: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple.
[0152] Those skilled in the art will recognize that the units and algorithm steps described in the embodiments disclosed herein can be implemented using electronic hardware, computer software, or a combination of electronic hardware and software. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0153] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0154] In the several embodiments provided in this application, any function, if implemented as a software functional unit and sold or used as an independent product, can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0155] The above description is merely a specific embodiment of this application. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the protection scope of this application. The protection scope of this application should be determined by the protection scope of the claims.
Claims
1. A method for flashing software on a vehicle, characterized in that, Applied to a terminal device, the method includes: Receive the current version identifier corresponding to the target flash file sent by the vehicle; When the current version identifier and the updated version identifier corresponding to the target flash file are the same, a first flash file set is determined, wherein the first flash file set does not include the target flash file; When the current version identifier and the updated version identifier are different, a second flash file set is determined, the second flash file set including the target flash file; Send a flashing instruction to the vehicle, the flashing instruction being used to instruct the vehicle to flash all flashing files from the first flashing file set or the second flashing file set to the corresponding flashing area.
2. The method according to claim 1, characterized in that, The target file to be written has a data size greater than or equal to the preset data size.
3. The method according to claim 2, characterized in that, The second set of flash files includes flash files whose file data size is smaller than the preset file data size.
4. The method according to claim 1, characterized in that, Sending the flashing command to the vehicle includes: When the integrity verification result corresponding to the i-th flash file in the first flash file set is successful, the vehicle is sent with the (i+1)-th flash instruction corresponding to the (i+1)-th flash file in the first flash file set. The (i+1)-th flash instruction is used to instruct the vehicle to flash the (i+1)-th flash file to the flash area corresponding to the (i+1)-th flash file, where 1≤i. or, When the integrity verification result corresponding to the j-th flash file in the second flash file set is successful, a (j+1)-th flash instruction corresponding to the (j+1)-th flash file in the second flash file set is sent to the vehicle. The (j+1)-th flash instruction is used to instruct the vehicle to flash the (j+1)-th flash file to the flash area corresponding to the (j+1)-th flash file, where 1 ≤ j.
5. The method according to claim 4, characterized in that, The method further includes: When the integrity verification result corresponding to the i-th flash file is a verification failure, a prompt message is output and / or the i-th flash command corresponding to the i-th flash file is sent to the vehicle. The i-th flash command is used to instruct the vehicle to flash the i-th flash file to the flash area corresponding to the i-th flash file. or, When the integrity verification result corresponding to the j-th flash file is a verification failure, a prompt message is output and / or the j-th flash command corresponding to the j-th flash file is sent to the vehicle. The j-th flash command is used to instruct the vehicle to flash the j-th flash file to the flash area corresponding to the j-th flash file. The prompt message is used to indicate that the write operation failed.
6. The method according to claim 4, characterized in that, The method further includes: When the first correlation verification result is successful, a reset command is sent to the vehicle. The first correlation verification result is used to characterize the correctness of the logical relationship between the data in the flashing area corresponding to the first flashing file set. or, When the second correlation verification result is successful, the reset command is sent to the vehicle. The second correlation verification result is used to characterize the correctness of the logical relationship between the data in the flashing area corresponding to the second flashing file set. The reset command is used to instruct the vehicle to perform a hardware and / or software reset operation.
7. A method for flashing software on a vehicle, characterized in that, Applied to vehicles, the method includes: Send the current version identifier corresponding to the target flash file to the terminal device. The terminal device is used to determine a first flash file set when the current version identifier is the same as the updated version identifier corresponding to the target flash file, and to determine a second flash file set when the current version identifier and the updated version identifier are different. Receive the flashing command sent by the terminal device; In response to the flashing command, all flashing files in the first flashing file set or the second flashing file set are flashed to the corresponding flashing area; Wherein, the first set of flash files does not include the target flash file, and the second set of flash files includes the target flash file.
8. The method according to claim 7, characterized in that, The step of receiving the flashing instruction sent by the terminal device includes: receiving the (i+1)th flashing instruction sent by the terminal device corresponding to the (i+1)th flashing file in the first flashing file set or the (j+1)th flashing instruction corresponding to the (j+1)th flashing file in the second flashing file set, where 1≤i and 1≤j. The step of responding to the flashing instruction by flashing all flashing files in the first flashing file set or the second flashing file set to the corresponding flashing area includes: responding to the (i+1)th flashing instruction by flashing the (i+1)th flashing file to the flashing area corresponding to the (i+1)th flashing file, or responding to the (j+1)th flashing instruction by flashing the (j+1)th flashing file to the flashing area corresponding to the (j+1)th flashing file; The terminal device is configured to send the (i+1)th flash command to the vehicle when the integrity verification result corresponding to the i-th flash file in the first flash file set is successful, or to send the (j+1)th flash command to the vehicle when the integrity verification result corresponding to the j-th flash file in the second flash file set is successful.
9. The method according to claim 7, characterized in that, The method further includes: Receive the i-th write instruction corresponding to the i-th write file in the first write file set or the j-th write instruction corresponding to the j-th write file in the second write file set sent by the terminal device; In response to the i-th write command, the i-th write file is written to the write area corresponding to the i-th write file; or, in response to the j-th write command, the j-th write file is written to the write area corresponding to the j-th write file. The terminal device is configured to output a prompt message and / or send the i-th flashing command to the vehicle when the integrity verification result corresponding to the i-th flashing file is a verification failure, or to output a prompt message and / or send the j-th flashing command to the vehicle when the integrity verification result corresponding to the j-th flashing file is a verification failure, wherein the prompt message is used to indicate flashing failure.
10. The method according to claim 7, characterized in that, The method further includes: The terminal device receives a reset command sent by the terminal device. The terminal device is used to send a reset command to the vehicle when the first correlation verification result is successful, or to send the reset command to the vehicle when the second correlation verification result is successful. In response to the reset command, perform a hardware and / or software reset operation; The first correlation verification result is used to characterize the correctness of the logical relationship between the data in the brush area corresponding to the first brush file set, and the second correlation verification result is used to characterize the correctness of the logical relationship between the data in the brush area corresponding to the second brush file set.
11. A terminal device, characterized in that, include: processor; Memory; And a computer program, wherein the computer program is stored in the memory, and when the computer program is executed by the processor, causes the terminal device to perform the method of any one of claims 1 to 6.
12. A vehicle, characterized in that, include: A controller configured to perform the method according to any one of claims 7 to 10.
13. A vehicle software flashing system, characterized in that, include: The terminal device of claim 11 and the vehicle of claim 12.
14. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the method described in any one of claims 1 to 10.