Firmware updating method and device in vehicle OTA, equipment and storage medium

Through differential upgrade technology, differential packages are generated and applied to upgrade the vehicle firmware, which solves the problem of upgrade failure caused by communication abnormalities during the single-zone full address upgrade process, achieves a faster and reliable upgrade process, and optimizes user experience and storage space utilization.

CN119668664APending Publication Date: 2025-03-21DONGFENG AUTOMOBILE ELECTRONICS
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411726566.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-28
Publication Date
2025-03-21

AI Technical Summary

Technical Problem

During the full address upgrade of a single zone, when upgrading larger program files or font database data, communication exceptions may cause the upgrade process to be interrupted, and the entire upgrade process needs to be restarted, resulting in the extension of the upgrade time of a single controller and the increase of the maintenance cost of the equipment and the waiting time of the user.

Method used

Differential upgrade technology is adopted to obtain the current firmware version on the device side and the latest firmware version on the server side, generate differential packages between the firmware versions, and fuse the decompressed data with the current firmware through the differential recovery algorithm to generate a new firmware to complete the upgrade operation.

Benefits of technology

It significantly reduces the amount of data transmission and the time required for upgrades, reduces the risk of upgrade failure due to communication abnormalities, optimizes the upgrade experience, and effectively utilizes limited storage space.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119668664A_ABST
    Figure CN119668664A_ABST
Patent Text Reader

Abstract

The invention discloses a firmware updating method, device and equipment in vehicle OTA and a storage medium, and relates to the technical field of vehicle upgrading and renewing.The method comprises the steps that the current firmware version of an equipment side is obtained and compared with the latest firmware version of a server side, and a difference package between the firmware versions is generated based on the comparison result; and the server side pushes the differential packet to the equipment side and decompresses the differential packet, and fuses the decompressed data with the current firmware based on a differential recovery algorithm to generate new firmware so as to complete upgrading operation. The server side pushes the differential packet to the equipment side and decompresses the differential packet, specifically comprising the following steps: the server side pushes the differential packet to the equipment side based on a cloud transmission mode; and the equipment end receives the differential packet and decompresses the differential packet. According to the method and the device, the differential upgrading technology is adopted, so that the data transmission quantity is remarkably reduced, the time required for upgrading is shortened, and meanwhile, the risk of upgrading failure caused by abnormal communication is also reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of vehicle upgrade and update technology, and specifically to a vehicle OTA firmware update method, device, equipment and storage medium. Background Art

[0002] Currently, the device firmware is generally updated through a single-zone full-address upgrade. Specifically, the single-zone full-address upgrade method divides the device's storage space into a Bootloader area, an APP (Application) area, and a parameter area. The Bootloader area is used to load the boot program when starting the device, the APP area is used to store the application code, and the parameter area is used to save some necessary configuration parameters. When a firmware upgrade is required, the device will start executing from the Bootloader area, jump to the APP area after verification, and if an upgrade request is received, the Bootloader will receive the new firmware, erase the original APP area, and load the new version of the firmware after verifying that the new firmware is correct.

[0003] However, during the single-zone full-address upgrade process, the most prominent problem is when upgrading larger program files or font data, such as the firmware update of the vehicle cockpit controller. It may take about 30 minutes or even longer to update the firmware within the full address range through the conventional CAN (Controller Area Network) bus. During this process, if a communication anomaly occurs, such as interruption of the communication physical link and loss of transmission signal frames, the upgrade process may be interrupted, and the entire upgrade process needs to be restarted, which not only prolongs the upgrade time of a single controller, but also increases the maintenance cost of the equipment and the user's waiting time in the event of multiple failed attempts, thereby reducing the user experience. Summary of the invention

[0004] The present application provides a vehicle OTA firmware update method, device, equipment and storage medium, which significantly reduces the amount of data transmission and shortens the time required for upgrading by adopting differential upgrading technology, while also reducing the risk of upgrading failure due to communication abnormalities.

[0005] In a first aspect, an embodiment of the present application provides a vehicle OTA firmware update method, the vehicle OTA firmware update method comprising:

