Electronic control unit upgrading method and device, equipment and storage medium

By receiving software upgrade packet data in the HTTP transmission channel of the ECU and installing it in real time, the problem of large memory space occupied by ECU is solved, and the effect of saving memory space and improving upgrade convenience is achieved.

CN120075210APending Publication Date: 2025-05-30BEIJING CO WHEELS TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311624411.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-11-30
Publication Date
2025-05-30

AI Technical Summary

Technical Problem

The existing ECU upgrade method occupies a lot of memory space, and how to save the ECU's memory space is a technical problem that needs to be solved urgently.

Method used

During the process of receiving software upgrade packet data based on the HTTP transmission channel, the software corresponding to the target software identification is installed and upgraded without storing the software upgrade packet data in the memory of the ECU.

Benefits of technology

It effectively saves the memory space of the ECU and improves the convenience of software upgrades.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120075210A_ABST
    Figure CN120075210A_ABST
Patent Text Reader

Abstract

The invention provides an electronic control unit (ECU) upgrading method and device, equipment and a storage medium, and the method comprises the steps: firstly, responding to an ECU upgrading instruction from a diagnosis upper computer, sending a hypertext transfer protocol (HTTP) request carrying a target software identifier to the diagnosis upper computer, the HTTP request being used for establishing an HTTP transmission channel with the diagnosis upper computer, and sending the target software identifier to the diagnosis upper computer; the HTTP transmission channel is used for transmitting software upgrade package data; receiving software upgrade package data corresponding to the target software identifier based on the HTTP transmission channel; and in the process of receiving the software upgrade package data, installing the software corresponding to the target software identifier in the target electronic control unit by using the software upgrade package data. Visibly, according to the embodiment of the invention, the software corresponding to the target software identifier can be installed and upgraded in the process of receiving the software upgrade package data based on the HTTP transmission channel, and the software upgrade package data does not need to be stored in the memory of the ECU, so that the memory space of the ECU is effectively saved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the technical field of vehicle control, and particularly to an electronic control unit upgrade method, device, equipment, and storage medium. Background Art

[0002] With the continuous development of vehicle control technology, more and more intelligent connected vehicles can remotely upgrade the software in the ECU (Electronic Control Unit or in-vehicle computer) through OTA (Over The Air) technology, thereby improving the convenience of vehicle software upgrade.

[0003] Most of the current ECU upgrade methods are implemented in a self-upgrade manner. For example, first, the software package to be upgraded is stored in the ECU memory, and then the software installation step is performed to achieve software upgrade. Obviously, this upgrade method occupies more ECU memory space.

[0004] Therefore, how to save the memory space of the ECU is a technical problem that needs to be solved urgently at present. Summary of the Invention

[0005] To solve the above technical problems, the present disclosure provides an electronic control unit upgrade method, which can install and upgrade the software corresponding to the target software identifier during the process of receiving software upgrade package data based on an HTTP transmission channel, without storing the software upgrade package data in the ECU memory, thereby effectively saving the ECU memory space.

[0006] In a first aspect, the present disclosure provides an electronic control unit upgrade method, and the method includes:

[0007] Responding to an ECU upgrade instruction from a diagnostic host computer, sending a HyperText Transfer Protocol (HTTP) request carrying a target software identifier to the diagnostic host computer; wherein, the HTTP request is used to establish an HTTP transmission channel with the diagnostic host computer, and the HTTP transmission channel is used to transmit software upgrade package data;

[0008] Receiving, based on the HTTP transmission channel, the software upgrade package data corresponding to the target software identifier;

[0009] During the process of receiving the software upgrade package data, using the software upgrade package data to install the software corresponding to the target software identifier in the target electronic control unit.

[0010] In an alternative embodiment, before sending a Hypertext Transfer Protocol (HTTP) request carrying the target software identifier to the diagnostic host computer in response to an ECU upgrade instruction from the diagnostic host computer, the method further includes:

[0011] Receiving a software upgrade package list file from the diagnostic host computer; wherein the software upgrade package list file includes software identifiers corresponding to at least one software upgrade package, and the target software identifier belongs to the software identifiers in the software upgrade package list file;

[0012] Correspondingly, before sending a Hypertext Transfer Protocol (HTTP) request carrying the target software identifier to the diagnostic host computer in response to an ECU upgrade instruction from the diagnostic host computer, the method further includes:

[0013] Determining the target software identifier from the software identifiers in the software upgrade package list file.

[0014] In an alternative embodiment, the method further includes:

[0015] In response to an integrity check instruction from the diagnostic host computer, determining whether the received software upgrade package list file is a complete file;

[0016] If it is determined that the software upgrade package list file is a complete file, sending a verification success message to the diagnostic host computer; wherein the verification success message is used to instruct the diagnostic host computer to start an HTTP server, and the HTTP server is used to transmit the software upgrade package data.

[0017] In an alternative embodiment, before receiving the software upgrade package list file from the diagnostic host computer, the method further includes:

[0018] In response to a security access diagnosis instruction from the diagnostic host computer, performing a legitimacy check on the diagnostic host computer;

[0019] If it is determined that the diagnostic host computer is a legitimate device, sending a legitimacy pass message to the diagnostic host computer.

[0020] In an alternative embodiment, the method further includes:

[0021] In response to an upgrade result query instruction from the diagnostic host computer, determining whether the software corresponding to the target software identifier has been successfully upgraded;

[0022] If it is determined that the software corresponding to the target software identifier has been successfully upgraded, sending an upgrade success message to the diagnostic host computer; wherein the upgrade success message is used to instruct the diagnostic host computer to close the HTTP server.

