Software upgrading method and device, electronic equipment and storage medium

By using differential processing and inverse differential technology, the problems of low communication speed and incompatible software upgrade package size in differential upgrades have been solved, thereby improving the transmission efficiency of ECUs and the efficiency of OTA upgrades.

CN117289978BActive Publication Date: 2026-08-04CHERY AUTOMOBILE CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
CHERY AUTOMOBILE CO LTD
Filing Date
2023-09-07
Publication Date
2026-08-04

AI Technical Summary

Technical Problem

In existing technologies, differential upgrade communication has a low speed, and the vehicle architecture and software upgrade package size are not compatible, resulting in low ECU upgrade efficiency and a poor upgrade experience.

Method used

By obtaining the identifier of the target ECU, it is determined whether it has deployed anti-differential function. The software upgrade package is differentially processed, and the differential package is packaged into a target format that can trigger the anti-differential function of the target ECU. The target ECU parses and performs anti-differential processing to complete the software upgrade.

Benefits of technology

It improves the transmission efficiency of the ECU and enhances the efficiency of OTA upgrades, meeting the needs of actual use.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117289978B_ABST
    Figure CN117289978B_ABST
Patent Text Reader

Abstract

The application relates to the technical field of automobile software upgrading, in particular to a software upgrading method and device, an electronic device and a storage medium, wherein the method comprises the following steps: obtaining the identification of a target ECU to be upgraded and a software upgrading package; if it is determined according to the identification that the target ECU is deployed with a reverse differential function, performing differential processing on the software upgrading package to obtain a differential package, and packing the differential package into a target format in which the target ECU can trigger the reverse differential function; and sending the differential package in the target format to the target ECU, wherein the target ECU analyzes the differential package in the target format, performs reverse differential processing on the differential package by using the reverse differential function to obtain the software upgrading package, and performs software upgrading by using the software upgrading package. Therefore, the problems in the prior art that the differential upgrading communication mode has a low rate, the vehicle-mounted network architecture is not adapted to the size of the software upgrading package, the ECU upgrading efficiency is low, and the upgrading experience is poor are solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of automotive software upgrade technology, and in particular to a software upgrade method, apparatus, electronic device and storage medium. Background Technology

[0002] With the popularization of "intelligent, connected, electric, and shared" automobiles, "software-defined vehicles" have become a trend. While bringing a good user experience to car owners, software-related malfunctions will also increase.

[0003] Among related technologies, the use of OTA (Over-the-Air) technology is becoming increasingly important. When a vehicle experiences a software malfunction or the car manufacturer iterates on a feature, the owner does not need to drive the car to a 4S store (Automobile Sales Service Shop 4S). The upgrade can be completed simply by performing a simple operation inside the car. This not only saves car manufacturers money but also greatly improves the user experience.

[0004] However, the OTA technology in related technologies requires a certain amount of time to flash, and the flashing efficiency is low, resulting in a long update time, which in turn wastes upgrade time and resources and leads to a poor upgrade experience. Summary of the Invention

[0005] This application provides a software upgrade method, apparatus, electronic device, and storage medium to solve problems in related technologies, such as low speed of differential upgrade communication and mismatch between vehicle architecture and software upgrade package size, resulting in low ECU upgrade efficiency and poor upgrade experience.

[0006] A first aspect of this application provides a software upgrade method applied to a communication terminal of an electronic device, wherein the electronic device includes one or more electronic control units (ECUs). The method includes the following steps: obtaining an identifier of the target ECU to be upgraded and a software upgrade package; if the identifier indicates that the target ECU has an anti-differential function deployed, performing differential processing on the software upgrade package to obtain a differential package, and packaging the differential package into a target format that allows the target ECU to trigger the anti-differential function; sending the target format differential package to the target ECU, wherein the target ECU parses the target format differential package, performs anti-differential processing on the differential package using the anti-differential function to obtain the software upgrade package, and performs a software upgrade using the software upgrade package.

[0007] Optionally, packaging the differential packet into a target format that allows the target ECU to trigger the inverse differential function includes: if the identifier determines whether the target ECU has defined a parsing level; if the target ECU has defined a parsing level, then the target parsing bit of the target ECU in the target format is determined according to the parsing level, and the value of the target parsing bit is set as a target value, wherein the target ECU triggers the inverse differential function after recognizing that the value of the target parsing bit is the target value; if the target ECU has not defined a parsing level, then the value of the target position of the target ECU in the target format is set as the target value, and the position of the target value is moved during transmission, wherein the target ECU triggers the inverse differential function after recognizing that the value of the preset bit is the target value.

[0008] Optionally, before determining the target ECU's target resolution bit in the target format based on the resolution level, the method further includes: defining the resolution level of the target ECU based on the electrical architecture of the electronic device.