[0006] Obtain the current firmware version of the device and compare it with the latest firmware version of the server to generate a differential package between the firmware versions based on the comparison result;

[0007] The server pushes the differential package to the device and decompresses it, merges the decompressed data with the current firmware based on a differential recovery algorithm, and generates a new firmware to complete the upgrade operation.

[0008] In combination with the first aspect, in one implementation, obtaining the current firmware version of the device and comparing it with the latest firmware version of the server specifically includes:

[0009] When the device to be upgraded starts, the current firmware version of the device is read through the Bootloader and the read current firmware version is sent to the server;

[0010] The server side calculates the difference between the latest firmware version and the received current firmware version based on the comparison between the two versions, and packages the data corresponding to the difference part into a differential package.

[0011] In combination with the first aspect, in one implementation, the server side pushes the differential package to the device side and decompresses it, specifically including:

[0012] The server pushes the differential packet to the device based on the cloud transmission method;

[0013] The device receives the differential packet and decompresses the differential packet.

[0014] In combination with the first aspect, in one implementation, the device receives the differential packet and performs a decompression operation on the differential packet, specifically including:

[0015] The device initializes the differential packet receiving program and erases the APP area;

[0016] The device receives the differential packet and performs integrity check on the received differential packet:

[0017] If the differential packet integrity check fails, the server generates and sends the differential packet again, and the device receives the differential packet again and performs integrity check on the received differential packet again;

[0018] If the differential packet integrity check succeeds, the differential packet is decompressed.

[0019] In combination with the first aspect, in one implementation, the step of fusing the decompressed data with the current firmware based on a differential recovery algorithm to generate a new firmware to complete the upgrade operation specifically includes:

[0020] The device uses a differential recovery algorithm and, based on the data flags in the differential packet, merges the decompressed data with the current firmware on the device to generate a new firmware.

[0021] Write the generated new firmware to the specified application area.

[0022] In conjunction with the first aspect, in one implementation, writing the generated new firmware to the specified application area specifically includes:

[0023] Verify the parameters of the generated new firmware:

[0024] If the verification is successful, the new firmware will be written to the specified APP area;

[0025] If the verification fails, roll back to the original firmware.

[0026] In combination with the first aspect, in one implementation, after writing the generated new firmware to the specified application area, the method further includes:

[0027] After the device restarts, it jumps from the Bootloader to the APP area where the new firmware is located to execute the new application.

[0028] In a second aspect, an embodiment of the present application provides a vehicle OTA firmware update device, wherein the vehicle OTA firmware update device comprises:

[0029] A generation module, which is used to obtain the current firmware version of the device and compare it with the latest firmware version of the server to generate a differential package between the firmware versions based on the comparison result;

[0030] The upgrade module is used to drive the server to push the differential package to the device and decompress it, merge the decompressed data with the current firmware based on the differential recovery algorithm, and generate a new firmware to complete the upgrade operation.

[0031] In the third aspect, an embodiment of the present application provides a vehicle OTA firmware update device, wherein the vehicle OTA firmware update device includes a processor, a memory, and a vehicle OTA firmware update program stored in the memory and executable by the processor, wherein when the vehicle OTA firmware update program is executed by the processor, the steps of the above-mentioned vehicle OTA firmware update method are implemented.

[0032] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, on which a vehicle OTA firmware update program is stored. When the vehicle OTA firmware update program is executed by a processor, the steps of the above-mentioned vehicle OTA firmware update method are implemented.

[0033] The beneficial effects brought by the technical solution provided in the embodiments of the present application include:

[0034] It can effectively solve the problems existing in the full-address upgrade of a single zone. By adopting the differential upgrade technology, only the difference between the new and old firmware is transmitted, rather than the entire firmware, thereby significantly reducing the amount of data transmission and shortening the time required for the upgrade. It also reduces the risk of upgrade failure due to communication anomalies. In addition, the differential upgrade technology can also effectively utilize limited storage space and is suitable for device environments with small memory space. This application optimizes the upgrade experience by reducing the amount of data transmission and improving the upgrade success rate, and performs particularly well when the device memory space is limited. BRIEF DESCRIPTION OF THE DRAWINGS