[0023] Second aspect, the present disclosure also provides an electronic control unit upgrade method, the method comprising:

[0024] Sending an ECU upgrade instruction to the target electronic control unit;

[0025] Receiving a Hypertext Transfer Protocol (HTTP) request from the target electronic control unit; wherein, the HTTP request carries a target software identifier, the HTTP request is used to establish an HTTP transmission channel with the target electronic control unit, and the HTTP transmission channel is used to transmit software upgrade package data;

[0026] Based on the HTTP transmission channel, sending the software upgrade package data corresponding to the target software identifier to the target electronic control unit; wherein, the software upgrade package data is used to upgrade the software corresponding to the target software identifier in the target electronic control unit.

[0027] In an optional implementation manner, before sending the ECU upgrade instruction to the target electronic control unit, it further includes:

[0028] Sending a software upgrade package list file to the target electronic control unit; wherein, the software upgrade package list file includes software identifiers corresponding to at least one software upgrade package, and the target software identifier belongs to the software identifiers in the software upgrade package list file.

[0029] In an optional implementation manner, the method further includes:

[0030] Sending an integrity check instruction to the target electronic control unit; wherein, the integrity check instruction is used to instruct the target electronic control unit to determine whether the software upgrade package list file is a complete file;

[0031] When receiving a check success message sent from the target electronic control unit, starting an HTTP server; wherein, the HTTP server is used to transmit the software upgrade package data.

[0032] In an optional implementation manner, the method further includes:

[0033] Sending an upgrade result query instruction to the target electronic control unit; wherein, the upgrade result query instruction is used to instruct the target electronic control unit to determine whether the software corresponding to the target software identifier is upgraded successfully;

[0034] When receiving an upgrade success message sent from the target electronic control unit, closing the HTTP server.

[0035] Third aspect, the present disclosure provides an electronic control unit upgrade device, the device comprising:

[0036] A request sending module, configured to send a Hypertext Transfer Protocol (HTTP) request carrying a target software identifier to the diagnostic host computer in response to an ECU upgrade instruction from the diagnostic host computer; wherein, the HTTP request is used to establish an HTTP transmission channel with the diagnostic host computer, and the HTTP transmission channel is used to transmit software upgrade package data;

[0037] A data receiving module, configured to receive software upgrade package data corresponding to the target software identifier based on the HTTP transmission channel;

[0038] A software upgrade module, configured to install the software corresponding to the target software identifier in the target electronic control unit by using the software upgrade package data during the process of receiving the software upgrade package data.

[0039] In a fourth aspect, the present disclosure further provides an electronic control unit upgrade device, where the device includes:

[0040] An upgrade instruction sending module, configured to send an ECU upgrade instruction to a target electronic control unit;

[0041] A request receiving module, configured to receive a Hypertext Transfer Protocol (HTTP) request from the target electronic control unit; wherein, the HTTP request carries a target software identifier, and the HTTP request is used to establish an HTTP transmission channel with the target electronic control unit, and the HTTP transmission channel is used to transmit software upgrade package data;

[0042] A data sending module, configured to send software upgrade package data corresponding to the target software identifier to the target electronic control unit based on the HTTP transmission channel; wherein, the software upgrade package data is used to upgrade the software corresponding to the target software identifier in the target electronic control unit.

[0043] In a fifth aspect, the present disclosure provides an electronic control unit upgrade device, including: a memory, a processor, and a computer program stored on the memory and executable on the processor, where when the processor executes the computer program, the above method is implemented.

[0044] In a sixth aspect, the present disclosure provides a computer-readable storage medium, where instructions are stored in the computer-readable storage medium, and when the instructions are run on a terminal device, the terminal device implements the above method.

[0045] The technical solution provided by the embodiments of the present disclosure has at least the following advantages compared with the prior art:

[0046] An embodiment of the present disclosure provides an electronic control unit upgrade method, which is applied to the target electronic control ECU unit side. First, in response to an ECU upgrade instruction from a diagnostic host computer, an HTTP request carrying a target software identifier is sent to the diagnostic host computer. Among them, the HTTP request is used to establish an HTTP transmission channel with the diagnostic host computer, and the HTTP transmission channel is used to transmit software upgrade package data. Then, based on the HTTP transmission channel, the software upgrade package data corresponding to the target software identifier is received. During the process of receiving the software upgrade package data, the software corresponding to the target software identifier in the target electronic control unit is installed by using the software upgrade package data. It can be seen that the embodiment of the present disclosure can install and upgrade the software corresponding to the target software identifier during the process of receiving the software upgrade package data based on the HTTP transmission channel, without storing the software upgrade package data in the memory of the ECU, thereby effectively saving the memory space of the ECU. BRIEF DESCRIPTION OF THE DRAWINGS

[0047] The accompanying drawings herein are incorporated into the specification and constitute a part of this specification, showing embodiments consistent with the present disclosure and used together with the specification to explain the principles of the present disclosure.

[0048] In order to more clearly illustrate the technical solutions in the embodiments of the present disclosure or the prior art, the following will briefly introduce the accompanying drawings required for use in the description of the embodiments or the prior art. Obviously, for those of ordinary skill in the art, other accompanying drawings can also be obtained based on these accompanying drawings without creative efforts.

[0049] Figure 1 It is a flowchart of an electronic control unit upgrade method provided by an embodiment of the present disclosure;

[0050] Figure 2 It is a flowchart of another electronic control unit upgrade method provided by an embodiment of the present disclosure;

[0051] Figure 3 It is a flowchart of another electronic control unit upgrade method provided by an embodiment of the present disclosure;