[0009] Optionally, before performing differential processing on the software upgrade package to obtain a differential package, the method further includes: identifying the capacity value of the software upgrade package; if the capacity value is greater than a preset value, then performing differential processing on the software upgrade package to obtain a differential package; otherwise, sending the software upgrade package to the target ECU.

[0010] A second aspect of this application provides a software upgrade method applied to an electronic control unit (ECU) of an electronic device. The ECU communicates with a communication terminal of the electronic device. The method includes the following steps: obtaining a differential packet of a target format sent by the communication terminal; wherein, when the communication terminal determines that the ECU has an anti-differential function deployed based on the ECU's identifier, it performs differential processing on the ECU's software upgrade package to obtain a differential packet, and packages the differential packet into a target format that the target ECU can trigger the anti-differential function; parsing the differential packet of the target format, and using the anti-differential function to perform anti-differential processing on the differential packet to obtain the software upgrade package; and using the software upgrade package to perform a software upgrade.

[0011] A third aspect of this application provides a software upgrade apparatus, which is applied to a communication terminal of an electronic device, and the electronic device includes one or more electronic control units (ECUs). The apparatus includes: an acquisition module for acquiring an identifier of a target ECU to be upgraded and a software upgrade package; a first packaging module for, when determining from the identifier that the target ECU has an anti-differential function deployed, performing differential processing on the software upgrade package to obtain a differential package, and packaging the differential package into a target format that allows the target ECU to trigger the anti-differential function; and a first upgrade module for sending the target format differential package to the target ECU, wherein the target ECU parses the target format differential package, performs anti-differential processing on the differential package using the anti-differential function to obtain the software upgrade package, and performs a software upgrade using the software upgrade package.

[0012] Optionally, the first packaging module is further configured to: if it is determined from the identifier whether the target ECU has defined a parsing level; if the target ECU has defined a parsing level, then determine the target parsing bit of the target ECU in the target format according to the parsing level, and set the value of the target parsing bit to a target value, wherein the target ECU triggers the inverse differential function after recognizing that the value of the target parsing bit is the target value; if the target ECU has not defined a parsing level, then set the value of the target position of the target ECU in the target format to the target value, and move the position of the target value during transmission, wherein the target ECU triggers the inverse differential function after recognizing that the value of the preset bit is the target value.

[0013] A fourth aspect of this application provides a software upgrade apparatus. The apparatus is applied to an electronic control unit (ECU) of an electronic device, the ECU communicating with a communication terminal of the electronic device. The apparatus includes: a second packaging module, configured to acquire a differential packet of a target format sent by the communication terminal; wherein, when the communication terminal determines that the ECU has an anti-differential function deployed based on the ECU's identifier, it performs differential processing on the ECU's software upgrade package to obtain a differential packet, and packages the differential packet into a target format that allows the target ECU to trigger the anti-differential function; and a second upgrade module, configured to parse the differential packet of the target format, and perform anti-differential processing on the differential packet using the anti-differential function to obtain the software upgrade package, and perform a software upgrade using the software upgrade package.

[0014] A fifth aspect of this application provides an electronic device, including: one or more electronic control units (ECUs); a communication terminal, which acquires an identifier and a software upgrade package of a target ECU to be upgraded from the one or more ECUs; if it is determined from the identifier that the target ECU has an anti-differential function deployed, the terminal performs differential processing on the software upgrade package to obtain a differential package, and packages the differential package into a target format that can trigger the anti-differential function of the target ECU; the terminal sends the differential package in the target format to the target ECU; the target ECU parses the differential package in the target format, performs anti-differential processing on the differential package using the anti-differential function to obtain the software upgrade package, and performs a software upgrade using the software upgrade package.

[0015] A sixth aspect of this application provides a computer-readable storage medium having a computer program stored thereon, which is executed by a processor to implement the software upgrade method as described in the above embodiments.

[0016] Therefore, this application has at least the following beneficial effects:

[0017] In this embodiment, after determining that the target ECU has anti-differential functionality, the corresponding software upgrade package is differentially processed and packaged according to the target format. The target ECU parses the differential package and performs anti-differential processing, and then uses the anti-differential processed software package for software upgrade. Thus, this embodiment can perform differential processing on the software upgrade package according to the requirements of the ECU, thereby reducing the bandwidth requirements of the ECU, improving transmission efficiency, improving OTA efficiency, and meeting actual usage needs.

[0018] Additional aspects and advantages of this application will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of this application. Attached Figure Description

[0019] The above and / or additional aspects and advantages of this application will become apparent and readily understood from the following description of the embodiments taken in conjunction with the accompanying drawings, wherein:

[0020] Figure 1 This is a schematic diagram of the OTA upgrade process related to the embodiments of this application;