[0035] Figure 1 This is a flowchart of the vehicle OTA firmware update method of this application;

[0036] Figure 2 This is a schematic diagram of the functional modules of the firmware update device in the vehicle OTA of this application;

[0037] Figure 3 This is a schematic diagram of the hardware structure of the firmware update device in the vehicle OTA of this application. DETAILED DESCRIPTION

[0038] In order to enable those skilled in the art to better understand the solution of the present application, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0039] In order to make the objectives, technical solutions and advantages of the present application clearer, the implementation methods of the present application will be further described in detail below with reference to the accompanying drawings.

[0040] On the first aspect, an embodiment of the present application provides a method for updating firmware in vehicle OTA, which solves the problems encountered in the existing single-zone full-address upgrade process through incremental differential upgrade technology, especially for the upgrade of larger program files or animations, theme packages, patches, fonts and other data (such as cockpit controllers). By only transmitting the difference between the new and old firmware instead of the entire firmware, the differential upgrade technology significantly reduces the amount of data transmission, speeds up download speeds, and saves memory space. In addition, the differential upgrade technology improves the reliability and robustness of the upgrade process and reduces the risk of upgrade interruption due to communication abnormalities.

[0041] In one embodiment, referring to Figure 1 , Figure 1 This is a flow chart of the vehicle OTA firmware update method of this application. Figure 1As shown, the vehicle OTA firmware update method includes:

[0042] S1: Obtain the current firmware version of the device and compare it with the latest firmware version of the server to generate a differential package between the firmware versions based on the comparison result;

[0043] S2: The server pushes the differential package to the device and decompresses it. Based on the differential recovery algorithm, the decompressed data is merged with the current firmware to generate a new firmware to complete the upgrade operation.

[0044] Further, in one embodiment, obtaining the current firmware version of the device and comparing it with the latest firmware version of the server specifically includes:

[0045] S101: When the device to be upgraded is started, the current firmware version of the device is read through the Bootloader, and the read current firmware version is sent to the server;

[0046] That is, you first need to confirm the current firmware version. When the device starts, the Bootloader reads the current firmware version of the device to confirm the current firmware version.

[0047] S102: The server side calculates the difference between the latest firmware version and the received current firmware version based on the comparison between the two versions, and packages the data corresponding to the difference part into a differential package.

[0048] That is, the server generates a differential package. After the device sends the current firmware version to the server, the server compares the latest firmware version with the firmware version reported by the device, calculates the difference between the two, and packages the data corresponding to the difference into a differential package.

[0049] Furthermore, in one embodiment, the server side pushes the differential package to the device side and decompresses it, specifically including:

[0050] S201: The server side pushes the differential package to the device side based on the cloud transmission mode; that is, the differential package is pushed, and the server side pushes the differential package to the device side through the cloud transmission mode;

[0051] S202: The device receives the differential packet and decompresses the differential packet. That is, the device receives the differential packet and decompresses the differential packet.

[0052] Furthermore, the device receives the differential packet and decompresses the differential packet, which specifically includes:

[0053] S2021: The device initializes the differential packet receiving program and erases the APP area;

[0054] S2022: The device receives the differential packet and performs integrity check on the received differential packet:

[0055] If the differential packet integrity check fails, the server generates and sends the differential packet again, and the device receives the differential packet again and performs integrity check on the received differential packet again;

[0056] If the differential packet integrity check succeeds, the differential packet is decompressed.

[0057] Furthermore, in one embodiment, the decompressed data is merged with the current firmware based on a differential recovery algorithm to generate a new firmware to complete the upgrade operation, specifically including:

[0058] S211: The device uses a differential recovery algorithm and merges the decompressed data with the current firmware of the device according to the data flag in the differential packet to generate a new firmware; that is, the device uses a differential recovery algorithm and merges the decompressed data with the current firmware of the device according to the data flag in the differential packet to generate a new firmware;