[0052] Figure 4 It is a schematic diagram of a flowchart of an electronic control unit upgrade provided by an embodiment of the present disclosure;

[0053] Figure 5 It is a schematic structural diagram of an electronic control unit upgrade device provided by an embodiment of the present disclosure;

[0054] Figure 6 It is a schematic structural diagram of an electronic control unit upgrade device provided by an embodiment of the present disclosure;

[0055] Figure 7Schematic diagram of a structure of an electronic control unit upgrade device provided by an embodiment of the present disclosure. Detailed implementation manners

[0056] In order to be able to more clearly understand the above-mentioned objects, features and advantages of the present disclosure, the solution of the present disclosure will be further described below. It should be noted that, without conflict, the embodiments of the present disclosure and the features in the embodiments may be combined with each other.

[0057] In the following description, many specific details are set forth in order to fully understand the present disclosure, but the present disclosure may also be implemented in other ways different from those described herein; obviously, the embodiments in the specification are only a part of the embodiments of the present disclosure, rather than all of the embodiments.

[0058] For this reason, an embodiment of the present disclosure provides an electronic control unit upgrade method, which is applied to the target electronic control ECU unit side. First, in response to an ECU upgrade instruction from a diagnostic host computer, an HTTP request carrying a target software identifier is sent to the diagnostic host computer. Among them, the HTTP request is used to establish an HTTP transmission channel with the diagnostic host computer, and the HTTP transmission channel is used to transmit software upgrade package data; then, based on the HTTP transmission channel, software upgrade package data corresponding to the target software identifier is received; during the process of receiving the software upgrade package data, the software corresponding to the target software identifier in the target electronic control unit is installed by using the software upgrade package data. It can be seen that the embodiment of the present disclosure can install and upgrade the software corresponding to the target software identifier during the process of receiving the software upgrade package data based on the HTTP transmission channel, without storing the software upgrade package data in the memory of the ECU, thereby effectively saving the memory space of the ECU.

[0059] Based on this, an embodiment of the present disclosure provides an electronic control unit upgrade method, referring to Figure 1 , which is a flowchart of an electronic control unit upgrade method provided by an embodiment of the present disclosure. The method includes:

[0060] S101: In response to an ECU upgrade instruction from a diagnostic host computer, send an HTTP request carrying a target software identifier to the diagnostic host computer.

[0061] Among them, the HTTP request is used to establish an HTTP transmission channel with the diagnostic host computer, and the HTTP transmission channel is used to transmit software upgrade package data.

[0062] The electronic control unit upgrade method provided by the embodiments of the present disclosure can be applied to the in-vehicle device side, specifically to the upgradeable electronic control unit (ECU) deployed on the in-vehicle device side; wherein, the ECU is used to manage and control the software (also known as the application program) in the vehicle, and the upgrade of the ECU described in the embodiments of the present disclosure actually refers to the upgrade of the software in the ECU.

[0063] In the embodiments of the present disclosure, the diagnostic host computer (also known as the diagnostic instrument) may include an application program deployed on the PC side. In actual application, after the diagnostic host computer is connected to the vehicle, it can send a diagnostic request to the ECU in the vehicle based on the diagnostic service, receive and parse the diagnostic data returned by the ECU of the vehicle, and then perform fault analysis based on the diagnostic data and provide corresponding solutions accordingly. Among them, the diagnostic service is used to establish a communication connection between the diagnostic host computer and the ECU, and the information interaction process between the diagnostic host computer and the ECU may include: the diagnostic host computer sends a diagnostic request, and the ECU returns diagnostic data to the diagnostic host computer based on the diagnostic request.

[0064] In the embodiments of the present disclosure, when the ECU receives an ECU upgrade instruction from the diagnostic host computer, it sends a Hypertext Transfer Protocol (HTTP) request carrying the target software identifier to the diagnostic host computer.

[0065] Since the HTTP request carries the target software identifier, and the target software identifier can be used to identify the attribute information corresponding to the target software, when the diagnostic host computer receives the HTTP request carrying the target software identifier, it can transmit the software upgrade package data corresponding to the target software identifier to the ECU based on the carried target software identifier. Among them, the attribute information may include information such as the software upgrade package name, the software upgrade package size, and the security transition parameter.

[0066] Among them, the Hypertext Transfer Protocol (HTTP) is a protocol for transmitting data based on the TCP / IP communication protocol, and has characteristics such as fast communication speed. The HTTP protocol supports the client and server modes. The client is used to request data from the server, and the server is used to transmit data to the client when receiving the request.

[0067] In an optional implementation manner, before sending the HTTP request, the ECU can be determined as the client in the HTTP protocol, and the diagnostic host computer can be determined as the server. After the ECU sends the HTTP request to the diagnostic host computer, an HTTP transmission channel is established with the diagnostic host computer so that the software upgrade package data from the diagnostic host computer can be received based on the HTTP transmission channel subsequently.

[0068] S102: Receive the software upgrade package data corresponding to the target software identifier based on the HTTP transmission channel.

[0069] In traditional ECU upgrade methods, the diagnostic service is usually used to transfer a software upgrade package with a large amount of data from the diagnostic host computer to the memory of the ECU. For the ECU, storing the software upgrade package will occupy a part of the memory space, thus increasing the hardware storage space cost of the ECU.

[0070] In the embodiments of the present disclosure, during the process of transmitting the software upgrade package based on the HTTP protocol, the server (i.e., the diagnostic host computer) usually adopts the method of chunked transfer, splitting a relatively large software upgrade package (such as about 4GB) into multiple small files (such as about 2KB), and then distributing the multiple small files to the client (i.e., the ECU) in sequence. Each time the client receives a small file, it installs the small file and does not need to save the software upgrade package. Obviously, this transmission method does not need to save all the files in the memory of the ECU, thus saving the storage space of the ECU. In addition, since only a small part of the files is transmitted each time, the network resource occupancy can also be saved during the process of transmitting the software upgrade package.