[0021] Figure 2 This is a schematic diagram of the read-while-write process related to the embodiments of this application;

[0022] Figure 3 This is a schematic diagram illustrating the installation process (external Flash) of the related technologies in the embodiments of this application;

[0023] Figure 4This is a schematic diagram of a differential upgrade process related to the technology in the embodiments of this application;

[0024] Figure 5 This is a schematic diagram of the inverse differential process of TBOX (Telematics Box) related to the embodiments of this application;

[0025] Figure 6 This is a schematic diagram of another TBOX inverse differential process related to the embodiments of this application;

[0026] Figure 7 This is a diagram illustrating the CCA (Centralized Control Architecture) electronic and electrical architecture related to the embodiments of this application;

[0027] Figure 8 This is a schematic diagram of the CCA electronic and electrical architecture network related to the embodiments of this application;

[0028] Figure 9 This is a flowchart of a software upgrade method according to an embodiment of this application;

[0029] Figure 10 This is a schematic diagram illustrating the process of implementing vehicle OTA via adaptive differential update in an embodiment of this application.

[0030] Figure 11 This is a diagram illustrating the data format identifier related to the embodiments of this application.

[0031] Figure 12 This is a data format identifier diagram for embodiment 0x04 of this application;

[0032] Figure 13 This is a schematic diagram illustrating the shifting of the data format identifier by the TBOX in an embodiment of this application;

[0033] Figure 14 This is a schematic diagram illustrating the shifting of the data format identifier by the CGW in an embodiment of this application;

[0034] Figure 15 This is a schematic diagram illustrating the left shift of the data format identifier according to one embodiment of this application;

[0035] Figure 16 This is a flowchart of a software upgrade method according to an embodiment of this application;

[0036] Figure 17 This is an example diagram of a software upgrade device according to an embodiment of this application;

[0037] Figure 18 This is an example diagram of another software upgrade device according to an embodiment of this application;

[0038] Figure 19 This is a schematic diagram of the structure of an electronic device according to an embodiment of this application. Detailed Implementation

[0039] The embodiments of this application are described in detail below. Examples of these embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and intended to explain this application, and should not be construed as limiting this application.

[0040] In related technologies, OTA upgrades can be divided into three stages: organizing the update package, pushing the update package, and installing the update package. The entire process is connected through network communication, ultimately updating the data stored in the terminal, thereby improving the terminal's functions and service technology.

[0041] According to AutoSAR (Automotive Open System Architecture) related documents, such as Figure 1 As shown, the complete OTA upgrade process can be broken down as follows: Assuming the new software has already been downloaded to FOTA (Firmware OTA) and the Master ECU (electronic control unit), it is also necessary to download the new software to the Target ECU, verify the integrity and correctness of the new software, and activate the new software, which involves the processes of installation, verification, and activation.

[0042] (1) Installation refers to downloading new software to the target ECU while the vehicle continues to operate normally; that is, the software is downloaded to the target ECU while the vehicle is running, a process known as read-while-write. Figure 2 As shown; during this process, the Master ECU needs to monitor the progress in real time in order to coordinate OTA upgrades.

[0043] Software installation requires multi-frame transmission, during which the target ECU needs to process the data. The installation process may also not proceed as expected, such as being canceled or interrupted. Therefore, specific requirements arise to address these situations, such as verification and activation.

[0044] (2) Verification refers to verifying new software through a predetermined algorithm. The requirements at this time are: completeness of new software and specifying the corresponding verification algorithm.

[0045] (3) Activation refers to backing up the old software and activating the new software while the vehicle is in a safe state. If an external Flash plugin is used, the process might involve first backing up the old software to the external Flash, then copying the new software to the ECU, and finally activating the new software. Figure 3 As shown.

[0046] Specifically, such as Figure 4 As shown, differential upgrade involves extracting the differences between the old and new software versions, generating a differential package, and then pushing the differential package to the device via the cloud. After receiving the package, the device uses a differential recovery algorithm to merge the differential package with the old software version, restoring the new software version before differential upgrade, thus completing the upgrade. Its advantages are smaller upgraded software, faster download speed, and more storage space saving. Its disadvantages are that the time to restore the differential software to the new software is relatively long and the memory required is relatively large.

[0047] To address the aforementioned technical issues, an adaptive differential update method can be employed to implement OTA, such as... Figure 5 As shown, a typical feature of this electronic and electrical architecture is the use of a centralized gateway. For OTA (Over-The-Air) updates, the TBOX, as the main upgrade controller, primarily performs functions such as download management. Simultaneously, to reduce download traffic between the vehicle and the cloud, differential algorithms can be implemented in the TBOX. However, for automotive electronic and electrical architecture design, to reuse existing ECUs, compatibility with existing communication methods must be considered. Therefore, in the above embodiment, the BOX and CGW still use a lower-speed communication method, such as using CAN (Controller Area Network) connection.