[0059] S212: Write the generated new firmware into the specified application area.

[0060] Among them, the generated new firmware is written to the specified application area, including:

[0061] Verify the parameters of the generated new firmware:

[0062] If the verification is successful, the new firmware will be written to the specified APP area;

[0063] If the verification fails, roll back to the original firmware.

[0064] Specifically, for the generated new firmware, relevant parameter verification is also required. After confirmation, the new firmware is written into the specified APP area.

[0065] Furthermore, after writing the generated new firmware to the designated application area, the method further includes: after the device is restarted, jumping from the Bootloader to the APP area where the new firmware is located to execute the new application program.

[0066] For example, in the past, manually upgrading the firmware of 100 cockpit controllers may take more than 30 minutes per unit, which takes more than 50 hours in total. However, after adopting the differential incremental data OTA technology of this application, the upgrade time for each unit is shortened to 5 minutes, and the overall time is reduced to about 8.3 hours, saving nearly 42 hours. Compared with traditional upgrade methods, the differential incremental data OTA method of this application has the following significant improvements: improved efficiency, by transmitting only the difference part, greatly reducing the time required for a single upgrade; resource conservation, reducing the amount of data transmission, and reducing network load; experience improvement, fast and reliable upgrade process, reducing user waiting time.

[0067] The vehicle OTA firmware update method of the embodiment of the present application can effectively solve the problems existing in the single-zone full-address upgrade. By adopting the differential upgrade technology, only the difference between the new and old firmware is transmitted, rather than the entire firmware, thereby significantly reducing the amount of data transmission and shortening the time required for the upgrade. At the same time, it also reduces the risk of upgrade failure due to communication anomalies. In addition, the differential upgrade technology can also effectively utilize limited storage space and is suitable for device environments with small memory space. The present application optimizes the upgrade experience by reducing the amount of data transmission and improving the upgrade success rate, and performs particularly well when the device memory space is limited.

[0068] In a second aspect, an embodiment of the present application also provides a vehicle OTA firmware update device.

[0069] In one embodiment, referring to Figure 2 , Figure 2 This is a schematic diagram of the functional modules of the vehicle OTA firmware update device in this application. Figure 2 As shown, the firmware update device in the vehicle OTA includes: a generation module and an upgrade module.

[0070] The generation module is used to obtain the current firmware version of the device and compare it with the latest firmware version of the server to generate a differential package between the firmware versions based on the comparison result; the upgrade module is used to drive the server to push the differential package to the device and decompress it, and merge the decompressed data with the current firmware based on the differential recovery algorithm to generate a new firmware to complete the upgrade operation.

[0071] In this application, the current firmware version of the device is obtained and compared with the latest firmware version of the server, including:

[0072] When the device to be upgraded starts, the current firmware version of the device is read through the Bootloader and the read current firmware version is sent to the server;

[0073] The server side calculates the difference between the latest firmware version and the received current firmware version based on the comparison between the two versions, and packages the data corresponding to the difference part into a differential package.

[0074] In this application, the server pushes the differential package to the device and decompresses it, specifically including:

[0075] The server pushes the differential packet to the device based on the cloud transmission method;

[0076] The device receives the differential packet and decompresses the differential packet.

[0077] In this application, the device receives the differential packet and decompresses the differential packet, which specifically includes:

[0078] The device initializes the differential packet receiving program and erases the APP area;

[0079] The device receives the differential packet and performs integrity check on the received differential packet:

[0080] If the differential packet integrity check fails, the server generates and sends the differential packet again, and the device receives the differential packet again and performs integrity check on the received differential packet again;

[0081] If the differential packet integrity check succeeds, the differential packet is decompressed.

[0082] In this application, the decompressed data is merged with the current firmware based on the differential recovery algorithm to generate a new firmware to complete the upgrade operation, which specifically includes:

[0083] The device uses a differential recovery algorithm and, based on the data flags in the differential packet, merges the decompressed data with the current firmware on the device to generate a new firmware.

[0084] Write the generated new firmware to the specified application area.