[0071] S103: During the process of receiving the software upgrade package data, use the software upgrade package data to install the software corresponding to the target software identifier in the target electronic control unit.

[0072] In an optional implementation manner, after upgrading the software corresponding to the target software identifier in the target electronic control unit, it is also possible to respond to an upgrade result query instruction from the diagnostic host computer, determine whether the software corresponding to the target software identifier is upgraded successfully, and if it is determined that the software corresponding to the target software identifier is upgraded successfully, send an upgrade success message to the diagnostic host computer.

[0073] In the embodiments of the present disclosure, the upgrade success message is used to instruct the diagnostic host computer to close the HTTP server, and at this time, the process of transmitting the software upgrade package data based on the HTTP protocol ends.

[0074] In an optional implementation manner, the diagnostic host computer can use the diagnostic service $22 (read data according to the identifier) to read the upgrade results of each software.

[0075] In practical applications, after the software in the ECU is upgraded using the software upgrade package data, each software in the ECU will be reset and restarted internally. After the restart and reset are successful, the ECU can call any software. Therefore, in the embodiments of the present disclosure, after the ECU receives an upgrade result query instruction from the diagnostic host computer, it can call each software. If the call is successful, it indicates that each software has been restarted successfully. At this time, an upgrade success message is sent to the diagnostic host computer to instruct the diagnostic host computer to close the HTTP server.

[0076] In an alternative embodiment, after upgrading the software corresponding to the target software identifier in the target electronic control unit, in response to a state switching instruction from the diagnostic host computer, the state can be switched from the flashing state to the initial state (i.e., the state where the software runs stably). At this time, the entire ECU upgrade process ends.

[0077] In the method for upgrading an electronic control unit provided by the embodiments of the present disclosure, first, in response to an ECU upgrade instruction from the diagnostic host computer, an HTTP request carrying the target software identifier is sent to the diagnostic host computer. Among them, the HTTP request is used to establish an HTTP transmission channel with the diagnostic host computer, and the HTTP transmission channel is used to transmit software upgrade package data; then, based on the HTTP transmission channel, the software upgrade package data corresponding to the target software identifier is received; during the process of receiving the software upgrade package data, the software corresponding to the target software identifier in the target electronic control unit is installed using the software upgrade package data. It can be seen that the embodiments of the present disclosure can upgrade the software corresponding to the target software identifier during the process of receiving the software upgrade package data based on the HTTP transmission channel, without storing the software upgrade package data in the memory of the ECU, thereby effectively saving the memory space of the ECU.

[0078] Based on this, the embodiments of the present disclosure also provide a method for upgrading an electronic control unit. Refer to Figure 2 , which is a flowchart of a method for upgrading an electronic control unit provided by the embodiments of the present disclosure. The method includes:

[0079] S201: In response to a secure access diagnostic instruction from the diagnostic host computer, perform a legality check on the diagnostic host computer.

[0080] Before data transmission (or downloading data), the legality of the diagnostic host computer is checked to ensure that only a legal diagnostic host computer can perform data transmission operations on the ECU. Among them, secure access includes requesting seeds or sending keys, etc.

[0081] In an alternative embodiment, before performing the legality verification on the diagnostic host computer, the diagnostic service $10 (i.e., diagnostic session control) can also be used to control the ECU to switch from the current default session state (e.g., the state ready for flashing) to the flashing state, so as to upgrade the software in the ECU subsequently.

[0082] S202: If it is determined that the diagnostic host computer is a legal device, a legality passed message is sent to the diagnostic host computer.

[0083] In the embodiments of the present disclosure, after determining that the diagnostic host computer is a legal device, a legality passed message is sent to the diagnostic host computer, so that after receiving the legality passed message, the diagnostic host computer uses the diagnostic service to send a software upgrade package data list to be upgraded to the ECU.

[0084] S203: Receive a software upgrade package list file from the diagnostic host computer.

[0085] Wherein, the software upgrade package list file includes software identifiers corresponding to at least one software upgrade package, and the target software identifier belongs to the software upgrade package list file.

[0086] In the embodiments of the present disclosure, before upgrading the software in the ECU, the diagnostic host computer pre-sends the software upgrade package list file to be upgraded to the ECU to notify the ECU that the software in the software upgrade package list file will be upgraded next.

[0087] In the embodiments of the present disclosure, the software upgrade package list file includes software identifiers corresponding to at least one software upgrade package. Among them, the software identifier may include information such as the name, location, and security transition parameters of the software upgrade package. In practical applications, the size of the software upgrade package list file generally does not exceed 1 KB.

[0088] In an alternative embodiment, after receiving the software upgrade package list file from the diagnostic host computer, the target software identifier can also be determined from the software identifiers of the software upgrade package list file. Further, in response to an ECU upgrade instruction for the host computer, an HTTP request carrying the target software identifier is sent to the superior.

[0089] S204: In response to an integrity verification instruction from the diagnostic host computer, determine whether the received software upgrade package list file is a complete file.

[0090] In an alternative embodiment, after sending the software upgrade package list file to the ECU, the diagnostic host computer can also verify the integrity of the software upgrade package list file. For example, the diagnostic service $31 (i.e., routine control) can be used to verify the download integrity of the list file.

[0091] In the embodiments of the present disclosure, when the ECU receives an integrity verification instruction from the diagnostic host computer, it determines whether the received software upgrade package list is an integrity file.