[0048] Although TBOX and the cloud employ differential algorithms to reduce network load and download time, the download time from TBOX to CGW is still relatively long, especially when the ECU software version is large. Taking ECU B as an example, the version includes not only the MCU (Microcontroller Unit) version but also the SOC (System on Chip) version.

[0049] Assuming the MCU software version is 5MB and the SOC software version is 50MB; downloading the MCU software from the TBOX to ECU B takes approximately 7 minutes; while downloading the SOC software takes 70 minutes. Therefore, the SOC software upgrade time is unacceptable.

[0050] Furthermore, even if Figure 5 The communication bandwidth between TBOX-CGW has been increased from CAN to CANFD; however, the communication between ECU-C and ECU C-2 still uses a lower-speed communication method; therefore, the problem between ECU C-2 still exists.

[0051] While automotive EEA architecture has been evolving, from CAN to CANFD (CAN with Flexible Data Rate) to 10M Ethernet to 100M Ethernet to 1G Ethernet, the software size of the ECU has also been continuously increasing. Furthermore, with the trend towards software-defined vehicles, this issue will persist in future electronic and electrical architectures. Taking the next-generation electronic and electrical architecture (computing and communication architecture) as an example... Figure 7 As shown:

[0052] Among them, VIU: Vehicle Interface Unit, VDC: Vehicle Domain Controller, MDC: Mobile Data Center, and CDC: Cocktail Domain Controller.

[0053] Although Ethernet is used for transmission between VIUs, the ECUs connected to the VIUs still use CAN or CANFD as the transmission method. For example... Figure 8 As shown, the ECUs connected to the VIU4 still use CAN and CANFD; even the connected ECU (ECU42) still connects to other ECUs (ECU421, ECU422). Because of this type of inherited communication interface, there are always scenarios in the vehicle where ECUs have limited interface capabilities.

[0054] To address the problems mentioned in the background section, this application provides a software upgrade method; the software upgrade method, apparatus, electronic device, and storage medium of this application are described below with reference to the accompanying drawings.

[0055] Specifically, Figure 9 This is a flowchart illustrating a software upgrade method provided in an embodiment of this application.

[0056] like Figure 9 As shown, this software upgrade method is applied to the communication terminal of an electronic device, and the electronic device includes one or more electronic control units (ECUs). The software upgrade method includes the following steps:

[0057] In step S101, the identifier of the target ECU to be upgraded and the software upgrade package are obtained.

[0058] It is understandable that, such as Figure 10 As shown, this application embodiment can obtain the identifier and software upgrade package of the target ECU to be upgraded. The OTA software upgrade package can be received by the OTA server, which may include cloud functions such as CDN (Content Delivery Network) server, TSP (Telematics Service Provider) server and PKI (Public Key Infrastructure).

[0059] In step S102, if it is determined that the target ECU has an anti-differential function based on the identifier, the software upgrade package is differentially processed to obtain a differential package, and the differential package is packaged into a target format that can trigger the anti-differential function of the target ECU.

[0060] The target format can be packaged according to the compatible format of the target ECU with triggerable differential function, without specific limitations.

[0061] Understandably, to reduce the transmission cost between the OTA server and the TBOX, this application embodiment can adopt a differential method. After the identification identifier confirms that the target ECU has deployed anti-differential function, this application embodiment can perform differential processing on the software upgrade package, and then package the processed differential package in a format that enables the target ECU to trigger the differential function. If the corresponding level parsed by the ECU is "atomic", then no differential processing is required; if the corresponding level parsed by the ECU is "differential", then differential processing is performed.

[0062] For example, such as Figure 11 As shown, data_format_identifier can be defined as follows: each bit corresponds to whether the package is atomic or differential at the current level, where 0x0 represents atomic and 0x1 represents differential.

[0063] In this embodiment, if it is determined whether the target ECU has defined a parsing level based on the identifier; if the target ECU has defined a parsing level, then the target parsing bit of the target ECU in the target format is determined based on the parsing level, and the value of the target parsing bit is set as the target value, wherein the target ECU triggers the inverse differential function after recognizing that the value of the target parsing bit is the target value; if the target ECU has not defined a parsing level, then the value of the target position of the target ECU in the target format is set as the target value, and the target value is moved to the right during transmission, wherein the target ECU triggers the inverse differential function after recognizing that the value of the preset bit is the target value.

[0064] The target value and preset position can be set according to the actual situation; the embodiments of this application can define the parsing level of the target ECU according to the electrical architecture of the electronic device.