[0085] In this application, the generated new firmware is written to the specified application area, including:

[0086] Verify the parameters of the generated new firmware:

[0087] If the verification is successful, the new firmware will be written to the specified APP area;

[0088] If the verification fails, roll back to the original firmware.

[0089] In this application, after writing the generated new firmware to the specified application area, it also includes:

[0090] After the device restarts, it jumps from the Bootloader to the APP area where the new firmware is located to execute the new application.

[0091] In a third aspect, an embodiment of the present application provides a vehicle OTA firmware update device, which may be a personal computer (PC), a laptop computer, a server, or other device with data processing capabilities.

[0092] Reference Figure 3 , Figure 3 Schematic diagram of the hardware structure of the vehicle OTA firmware update device involved in the embodiment of the present application. In the embodiment of the present application, the vehicle OTA firmware update device may include a processor, a memory, a communication interface and a communication bus.

[0093] The communication bus may be of any type and is used to interconnect the processor, the memory, and the communication interface.

[0094] The communication interface includes input / output (I / O) interfaces, physical interfaces, and logical interfaces, which are used to interconnect the devices inside the vehicle OTA firmware update device, and interfaces used to interconnect the vehicle OTA firmware update device with other devices (such as other computing devices or user devices). The physical interface can be an Ethernet interface, a fiber optic interface, an ATM interface, etc.; the user device can be a display, a keyboard, etc.

[0095] The memory can be various types of storage media, such as random access memory (RAM), read-only memory (ROM), non-volatile RAM (NVRAM), flash memory, optical storage, hard disk, programmable ROM (PROM), erasable PROM (EPROM), electrically erasable PROM (EEPROM), etc.

[0096] The processor may be a general-purpose processor, which may call the vehicle OTA firmware update program stored in the memory and execute the vehicle OTA firmware update method provided in the embodiment of the present application. For example, the general-purpose processor may be a central processing unit (CPU). The method executed when the vehicle OTA firmware update program is called may refer to the various embodiments of the vehicle OTA firmware update method of the present application, which will not be repeated here.

[0097] Those skilled in the art will understand that Figure 3The hardware structure shown in the figure does not constitute a limitation on the present application, and may include more or less components than shown in the figure, or combine certain components, or arrange the components differently.

[0098] In a fourth aspect, an embodiment of the present application also provides a computer-readable storage medium.

[0099] The computer-readable storage medium of the present application stores a vehicle OTA firmware update program, wherein when the vehicle OTA firmware update program is executed by a processor, the steps of the vehicle OTA firmware update method as described above are implemented.

[0100] Among them, the method implemented when the firmware update program in the vehicle OTA is executed can refer to the various embodiments of the firmware update method in the vehicle OTA of the present application, and will not be repeated here.

[0101] The terms "including" and "having" and any variations thereof in the specification and claims of this application and the above-mentioned drawings are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device that includes a series of steps or units is not limited to the listed steps or units, but optionally includes steps or units that are not listed, or optionally includes other steps or units inherent to these processes, methods, products or devices. The terms "first", "second" and "third" are used to distinguish different objects, etc., and do not represent a sequence, nor do they limit "first", "second" and "third" to different types.

[0102] In the description of the embodiments of the present application, "exemplary", "for example" or "for example" are used to indicate examples, illustrations or descriptions. Any embodiment or design described as "exemplary", "for example" or "for example" in the embodiments of the present application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of words such as "exemplary", "for example" or "for example" is intended to present related concepts in a specific way.

[0103] In the description of the embodiments of the present application, unless otherwise specified, “ / ” means or, for example, A / B can mean A or B; the “and / or” in the text is merely a description of the association relationship of associated objects, indicating that three relationships may exist, for example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. In addition, in the description of the embodiments of the present application, “multiple” refers to two or more than two.

[0104] In some processes described in the embodiments of the present application, multiple operations or steps that appear in a specific order are included, but it should be understood that these operations or steps may not be executed in the order in which they appear in the embodiments of the present application or in parallel, and the sequence number of the operation is only used to distinguish the different operations, and the sequence number itself does not represent any execution order. In addition, these processes may include more or fewer operations, and these operations or steps may be executed in sequence or in parallel, and these operations or steps may be combined.