[0092] S205: If it is determined that the software upgrade package list file is a complete file, a verification success message is sent to the diagnostic host computer.

[0093] Among them, the verification success message is used to instruct the diagnostic host computer to start an HTTP server, and the HTTP server is used to transmit the software upgrade package data.

[0094] S206: In response to an ECU upgrade instruction from the diagnostic host computer, an HTTP (HyperText Transfer Protocol) request carrying the target software identifier is sent to the diagnostic host computer.

[0095] Among them, the HTTP request is used to establish an HTTP transmission channel with the diagnostic host computer, and the HTTP transmission channel is used to transmit the software upgrade package data.

[0096] In an optional implementation manner, before sending an ECU upgrade instruction to the ECU, the diagnostic host computer can also use the diagnostic service $2E (i.e., writing data according to the identifier) to send the storage path and IP address of the software upgrade package (in the software upgrade package list file) to the ECU, so that the subsequent ECU can request the corresponding software upgrade package data from the diagnostic host computer based on the software identifier, the storage path of the software upgrade package, and the IP address. Among them, the IP address can be used to uniquely identify the storage location of the software upgrade package in the diagnostic host computer.

[0097] S207: Based on the HTTP transmission channel, the software upgrade package data corresponding to the target software identifier is received.

[0098] S208: During the process of receiving the software upgrade package data, the software corresponding to the target software identifier in the target electronic control unit is installed by using the software upgrade package data.

[0099] In the ECU upgrade method provided by the embodiments of the present disclosure, which is applied to an electronic control unit, in response to a security access diagnosis instruction from a diagnosis host computer, a legitimacy verification is performed on the diagnosis host computer. If it is determined that the diagnosis host computer is a legitimate device, a legitimacy passed message is sent to the diagnosis host computer; a software upgrade package list file from the diagnosis host computer is received; in response to an integrity verification instruction from the diagnosis host computer, it is determined whether the received software upgrade package list file is a complete file. If it is determined that the software upgrade package list file is a complete file, a verification success message is sent to the diagnosis host computer; in response to an ECU upgrade instruction from the diagnosis host computer, an HTTP request carrying the target software identifier is sent to the diagnosis host computer; based on the HTTP transmission channel, the software upgrade package data corresponding to the target software identifier is received; during the process of receiving the software upgrade package data, the software corresponding to the target software identifier in the target electronic control unit is installed by using the software upgrade package data. It can be seen that the embodiments of the present disclosure can upgrade the software corresponding to the target software identifier during the process of receiving the software upgrade package data based on the HTTP transmission channel, without storing the software upgrade package data in the memory of the ECU, thus effectively saving the memory space of the ECU.

[0100] Based on this, the embodiments of the present disclosure further provide an ECU upgrade method, referring to Figure 3 , which is a flowchart of an ECU upgrade method provided by the embodiments of the present disclosure. The method includes:

[0101] S301: Send an ECU upgrade instruction to the target electronic control unit.

[0102] The ECU upgrade method provided by the embodiments of the present disclosure can be applied to a computer terminal, specifically to an application program deployed on a computer PC terminal, such as a diagnosis host computer, etc. Among them, the diagnosis host computer is used to implement the software flashing of the ECU.

[0103] In an optional implementation manner, the diagnosis host computer can send an ECU upgrade instruction to the electronic control unit based on the diagnosis service 31 (i.e., routine control).

[0104] In an optional implementation manner, before sending an ECU upgrade instruction to the target electronic control unit, the diagnosis host computer may further include: sending a software upgrade package list file to the target electronic control unit; where the software upgrade package list file includes software identifiers corresponding to at least one software upgrade package, and the target software identifier belongs to the software identifiers in the software upgrade package list file.

[0105] In an embodiment of the present disclosure, after sending a software upgrade package list file to a target electronic control unit, the diagnostic host computer may further send an integrity check instruction to the target electronic control unit to instruct the target electronic control unit to determine whether the software upgrade package list file is a complete file; and when receiving a check success message sent from the target electronic control unit, start an HTTP server.

[0106] Wherein, the HTTP server is used to transmit software upgrade package data.

[0107] S302: Receive a Hypertext Transfer Protocol (HTTP) request from the target electronic control unit.

[0108] Wherein, the HTTP request carries a target software identifier, and the HTTP request is used to establish an HTTP transmission channel with the target electronic control unit, and the HTTP transmission channel is used to transmit software upgrade package data.

[0109] S303: Based on the HTTP transmission channel, send the software upgrade package data corresponding to the target software identifier to the target electronic control unit.

[0110] Wherein, the software upgrade package data is used to upgrade the software corresponding to the target software identifier in the target electronic control unit.

[0111] In an optional implementation manner, after the ECU upgrades the software corresponding to the target software identifier, the diagnostic host computer may further send an upgrade result query instruction to the target electronic control unit; wherein, the upgrade result query instruction is used to instruct the target electronic control unit to determine whether the software corresponding to the target software identifier is upgraded successfully; when receiving an upgrade success message sent from the target electronic control unit, close the HTTP server.

[0112] In the electronic control unit upgrade method provided by the embodiment of the present disclosure, first, an ECU upgrade instruction is sent to the target electronic control unit; then, a Hypertext Transfer Protocol (HTTP) request from the target electronic control unit is received, wherein the HTTP request carries a target software identifier, and the HTTP request is specifically used to establish an HTTP transmission channel with the target electronic control unit, and the HTTP transmission channel is used to transmit software upgrade package data; then, based on the HTTP transmission channel, the software upgrade package data corresponding to the target software identifier is sent to the target electronic control unit, wherein the software upgrade package data is used to upgrade the software corresponding to the target software identifier in the target electronic control unit. It can be seen that the embodiment of the present application can upgrade the software corresponding to the target software identifier during the process of receiving software upgrade package data based on the HTTP transmission channel, without storing the software upgrade package data in the memory of the ECU, thereby effectively saving the memory space of the ECU.