[0065] It is understood that the hierarchy in this application embodiment can be defined according to the hierarchy of the in-vehicle EEA architecture, such as 4 levels or 16 levels; when the target ECU defines a parsing hierarchy, the target parsing bit can be confirmed according to the parsing hierarchy, and the parsing bit can be set as the target value; when the target ECU does not define a parsing hierarchy, the target position of the target ECU in the corresponding format is set as the target value, and the target value is shifted during transmission.

[0066] For example, taking level 8 as an example, the data format can be designed as 0x00 = atom, 0x01 = differential; to ensure that the ECU can implement the differential algorithm, "data_format_identifier": "0x04" can be designed, such as... Figure 12 As shown; at this time, TBOX detects the bit corresponding to L0, treats the corresponding OTA software as an atomic package, and does not perform inverse differential processing; simultaneously, TBOX shifts the corresponding data_format_identifier one bit to the right, as shown. Figure 13 As shown; the ECU detects the bit corresponding to L0 and processes the corresponding OTA software as an atomic package without performing inverse differential processing; simultaneously, the CGW (Central Gateway) shifts the corresponding data_format_identifier. The target value can be shifted right or left, and the number of bits shifted can be set according to actual conditions without specific limitations; for example, as Figure 14 As shown, the target value can be shifted one bit to the right or one bit to the left during transmission. After shifting, it can be as follows: Figure 15 As shown.

[0067] In this embodiment of the application, before performing differential processing on the software upgrade package to obtain a differential package, the method further includes: identifying the size of the software upgrade package; if the capacity value is greater than a preset value, then performing differential processing on the software upgrade package to obtain a differential package, otherwise sending the software upgrade package to the target ECU.

[0068] The preset values ​​can be set according to the actual situation, and there are no specific restrictions on them.

[0069] It is understood that the embodiments of this application can consider the software package size of different ECUs and define the deployment location of the differential algorithm based on the software upgrade package capacity, transmission capability, and ECU computing and storage capability. If the required software upgrade package is small, there is no need to deploy the differential capability locally and there is no need to define the ECU level (i.e., implicit definition). If the software upgrade package is large, it is necessary to consider deploying the differential capability on the ECU and each ECU needs to specify its ECU level (i.e., explicit definition). Thus, the embodiments of this application can consider ECU software packages under different conditions, avoid transmission link bottlenecks, and transmit the software version with the minimum transmission cost.

[0070] In step S103, the differential packet in the target format is sent to the target ECU. The target ECU parses the differential packet in the target format and performs inverse differential processing on the differential packet using the inverse differential function to obtain the software upgrade package. The software upgrade package is then used to perform the software upgrade.

[0071] It is understood that, in the embodiments of this application, the processed target format differential packet can be sent to the target ECU. The target ECU detects the bit corresponding to L0, that is, parses the differential packet, and uses the corresponding OTA software as a differential software package for inverse differential processing. After the inverse differential processing is completed, the software is updated.

[0072] According to the software upgrade method proposed in this application, after determining that the target ECU has anti-differential function, the corresponding software upgrade package is differentially processed and packaged according to the target format. The target ECU parses the differential package and performs anti-differential processing, and uses the software package after anti-differential processing to perform software upgrade. Thus, this application embodiment can perform differential processing on the software upgrade package according to the requirements of the ECU, thereby reducing the bandwidth requirements of the ECU, improving transmission efficiency and OTA efficiency, and meeting actual usage needs.

[0073] Next, the software upgrade method of embodiments of this application is described with reference to the accompanying drawings.

[0074] Figure 16 This is a flowchart illustrating the software upgrade method according to an embodiment of this application.

[0075] like Figure 16 As shown, this software upgrade method is applied to the electronic control unit (ECU) of an electronic device. The ECU communicates with the communication terminal of the electronic device. The software upgrade method includes the following steps:

[0076] In step S201, a differential packet of the target format sent by the communication terminal is obtained. When the communication terminal determines that the ECU has an anti-differential function based on the ECU's identifier, it performs differential processing on the ECU's software upgrade package to obtain a differential packet, and packages the differential packet into a target format that can trigger the anti-differential function of the target ECU.

[0077] In step S202, the differential packet of the target format is parsed, and the differential packet is processed by the inverse differential function to obtain the software upgrade package, and the software upgrade package is used to perform software upgrade.

[0078] It should be noted that the foregoing explanation of the software upgrade method embodiment applied to the communication terminal of electronic device also applies to the software upgrade method of this embodiment, and will not be repeated here.

[0079] According to the software upgrade method proposed in this application, after determining that the target ECU has anti-differential function, the corresponding software upgrade package is differentially processed and packaged according to the target format. The target ECU parses the differential package and performs anti-differential processing, and uses the software package after anti-differential processing to perform software upgrade. Thus, this application embodiment can perform differential processing on the software upgrade package according to the requirements of the ECU, thereby reducing the bandwidth requirements of the ECU, improving transmission efficiency and OTA efficiency, and meeting actual usage needs.