[0105] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present application is essentially or the part that contributes to the prior art can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, disk, CD) as described above, and includes a number of instructions for a terminal device to execute the methods described in each embodiment of the present application.

[0106] The above are only preferred embodiments of the present application, and are not intended to limit the patent scope of the present application. Any equivalent structure or equivalent process transformation made using the contents of the present application specification and drawings, or directly or indirectly applied in other related technical fields, are also included in the patent protection scope of the present application.

Claims

1. A vehicle OTA firmware update method, characterized in that: The vehicle OTA firmware update method includes: Obtain the current firmware version of the device and compare it with the latest firmware version of the server to generate a differential package between the firmware versions based on the comparison result; The server pushes the differential package to the device and decompresses it, merges the decompressed data with the current firmware based on a differential recovery algorithm, and generates a new firmware to complete the upgrade operation.

2. A vehicle OTA firmware update method as claimed in claim 1, characterized in that: The obtaining of the current firmware version of the device and comparing it with the latest firmware version of the server specifically includes: When the device to be upgraded starts, the current firmware version of the device is read through the Bootloader and the read current firmware version is sent to the server; The server side calculates the difference between the latest firmware version and the received current firmware version based on the comparison between the two versions, and packages the data corresponding to the difference part into a differential package.

3. A vehicle OTA firmware update method as claimed in claim 1, characterized in that: The server side pushes the differential package to the device side and decompresses it, specifically including: The server pushes the differential packet to the device based on the cloud transmission method; The device receives the differential packet and decompresses the differential packet.

4. A vehicle OTA firmware update method as claimed in claim 3, characterized in that: The device receives the differential packet and decompresses the differential packet, specifically including: The device initializes the differential packet receiving program and erases the APP area; The device receives the differential packet and performs integrity check on the received differential packet: If the differential packet integrity check fails, the server generates and sends the differential packet again, and the device receives the differential packet again and performs integrity check on the received differential packet again; If the differential packet integrity check succeeds, the differential packet is decompressed.

5. The vehicle OTA firmware update method according to claim 1, characterized in that: The decompressed data is merged with the current firmware based on the differential recovery algorithm to generate a new firmware to complete the upgrade operation, which specifically includes: The device uses a differential recovery algorithm and, based on the data flags in the differential packet, merges the decompressed data with the current firmware on the device to generate a new firmware. Write the generated new firmware to the specified application area.

6. A vehicle OTA firmware update method as claimed in claim 5, characterized in that: Writing the generated new firmware to the specified application area specifically includes: Verify the parameters of the generated new firmware: If the verification is successful, the new firmware will be written to the specified APP area; If the verification fails, roll back to the original firmware.

7. A vehicle OTA firmware update method as claimed in claim 5, characterized in that: After writing the generated new firmware to the specified application area, it also includes: After the device restarts, it jumps from the Bootloader to the APP area where the new firmware is located to execute the new application.

8. A vehicle OTA firmware update device, characterized in that: The vehicle OTA firmware update device includes: A generation module, which is used to obtain the current firmware version of the device and compare it with the latest firmware version of the server to generate a differential package between the firmware versions based on the comparison result; The upgrade module is used to drive the server to push the differential package to the device and decompress it, merge the decompressed data with the current firmware based on the differential recovery algorithm, and generate a new firmware to complete the upgrade operation.

9. A vehicle OTA firmware update device, characterized in that: The vehicle OTA firmware update device includes a processor, a memory, and a vehicle OTA firmware update program stored in the memory and executable by the processor, wherein when the vehicle OTA firmware update program is executed by the processor, the steps of the vehicle OTA firmware update method as described in any one of claims 1 to 7 are implemented.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a vehicle OTA firmware update program, wherein when the vehicle OTA firmware update program is executed by a processor, the steps of the vehicle OTA firmware update method as described in any one of claims 1 to 7 are implemented.