[0113] Based on the above embodiments, the embodiments of the present disclosure further provide a schematic diagram of the interaction process between a diagnostic host computer and an ECU. Refer to Figure 4 , which is a flowchart for upgrading an electronic control unit provided by the embodiments of the present disclosure.

[0114] The diagnostic host computer sends a security access diagnostic instruction to the ECU; in response to the security access diagnostic instruction from the diagnostic host computer, the ECU performs a legality verification on the diagnostic host computer. If it is determined that the diagnostic host computer is a legal device, a legality passed message is sent to the diagnostic host computer.

[0115] The diagnostic host computer receives the legality passed message, indicating that the diagnostic host computer is a legal device.

[0116] The diagnostic host computer sends a software upgrade package list file to the ECU.

[0117] The diagnostic host computer sends an integrity verification instruction to the ECU; when receiving the integrity verification instruction, the ECU determines whether the software upgrade package list file is a complete file. If it is determined that the software upgrade package list file is a complete file, a verification success message is sent to the diagnostic host computer.

[0118] The diagnostic host computer receives the verification success message, indicating that the software upgrade package list file is a complete file, and starts an HTTP server.

[0119] The diagnostic host computer sends the storage location and IP address of the software upgrade package to the ECU.

[0120] The diagnostic host computer sends an ECU upgrade instruction to the ECU.

[0121] The ECU sends a Hypertext Transfer Protocol (HTTP) request carrying the target software identifier to the diagnostic host computer.

[0122] The diagnostic host computer receives the Hypertext Transfer Protocol (HTTP) request from the target electronic control unit, and based on the HTTP transmission channel, sends the software upgrade package data corresponding to the target software identifier to the target electronic control unit.

[0123] The diagnostic host computer sends an upgrade result query instruction to the target electronic control unit; when receiving the upgrade result query instruction, the ECU determines whether the software corresponding to the target software identifier has been successfully upgraded.

[0124] When the diagnostic host computer receives the upgrade success message from the target electronic control unit, it closes the HTTP server.

[0125] Based on the same inventive concept as the above embodiments, the embodiments of the present disclosure further provide an electronic control unit upgrade device. Refer toFigure 5 , which is a schematic structural diagram of an electronic control unit upgrade device provided by an embodiment of the present disclosure. The device includes:

[0126] A request sending module 501, configured to send a HyperText Transfer Protocol (HTTP) request carrying a target software identifier to the diagnostic host computer in response to an ECU upgrade instruction from the diagnostic host computer; wherein, the HTTP request is used to establish an HTTP transmission channel with the diagnostic host computer, and the HTTP transmission channel is used to transmit software upgrade package data;

[0127] A data receiving module 502, configured to receive software upgrade package data corresponding to the target software identifier based on the HTTP transmission channel;

[0128] A software upgrade module 503, configured to install the software corresponding to the target software identifier in the target electronic control unit by using the software upgrade package data during the process of receiving the software upgrade package data.

[0129] In an optional implementation manner, the device further includes:

[0130] A manifest file receiving module, configured to receive a software upgrade package manifest file from the diagnostic host computer; wherein, the software upgrade package manifest file includes software identifiers corresponding to at least one software upgrade package, and the target software identifier belongs to the software identifiers in the software upgrade package manifest file;

[0131] Correspondingly, before sending the HTTP request carrying the target software identifier to the diagnostic host computer in response to the ECU upgrade instruction from the diagnostic host computer, it further includes:

[0132] Determining the target software identifier from the software identifiers in the software upgrade package manifest file.

[0133] In an optional implementation manner, the device further includes:

[0134] An integrity verification module, configured to determine whether the received software upgrade package manifest file is a complete file in response to an integrity verification instruction from the diagnostic host computer;

[0135] A first message sending module, configured to send a verification success message to the diagnostic host computer if it is determined that the software upgrade package manifest file is a complete file; wherein, the verification success message is used to instruct the diagnostic host computer to start an HTTP server, and the HTTP server is used to transmit the software upgrade package data.

[0136] In an optional implementation manner, the device further includes:

[0137] A legitimacy verification module, configured to perform a legitimacy verification on the diagnostic host computer in response to a security access diagnostic instruction from the diagnostic host computer;

[0138] A second message sending module, configured to send a legitimacy passed message to the diagnostic host computer if it is determined that the diagnostic host computer is a legitimate device.

[0139] In an optional implementation manner, the device further includes:

[0140] A determination module, configured to determine whether the software corresponding to the target software identifier is successfully upgraded in response to an upgrade result query instruction from the diagnostic host computer;

[0141] A third message sending module, configured to send an upgrade success message to the diagnostic host computer if it is determined that the software corresponding to the target software identifier is successfully upgraded; wherein, the upgrade success message is used to instruct the diagnostic host computer to close the HTTP server.

[0142] In the electronic control unit upgrade device provided by the embodiments of the present disclosure, first, in response to an ECU upgrade instruction from the diagnostic host computer, an HTTP request carrying a target software identifier is sent to the diagnostic host computer, where the HTTP request is used to establish an HTTP transmission channel with the diagnostic host computer, and the HTTP transmission channel is used to transmit software upgrade package data; then, based on the HTTP transmission channel, the software upgrade package data corresponding to the target software identifier is received; during the process of receiving the software upgrade package data, the software corresponding to the target software identifier in the target electronic control unit is installed by using the software upgrade package data. It can be seen that the embodiments of the present disclosure can upgrade the software corresponding to the target software identifier during the process of receiving the software upgrade package data based on the HTTP transmission channel, without storing the software upgrade package data in the memory of the ECU, thereby effectively saving the memory space of the ECU.