[0080] The software upgrade apparatus and electronic device according to embodiments of this application are described below with reference to the accompanying drawings.

[0081] Figure 17 This is a block diagram of a software upgrade device according to an embodiment of this application.

[0082] like Figure 17 As shown, the software upgrade device is applied to the communication terminal of an electronic device, and the electronic device includes one or more electronic control units (ECUs). The software upgrade device 10 includes: an acquisition module 110, a first packaging module 120, and a first upgrade module 130.

[0083] The module 110 is used to acquire the identifier of the target ECU to be upgraded and the software upgrade package; the first packaging module 120 is used to perform differential processing on the software upgrade package to obtain a differential package when it is determined from the identifier that the target ECU has deployed anti-differential function, and to package the differential package into a target format that can trigger the anti-differential function of the target ECU; the first upgrade module 130 is used to send the differential package in the target format to the target ECU, wherein the target ECU parses the differential package in the target format, performs anti-differential processing on the differential package using the anti-differential function to obtain the software upgrade package, and performs software upgrade using the software upgrade package.

[0084] In this embodiment of the application, the first packaging module 120 is further configured to: determine whether the target ECU has defined a parsing level based on the identifier; if the target ECU has defined a parsing level, determine the target parsing bit of the target ECU in the target format based on the parsing level, and set the value of the target parsing bit to the target value, wherein the target ECU triggers the inverse differential function after recognizing that the value of the target parsing bit is the target value; if the target ECU has not defined a parsing level, set the value of the target position of the target ECU in the target format to the target value, and move the position of the target value during transmission, wherein the target ECU triggers the inverse differential function after recognizing that the value of the preset bit is the target value.

[0085] In this embodiment of the application, the first packaging module 120 is further configured to: define the parsing level of the target ECU according to the electrical architecture of the electronic device.

[0086] In this embodiment of the application, the first packaging module 120 is further configured to: identify the capacity value of the software upgrade package; if the capacity value is greater than a preset value, perform differential processing on the software upgrade package to obtain a differential package; otherwise, send the software upgrade package to the target ECU.

[0087] It should be noted that the foregoing explanation of the software upgrade method embodiment also applies to the software upgrade device of this embodiment, and will not be repeated here.

[0088] According to the software upgrade device proposed in this application embodiment, after determining that the target ECU has anti-differential function, the corresponding software upgrade package is differentially processed and packaged according to the target format. The target ECU parses the differential package and performs anti-differential processing, and uses the anti-differential processed software package to perform software upgrade. Thus, this application embodiment can perform differential processing on the software upgrade package according to the requirements of the ECU, thereby reducing the bandwidth requirements of the ECU, improving transmission efficiency and OTA efficiency, and meeting actual usage needs.

[0089] Figure 18 This is a block diagram of a software upgrade device according to an embodiment of this application.

[0090] like Figure 18 As shown, the software upgrade device 20 includes a second packaging module 210 and a second upgrade module 220.

[0091] The second packaging module 210 is used to acquire the differential packet of the target format sent by the communication terminal. When the communication terminal determines that the ECU has an anti-differential function based on the ECU's identifier, it performs differential processing on the ECU's software upgrade package to obtain a differential packet, and packages the differential packet into a target format that can trigger the anti-differential function of the target ECU. The second upgrade module 220 is used to parse the differential packet of the target format, and use the anti-differential function to perform anti-differential processing on the differential packet to obtain a software upgrade package, and use the software upgrade package to perform a software upgrade.

[0092] It should be noted that the foregoing explanation of the software upgrade method embodiment also applies to the software upgrade device of this embodiment, and will not be repeated here.

[0093] According to the software upgrade device proposed in this application embodiment, after determining that the target ECU has anti-differential function, the corresponding software upgrade package is differentially processed and packaged according to the target format. The target ECU parses the differential package and performs anti-differential processing, and uses the anti-differential processed software package to perform software upgrade. Thus, this application embodiment can perform differential processing on the software upgrade package according to the requirements of the ECU, thereby reducing the bandwidth requirements of the ECU, improving transmission efficiency and OTA efficiency, and meeting actual usage needs.

[0094] Figure 19 This is a schematic diagram of the structure of an electronic device according to an embodiment of this application.

[0095] like Figure 19 As shown, the electronic device 30 includes: an electronic control unit (ECU) 310 and a communication terminal 320.

[0096] The electronic control unit (ECU) 310 may include one or more; the target ECU can parse the differential packet in the target format, perform inverse differential processing on the differential packet using the inverse differential function to obtain a software upgrade package, and perform a software upgrade using the software upgrade package; the communication terminal 320 is used to obtain the identifier of the target ECU to be upgraded and the software upgrade package from one or more ECUs; if it is determined from the identifier that the target ECU has the inverse differential function deployed, the software upgrade package is differentially processed to obtain a differential packet, and the differential packet is packaged into a target format that can trigger the inverse differential function of the target ECU; the differential packet in the target format is sent to the target ECU.

[0097] According to the electronic device proposed in the embodiments of this application, after determining that the target ECU has anti-differential function, the corresponding software upgrade package can be differentially processed and packaged according to the target format. The target ECU parses the differential package and performs anti-differential processing, and uses the software package after anti-differential processing to perform software upgrade. Thus, the embodiments of this application can perform differential processing on the software upgrade package according to the requirements of the ECU, thereby reducing the bandwidth requirements of the ECU, improving transmission efficiency and OTA efficiency, and meeting actual use needs.

[0098] This application also provides a computer-readable storage medium storing a computer program thereon, which, when executed by a processor, implements the above-described software upgrade method.

[0099] In this embodiment, the apparatus, electronic device, and computer-readable storage medium or chip are all used to execute the corresponding methods provided above. Therefore, the beneficial effects they can achieve can be referred to the beneficial effects in the corresponding methods provided above, and will not be repeated here.

[0100] In the description of this specification, the references to terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of this application. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples. Moreover, without contradiction, those skilled in the art can combine and integrate the different embodiments or examples described in this specification, as well as the features of different embodiments or examples.

[0101] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the description of this application, "N" means at least two, such as two, three, etc., unless otherwise explicitly specified.

[0102] Any process or method described in the flowchart or otherwise herein can be understood as representing a module, segment, or portion of code comprising one or N executable instructions for implementing custom logic functions or processes, and the scope of the preferred embodiments of this application includes additional implementations in which functions may be performed not in the order shown or discussed, including substantially simultaneously or in reverse order depending on the functions involved, as should be understood by those skilled in the art to which embodiments of this application pertain.

[0103] It should be understood that the various parts of this application can be implemented using hardware, software, firmware, or a combination thereof. In the above embodiments, the N steps or methods can be implemented using software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, it can be implemented using any one or a combination of the following techniques known in the art: discrete logic circuits having logic gates for implementing logical functions on data signals, application-specific integrated circuits (ASICs) having suitable combinational logic gates, programmable gate arrays (FPGAs), field-programmable gate arrays (FPGAs), etc.

[0104] Those skilled in the art will understand that all or part of the steps of the methods in the above embodiments can be implemented by a program instructing related hardware. The program can be stored in a computer-readable storage medium, and when executed, the program includes one or a combination of the steps of the method embodiments.

Claims

1. A software upgrade method, characterized in that, The method is applied to the communication terminal of an electronic device, and the electronic device includes one or more electronic control units (ECUs), wherein the method includes the following steps: Obtain the identifier and software upgrade package of the target ECU to be upgraded; If the target ECU is determined to have an anti-differential function based on the identifier, then the software upgrade package is differentially processed to obtain a differential package, and the differential package is packaged into a target format that allows the target ECU to trigger the anti-differential function, wherein the differential package includes: If it is determined from the identifier whether the target ECU has a defined parsing hierarchy; If the target ECU defines a parsing level, then the target parsing bit of the target ECU in the target format is determined according to the parsing level, and the value of the target parsing bit is set as the target value. The target ECU triggers the inverse differential function after recognizing that the value of the target parsing bit is the target value. If the target ECU does not define a parsing level, the value of the target position of the target ECU in the target format is set as the target value, and the position of the target value is moved during transmission. The target ECU triggers the inverse differential function after recognizing that the value of the preset bit is the target value. The target format differential packet is sent to the target ECU, wherein the target ECU parses the target format differential packet, performs inverse differential processing on the differential packet using the inverse differential function to obtain the software upgrade package, and performs a software upgrade using the software upgrade package.

2. The software upgrade method according to claim 1, characterized in that, Before determining the target ECU's target parsing bits in the target format based on the parsing level, the method further includes: The resolution level of the target ECU is defined according to the electrical architecture of the electronic device.

3. The software upgrade method according to claim 1, characterized in that, Before performing differential processing on the software upgrade package to obtain a differential package, the method further includes: Identify the capacity value of the software upgrade package; If the capacity value is greater than the preset value, the software upgrade package is differentially processed to obtain a differential package; otherwise, the software upgrade package is sent to the target ECU.