[0143] Based on the same inventive concept as the above embodiment, the embodiments of the present disclosure also provide an electronic control unit upgrade device. Refer to Figure 6 , which is a schematic structural diagram of an electronic control unit upgrade device provided by the embodiments of the present disclosure. The device includes:

[0144] An upgrade instruction sending module 601, configured to send an ECU upgrade instruction to the target electronic control unit;

[0145] A request receiving module 602, configured to receive an HTTP request from the target electronic control unit; wherein, the HTTP request carries a target software identifier, the HTTP request is used to establish an HTTP transmission channel with the target electronic control unit, and the HTTP transmission channel is used to transmit software upgrade package data;

[0146] A data sending module 603, configured to send software upgrade package data corresponding to the target software identifier to the target electronic control unit based on the HTTP transmission channel; wherein, the software upgrade package data is used to upgrade the software corresponding to the target software identifier in the target electronic control unit.

[0147] In an optional implementation manner, the device further includes:

[0148] A manifest file sending module, configured to send a software upgrade package manifest file to the target electronic control unit; wherein, the software upgrade package manifest file includes software identifiers corresponding to at least one software upgrade package, and the target software identifier belongs to the software identifiers in the software upgrade package manifest file.

[0149] In an optional implementation manner, the device further includes:

[0150] A verification instruction sending module, configured to send an integrity verification instruction to the target electronic control unit; wherein, the integrity verification instruction is used to instruct the target electronic control unit to determine whether the software upgrade package manifest file is a complete file;

[0151] A start module, configured to start an HTTP server when receiving a verification success message sent from the target electronic control unit; wherein, the HTTP server is used to transmit the software upgrade package data.

[0152] In an optional implementation manner, the device further includes:

[0153] An upgrade result query instruction sending module, configured to send an upgrade result query instruction to the target electronic control unit; wherein, the upgrade result query instruction is used to instruct the target electronic control unit to determine whether the software corresponding to the target software identifier is upgraded successfully;

[0154] A shutdown module, configured to shut down the HTTP server when receiving an upgrade success message sent from the target electronic control unit.

[0155] In the ECU upgrade device provided by the embodiments of the present disclosure, first, an ECU upgrade instruction is sent to the target ECU; then, an HTTP request from the target ECU is received, where the HTTP request carries the target software identifier, and the HTTP request is specifically used to establish an HTTP transmission channel with the target ECU, and this HTTP transmission channel is used to transmit software upgrade package data; next, based on the HTTP transmission channel, the software upgrade package data corresponding to the target software identifier is sent to the target ECU, where the software upgrade package data is used to upgrade the software corresponding to the target software identifier in the target ECU. It can be seen that the embodiments of the present application can receive software upgrade package data based on the HTTP transmission channel and use the software upgrade package data to upgrade the software corresponding to the target software identifier, without pre-storing the software upgrade package data in the memory of the ECU, thereby effectively saving the memory space of the ECU.

[0156] In addition to the above methods and devices, the embodiments of the present disclosure also provide a computer-readable storage medium, in which instructions are stored. When the instructions run on a terminal device, the terminal device implements the ECU upgrade method described in the embodiments of the present disclosure.

[0157] In addition, the embodiments of the present disclosure also provide an ECU upgrade device. As shown in Figure 7 it may include:

[0158] A processor 701, a memory 702, an input device 703, and an output device 704. The number of processors 701 in the ECU upgrade device may be one or more. Figure 7 Taking one processor as an example. In some embodiments of the present disclosure, the processor 701, the memory 702, the input device 703, and the output device 704 may be connected by a bus or other means. Among them, Figure 7 taking the connection by bus as an example.

[0159] The memory 702 can be used to store software programs and modules. The processor 701 runs the software programs and modules stored in the memory 702, so as to implement various functional applications and data processing of the ECU upgrade device. The memory 702 mainly includes a program storage area and a data storage area. Among them, the program storage area can store an operating system, application programs required for at least one function, etc. In addition, the memory 702 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one magnetic disk storage device, a flash memory device, or other volatile solid-state storage devices. The input device 703 can be used to receive input digital or character information, and generate signal inputs related to the user settings and function controls of the ECU upgrade device.

[0160] Specifically, in this embodiment, the processor 701 loads the executable files corresponding to the processes of one or more application programs into the memory 702 according to the following instructions, and the processor 701 runs the application programs stored in the memory 702, thereby implementing various functions of the above-mentioned electronic control unit upgrade device.

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

[0162] The above are only specific embodiments of the present disclosure, enabling those skilled in the art to understand or implement the present disclosure. Various modifications to these embodiments will be obvious to those skilled in the art, and the general principles defined herein can be implemented in other embodiments without departing from the spirit or scope of the present disclosure. Therefore, the present disclosure will not be limited to these embodiments described herein, but rather to the broadest scope consistent with the principles and novel features disclosed herein.

Claims

1. An electronic control unit upgrade method, characterized in that, the method includes: responding to an ECU upgrade instruction from a diagnostic host computer, and sending a Hypertext Transfer Protocol (HTTP) request carrying a target software identifier to the diagnostic host computer; wherein, the HTTP request is used to establish an HTTP transmission channel with the diagnostic host computer, and the HTTP transmission channel is used to transmit software upgrade package data; receiving, based on the HTTP transmission channel, the software upgrade package data corresponding to the target software identifier; during the process of receiving the software upgrade package data, using the software upgrade package data to install the software corresponding to the target software identifier in the target electronic control unit.

2. The method according to claim 1, characterized in that, before the step of responding to an ECU upgrade instruction from a diagnostic host computer and sending a Hypertext Transfer Protocol (HTTP) request carrying a target software identifier to the diagnostic host computer, it further includes: receiving a software upgrade package list file from the diagnostic host computer; wherein, the software upgrade package list file includes software identifiers corresponding to at least one software upgrade package, and the target software identifier belongs to the software identifiers in the software upgrade package list file; correspondingly, before the step of responding to an ECU upgrade instruction from a diagnostic host computer and sending a Hypertext Transfer Protocol (HTTP) request carrying a target software identifier to the diagnostic host computer, it further includes: determining the target software identifier from the software identifiers in the software upgrade package list file.

3. The method according to claim 2, characterized in that, the method further includes: responding to an integrity check instruction from the diagnostic host computer, and determining whether the received software upgrade package list file is a complete file; if it is determined that the software upgrade package list file is a complete file, then sending a check success message to the diagnostic host computer; wherein, the check success message is used to instruct the diagnostic host computer to start an HTTP server, and the HTTP server is used to transmit the software upgrade package data.

4. The method according to claim 2, characterized in that, before the step of receiving a software upgrade package list file from the diagnostic host computer, it further includes: responding to a security access diagnosis instruction from the diagnostic host computer, and performing a legality check on the diagnostic host computer; if it is determined that the diagnostic host computer is a legal device, then sending a legality passed message to the diagnostic host computer.

5. The method according to claim 1, characterized in that, the method further includes: responding to an upgrade result query instruction from the diagnostic host computer, and determining whether the software corresponding to the target software identifier is upgraded successfully; if it is determined that the software corresponding to the target software identifier is upgraded successfully, then sending an upgrade success message to the diagnostic host computer; wherein, the upgrade success message is used to instruct the diagnostic host computer to close the HTTP server.

6. An electronic control unit upgrade method, characterized in that, the method includes: sending an ECU upgrade instruction to a target electronic control unit; Receive a Hypertext Transfer Protocol (HTTP) request from the target electronic control unit; wherein, the target software identifier is carried in the HTTP request, and the HTTP request is used to establish an HTTP transmission channel with the target electronic control unit, and the HTTP transmission channel is used to transmit software upgrade package data; Based on the HTTP transmission channel, send the software upgrade package data corresponding to the target software identifier to the target electronic control unit; wherein, the software upgrade package data is used to upgrade the software corresponding to the target software identifier in the target electronic control unit.

7. The method according to claim 6, characterized in that, before sending the ECU upgrade instruction to the target electronic control unit, further comprising: sending a software upgrade package list file to the target electronic control unit; wherein, the software upgrade package list file includes software identifiers corresponding to at least one software upgrade package, and the target software identifier belongs to the software identifiers in the software upgrade package list file.

8. The method according to claim 7, characterized in that, the method further comprises: sending an integrity check instruction to the target electronic control unit; wherein, the integrity check instruction is used to instruct the target electronic control unit to determine whether the software upgrade package list file is a complete file; when receiving a check success message sent from the target electronic control unit, start an HTTP server; wherein, the HTTP server is used to transmit the software upgrade package data.

9. The method according to claim 6, characterized in that, the method further comprises: sending an upgrade result query instruction to the target electronic control unit; wherein, the upgrade result query instruction is used to instruct the target electronic control unit to determine whether the software corresponding to the target software identifier is upgraded successfully; when receiving an upgrade success message from the target electronic control unit, close the HTTP server.

10. An electronic control unit upgrade device, characterized in that, the device comprises: a request sending module, configured to respond to an ECU upgrade instruction from a diagnostic host computer, and send a Hypertext Transfer Protocol (HTTP) request carrying a target software identifier to the diagnostic host computer; wherein, the HTTP request is used to establish an HTTP transmission channel with the diagnostic host computer, and the HTTP transmission channel is used to transmit software upgrade package data; a data receiving module, configured to receive the software upgrade package data corresponding to the target software identifier based on the HTTP transmission channel; a software upgrade module, configured to, during the process of receiving the software upgrade package data, use the software upgrade package data to install the software corresponding to the target software identifier in the target electronic control unit.

11. An electronic control unit upgrade device, characterized in that, the device comprises: an upgrade instruction sending module, configured to send an ECU upgrade instruction to a target electronic control unit; A request receiving module, configured to receive a HyperText Transfer Protocol (HTTP) request from the target electronic control unit; wherein, a target software identifier is carried in the HTTP request, the HTTP request is used to establish an HTTP transmission channel with the target electronic control unit, and the HTTP transmission channel is used to transmit software upgrade package data; A data sending module, configured to send, based on the HTTP transmission channel, software upgrade package data corresponding to the target software identifier to the target electronic control unit; wherein, the software upgrade package data is used to upgrade the software corresponding to the target software identifier in the target electronic control unit.

12. An electronic control unit upgrade device, characterized in that, it includes: a memory, a processor, and a computer program stored on the memory and executable on the processor, and when the processor executes the computer program, the method according to any one of claims 1-5 or the method according to any one of claims 6-9 is implemented.

13. A computer-readable storage medium, characterized in that, instructions are stored in the computer-readable storage medium, and when the instructions are run on a terminal device, the terminal device is caused to implement the method according to any one of claims 1-5 or the method according to any one of claims 6-9.