4. A software upgrade method, characterized in that, The method is applied to the electronic control unit (ECU) of an electronic device, the ECU communicating with the communication terminal of the electronic device, wherein the method includes the following steps: The communication terminal obtains a differential packet in the target format sent by the communication terminal. When the communication terminal determines that the ECU has an anti-differential function deployed based on the ECU's identifier, it performs differential processing on the ECU's software upgrade package to obtain a differential packet, and packages the differential packet into a target format that allows the target ECU to trigger the anti-differential function. This includes: If it is determined from the identifier whether the target ECU has a defined parsing hierarchy; If the target ECU defines a parsing level, then the target parsing bit of the target ECU in the target format is determined according to the parsing level, and the value of the target parsing bit is set as the target value. The target ECU triggers the inverse differential function after recognizing that the value of the target parsing bit is the target value. If the target ECU does not define a parsing level, the value of the target position of the target ECU in the target format is set as the target value, and the position of the target value is moved during transmission. The target ECU triggers the inverse differential function after recognizing that the value of the preset bit is the target value. The differential packet of the target format is parsed, and the differential packet is processed by the inverse differential function to obtain the software upgrade package. The software upgrade package is then used to perform the software upgrade.

5. A software upgrade device, characterized in that, The device is used in a communication terminal of an electronic device, and the electronic device includes one or more electronic control units (ECUs), wherein the device includes: The acquisition module is used to acquire the identifier of the target ECU to be upgraded and the software upgrade package; The first packaging module is used to perform differential processing on the software upgrade package to obtain a differential package when it is determined from the identifier that the target ECU has deployed anti-differential function, and to package the differential package into a target format that can trigger the anti-differential function of the target ECU. The first packaging module is further used for: If it is determined from the identifier whether the target ECU has a defined parsing hierarchy; If the target ECU defines a parsing level, then the target parsing bit of the target ECU in the target format is determined according to the parsing level, and the value of the target parsing bit is set as the target value. The target ECU triggers the inverse differential function after recognizing that the value of the target parsing bit is the target value. If the target ECU does not define a parsing level, the value of the target position of the target ECU in the target format is set as the target value, and the position of the target value is moved during transmission. The target ECU triggers the inverse differential function after recognizing that the value of the preset bit is the target value. The first upgrade module is used to send the differential packet of the target format to the target ECU, wherein the target ECU parses the differential packet of the target format, performs inverse differential processing on the differential packet using the inverse differential function to obtain the software upgrade package, and performs a software upgrade using the software upgrade package.

6. A software upgrade device, characterized in that, The device is applied to the electronic control unit (ECU) of an electronic device, the ECU communicating with the communication terminal of the electronic device, wherein the device includes: The second packaging module is used to obtain a differential packet of the target format sent by the communication terminal. When the communication terminal determines that the ECU has an anti-differential function deployed based on the ECU's identifier, it performs differential processing on the ECU's software upgrade package to obtain a differential packet, and packages the differential packet into a target format that allows the target ECU to trigger the anti-differential function. This includes: If it is determined from the identifier whether the target ECU has a defined parsing hierarchy; If the target ECU defines a parsing level, then the target parsing bit of the target ECU in the target format is determined according to the parsing level, and the value of the target parsing bit is set as the target value. The target ECU triggers the inverse differential function after recognizing that the value of the target parsing bit is the target value. If the target ECU does not define a parsing level, the value of the target position of the target ECU in the target format is set as the target value, and the position of the target value is moved during transmission. The target ECU triggers the inverse differential function after recognizing that the value of the preset bit is the target value. The second upgrade module is used to parse the differential packet of the target format, and use the inverse differential function to perform inverse differential processing on the differential packet to obtain the software upgrade package, and use the software upgrade package to perform software upgrade.

7. An electronic device, characterized in that, include: One or more electronic control units (ECUs); The communication terminal obtains the identifier and software upgrade package of the target ECU to be upgraded from one or more ECUs; If the target ECU is determined to have an anti-differential function based on the identifier, then the software upgrade package is differentially processed to obtain a differential package, and the differential package is packaged into a target format that allows the target ECU to trigger the anti-differential function, wherein the differential package includes: If it is determined from the identifier whether the target ECU has a defined parsing hierarchy; If the target ECU defines a parsing level, then the target parsing bit of the target ECU in the target format is determined according to the parsing level, and the value of the target parsing bit is set as the target value. The target ECU triggers the inverse differential function after recognizing that the value of the target parsing bit is the target value. If the target ECU does not define a parsing level, the value of the target position of the target ECU in the target format is set as the target value, and the position of the target value is moved during transmission. The target ECU triggers the inverse differential function after recognizing that the value of the preset bit is the target value. Send the differential packet in the target format to the target ECU; The target ECU parses the differential packet of the target format, performs inverse differential processing on the differential packet using the inverse differential function to obtain the software upgrade package, and performs a software upgrade using the software upgrade package.

8. A computer-readable storage medium having a computer program stored thereon, characterized in that, The program is executed by the processor to implement the software upgrade method as described in any one of claims 1-4.