Firmware upgrading method, device and equipment

By receiving partition inquiry requests and feedback that the number of target partitions is a single, the vehicle terminal can achieve a single download and upgrade of the firmware to be upgraded in at least two target partitions, solving the problem of inefficiency in the traditional firmware upgrade process and significantly improving the firmware upgrade efficiency.

CN119806594AActive Publication Date: 2025-04-11CHONGQING CHANGAN TECH CO LTD
View PDF 14 Cites 0 Cited by

Patent Information

Application Number
CN202510061028.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-15
Publication Date
2025-04-11
Estimated Expiration
2045-01-15

AI Technical Summary

Technical Problem

In the traditional firmware upgrade process, firmware packages need to be downloaded twice and written to different partitions of the vehicle, resulting in inefficient upgrades.

Method used

By receiving the partition inquiry request sent by the sending end, the target partition number of the vehicle terminal is obtained, and feedback information is sent to the sending end, carrying information that represents the single target partition number. Then, the firmware packet data responded by the sending end is received, and based on the data, the firmware to be upgraded to at least two target partitions is upgraded.

Benefits of technology

The firmware upgrade process is simplified, and the operation of re-downloading of firmware packets after partition upgrade is completed in the conventional upgrade process is skipped, and a single download and upgrade of the firmware to be upgraded in at least two target partitions is achieved, thereby improving the efficiency of the firmware upgrade process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119806594A_ABST
    Figure CN119806594A_ABST
Patent Text Reader

Abstract

The invention discloses a firmware upgrading method, device and equipment, the method is applied to a vehicle terminal, and the method comprises the following steps: receiving a partition inquiry request sent by a sending end; the partition inquiry request is used for acquiring the number of at least two target partitions of the vehicle terminal; the target partition is a storage partition storing firmware to be upgraded; sending feedback information to the sending end; the feedback information carries quantity information representing that the quantity of the target partitions is single; receiving firmware packet data sent by the sending end in response to the feedback information; and upgrading the to-be-upgraded firmware corresponding to the at least two target partitions based on the firmware package data. Therefore, the flow is simplified by feeding back the number of the target partitions as a single partition, and the vehicle terminal can skip the step of downloading the firmware package mirror image for multiple times, so that the overall efficiency of the firmware upgrading process is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of automotive embedded systems, and in particular to a firmware upgrade method, device, equipment, storage medium and product. Background Art

[0002] As core components, the operating system and cockpit system of intelligent vehicles are usually stored in the vehicle's hardware firmware. In the automobile production process, firmware upgrades usually take a long time. In the traditional firmware upgrade process, the firmware package needs to be downloaded twice and written to different partitions of the vehicle. This process is relatively lengthy, resulting in low firmware upgrade efficiency. Therefore, how to optimize the firmware upgrade process and improve the efficiency of the firmware upgrade process has become an important issue that needs to be solved. Summary of the invention

[0003] In view of this, the embodiments of the present application at least provide a firmware upgrade method, device and equipment.

[0004] The technical solution of the embodiment of the present application is as follows:

[0005] In the first aspect, an embodiment of the present application provides a firmware upgrade method, which is applied to a vehicle terminal, and the firmware upgrade method includes: receiving a partition query request sent by a sending end; the partition query request is used to obtain the number of at least two target partitions of the vehicle terminal; the target partition is a storage partition storing firmware to be upgraded; sending feedback information to the sending end; the feedback information carries quantity information representing that the number of target partitions is single; receiving firmware package data sent by the sending end in response to the feedback information; based on the firmware package data, upgrading the firmware to be upgraded corresponding to the at least two target partitions respectively.

[0006] In this way, after receiving the target partition number request sent by the sending end for inquiring about the storage partition storing the firmware to be upgraded, the vehicle terminal feeds back to the sending end that the number of target partitions is single. Subsequently, the vehicle terminal receives the firmware package data sent by the sending end, and based on the received firmware package data, upgrades the firmware to be upgraded corresponding to at least two target partitions respectively. By feeding back the number of target partitions as single to simplify the process, the vehicle terminal can skip the operation of re-downloading the firmware data package after the partition upgrade is completed in the conventional upgrade process, and can upgrade the firmware to be upgraded in at least two target partitions by downloading the firmware package data once, thereby improving the efficiency of the firmware upgrade process.

[0007] Furthermore, the firmware upgrade method further includes: receiving virtual partition information corresponding to the name information of at least two target partitions sent by the sending end; the virtual partition information includes the virtual partition name corresponding to the target partition, and priority identification information indicating the priority order. Based on the firmware package data, the firmware to be upgraded corresponding to the at least two target partitions is upgraded, including: based on the virtual partition names of the at least two target partitions and the priority identification information of the at least two target partitions, the firmware to be upgraded corresponding to the at least two target partitions is upgraded through the firmware package data.

[0008] In this way, the virtual partition names corresponding to at least two target partitions and the priority identification information indicating the priority order sent by the receiving end are received. By introducing the virtual partition names, a unique identifier is provided for each target partition, which effectively reduces the upgrade errors caused by name confusion or duplication, and improves the efficiency of the firmware upgrade process. In addition, the priority identification information can enable the partition where the key functions or data are located to be updated first, thereby improving the stability of the system.

[0009] Furthermore, before receiving the partition query request sent by the sending end, it includes: determining a preset firmware upgrade acceleration state; and when the firmware upgrade acceleration state is enabled, determining quantity information indicating that the number of target partitions is a single number.

[0010] In this way, by presetting the firmware upgrade acceleration state and determining that the number of target partitions is single when the state is enabled, the process of the firmware upgrade process can be simplified. The redundant steps of downloading the same firmware package image multiple times are effectively reduced, thereby significantly reducing the time required for the firmware upgrade process and improving the efficiency of the firmware upgrade process.

[0011] Furthermore, based on the virtual partition names of at least two target partitions and the priority identification information of at least two target partitions, the firmware to be upgraded corresponding to the at least two target partitions are upgraded through the firmware package data, including: determining the priorities of the at least two target partitions based on the priority identification information of the at least two target partitions; and upgrading the firmware to be upgraded corresponding to the at least two target partitions in sequence based on the priorities of the at least two target partitions, the virtual partition names of the at least two target partitions and the firmware package data.

[0012] In this way, the priority upgrade order of the firmware to be upgraded in the target partition is determined based on the priority identification information of at least two target partitions, and then the firmware to be upgraded in the preset target is upgraded in the priority upgrade order according to the virtual partition name and firmware package data of the target partition. The orderliness and accuracy of the firmware upgrade are achieved, the upgrade efficiency is improved, and the time and resources wasted due to repeated downloading of firmware data packets are effectively reduced.

[0013] Furthermore, based on the priorities of at least two target partitions, the virtual partition names of at least two target partitions and the firmware package data, the firmware to be upgraded corresponding to the at least two target partitions are upgraded in sequence, including: based on the priorities of at least two target partitions, the virtual partition names of at least two target partitions and the firmware package data, the firmware to be upgraded of the target partition with the highest priority among the at least two target partitions is upgraded, and a first parameter in a configuration file of a transmission protocol for transmitting firmware package data is updated; the first parameter is used to characterize the number of remaining target partitions among the at least two target partitions; based on the updated first parameter, the priorities of the remaining target partitions among the at least two target partitions, the virtual partition names of the remaining target partitions and the firmware package data, the firmware to be upgraded in the remaining target partitions is upgraded.

[0014] In this way, the priorities of at least two target partitions are determined based on their priority identification information, and then the firmware to be upgraded corresponding to the at least two target partitions are upgraded in sequence according to the priorities, the virtual partition names of the target partitions, and the firmware package data. The firmware to be upgraded in the target partition with a high priority is upgraded first, so that the key functions in the firmware are updated in time, thereby improving the stability of the entire firmware upgrade process.

[0015] Furthermore, based on the priorities of at least two target partitions, the virtual partition names of at least two target partitions, and the firmware package data, the firmware to be upgraded of the target partition with the highest priority among the at least two target partitions is upgraded, and the first parameter in the configuration file of the transmission protocol for transmitting the firmware package data is updated, including: determining the virtual partition name of the target partition with the highest priority among the at least two target partitions based on the priorities of at least two target partitions and the virtual partition names of at least two target partitions; in the process of upgrading the firmware to be upgraded in the target partition with the highest priority corresponding to the virtual partition name based on the firmware package data, determining whether the first parameter meets a preset condition; the preset condition is used to represent that the number of remaining target partitions is greater than or equal to 1; if the first parameter meets the preset condition, updating the first parameter; wherein, the number of remaining target partitions represented by the updated first parameter is less than the number of remaining target partitions represented by the first parameter.

[0016] In this way, when upgrading the firmware of the target partition with the highest priority among the remaining target partitions, whether the upgrade process should continue is determined by judging whether the first parameter meets the preset condition. If the first parameter meets the preset condition, it means that there are still remaining target partitions to be upgraded, and the value of the first parameter will be updated immediately to reflect that the number of remaining partitions to be upgraded in the current vehicle terminal has decreased. This enables each partition of the vehicle terminal to be upgraded one by one in order of priority, thereby skipping the operation of re-downloading the firmware data package after the partition upgrade is completed in the conventional upgrade process, effectively reducing unnecessary repeated downloads and improving the efficiency of the firmware upgrade process.

[0017] Furthermore, based on the updated first parameter, the priority of the remaining target partitions in at least two target partitions, the virtual partition names of the remaining target partitions and the firmware package data, the firmware to be upgraded in the remaining target partitions is upgraded, including: determining the virtual partition name of the next upgraded target partition in the remaining target partitions based on the priority of the remaining target partitions and the virtual partition name of the remaining target partitions; based on the firmware package data, upgrading the firmware to be upgraded in the next upgraded target partition corresponding to the virtual partition name; and when the updated first parameter does not meet the preset condition, determining that the upgrade of the firmware to be upgraded in the remaining target partitions is completed.

[0018] In this way, according to the priorities of the remaining target partitions and the virtual partition names of the remaining target partitions, the virtual partition names of the target partitions that have been determined to be updated and the pre-planned next target partitions to be updated are accurately tracked. The system can accurately lock the firmware to be upgraded in the target partitions that match these virtual partition names and update them in sequence. When the updated parameters no longer meet the conditions for continuing the upgrade, it is determined that the firmware upgrade of all the remaining target partitions has been completed. By accurately tracking the virtual partition name of the next upgraded target partition of the currently updated target partition, the firmware to be upgraded can be further accurately located and upgraded, thereby effectively improving the efficiency of the firmware upgrade process.

[0019] In the second aspect, an embodiment of the present application provides a firmware upgrade method, which is applied to a sending end, and the firmware upgrade method includes: sending a partition query request to a vehicle terminal; the partition query request is used to obtain the number of at least two target partitions of the vehicle terminal; the target partition is a storage partition storing firmware to be upgraded; receiving feedback information sent by the vehicle terminal; the feedback information carries quantity information representing that the number of target partitions is single; sending firmware package data to the vehicle terminal.

[0020] In the third aspect, an embodiment of the present application provides a firmware upgrade device, which is applied to a vehicle terminal, and the firmware upgrade device includes: a first receiving module, used to receive a partition query request sent by a sending end; the partition query request is used to obtain the number of at least two target partitions of the vehicle terminal; the target partition is a storage partition storing firmware to be upgraded; a sending module, used to send feedback information to the sending end; the feedback information carries quantity information representing that the number of target partitions is single; a second receiving module, used to receive firmware package data sent by the sending end in response to the feedback information; an upgrade module, used to upgrade the firmware to be upgraded corresponding to at least two target partitions respectively based on the firmware package data.

[0021] In a fourth aspect, an embodiment of the present application provides a firmware upgrade device, including a memory and a processor, wherein the memory stores a computer program that can be executed on the processor, and when the processor executes the program, some or all of the steps in the above method are implemented.

[0022] It should be understood that the above general description and the following detailed description are merely exemplary and explanatory, and are not intended to limit the technical solutions of the present application. BRIEF DESCRIPTION OF THE DRAWINGS

[0023] The drawings herein are incorporated into the specification and constitute a part of the specification. These drawings illustrate embodiments consistent with the present application and are used together with the specification to illustrate the technical solution of the present application.

[0024] Figure 1 A schematic diagram of the implementation process of a firmware upgrade method in the related art;

[0025] Figure 2 A schematic diagram of the implementation process of a firmware upgrade method provided in an embodiment of the present application Figure 1 ;

[0026] Figure 3 A schematic diagram of the implementation process of a firmware upgrade method provided in an embodiment of the present application Figure 2 ;

[0027] Figure 4 A schematic diagram of the implementation process of a firmware upgrade method provided in an embodiment of the present application Figure 3 ;

[0028] Figure 5 A schematic diagram of the implementation process of a firmware upgrade method provided in an embodiment of the present application Figure 4 ;

[0029] Figure 6 A schematic diagram of the implementation process of a firmware upgrade method provided in an embodiment of the present application Figure 5 ;

[0030] Figure 7A schematic diagram of the implementation process of a firmware upgrade method provided in an embodiment of the present application Figure 6 ;

[0031] Figure 8 A schematic diagram of the implementation process of a firmware upgrade method provided in an embodiment of the present application Figure 7 ;

[0032] Fig. 9 A schematic diagram of a firmware upgrade method provided in an embodiment of the present application Figure 1 ;

[0033] Fig.10 A schematic diagram of a firmware upgrade method provided in an embodiment of the present application Figure 2 ;

[0034] Fig.11 A schematic diagram of the structure of a firmware upgrade device provided in an embodiment of the present application;

[0035] Fig.12 A hardware entity diagram of a firmware upgrade device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0036] The following will describe the implementation methods of the present application with reference to the accompanying drawings and preferred embodiments. Those skilled in the art can easily understand other advantages and effects of the present application from the contents disclosed in this specification. The present application can also be implemented or applied through other different specific implementation methods, and the details in this specification can also be modified or changed in various ways based on different viewpoints and applications without departing from the spirit of the present application. It should be understood that the preferred embodiments are only for illustrating the present application, not for limiting the scope of protection of the present application.

[0037] It should be noted that the illustrations provided in the following embodiments are only schematic illustrations of the basic concept of the present application, and thus the drawings only show components related to the present application rather than being drawn according to the number, shape and size of components in actual implementation. In actual implementation, the type, quantity and proportion of each component may be changed at will, and the component layout may also be more complicated.

[0038] In the following description, reference is made to “some embodiments”, which describe a subset of all possible embodiments, but it will be understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.

[0039] The terms "first / second / third" involved are merely used to distinguish similar objects and do not represent a specific ordering of the objects. It is understandable that "first / second / third" can be interchanged with a specific order or sequence where permitted so that the embodiments of the present application described herein can be implemented in an order other than that illustrated or described herein.

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

[0041] Before describing the sequence processing method in the embodiment of the present application, the professional terms involved in the embodiment of the present application are first explained:

[0042] Universal Bootloader (Uboot): In embedded systems, Uboot is the first executable program when the system starts. It is responsible for initializing hardware devices, loading the operating system kernel and root file system, and providing an interactive command line interface for users to perform configuration, debugging, and maintenance operations.

[0043] Fastboot protocol: It is a powerful and widely used firmware upgrade and low-level operation tool. Through the guidance of Uboot, it can realize multiple functions such as partition operation, image burning, device restart, information acquisition, and boot loader unlocking.

[0044] Nowadays, smart cars play an increasingly important role in people's lives and play a multi-faceted role in modern society. They can enhance driving experience, facilitate travel, improve energy efficiency and the quality of life of residents. Therefore, people are more and more accepting of smart cars. At the same time, this has also brought a large number of orders to many automobile manufacturers. In order to meet the strong demand, manufacturers have simultaneously increased the speed of automobile production. As the soul components of smart cars, operating systems and cockpit systems are usually stored in the car hardware firmware. During the automobile production process, the time required for firmware upgrades cannot be ignored.

[0045] In the traditional firmware upgrade process, a backup partition is usually set up to achieve data security and recoverability. This means that the host firmware package needs to be transferred from the sender to the receiver twice: the first time is to upgrade the firmware on the primary partition, and the second time is to copy the same firmware package to the backup partition. This redundancy in the process leads to repeated downloads of the same firmware package, which increases the time required for the upgrade process. Especially in an environment with poor network conditions, this time difference will be more obvious and disturbing.

[0046] For example, Figure 1 FIG. 1 is a schematic diagram of the implementation flow of the firmware upgrade method in the related art. Figure 1 As shown, it may include steps S101 to 109. Figure 1 The steps shown are explained.

[0047] Step S101: the sending end parses the input transmission command.

[0048] Step S102: The sending end sends a partition inquiry command.

[0049] Step S103: The receiving end receives and parses the partition query command, and feeds back the existence of the partitions and the number of partitions to the sending end.

[0050] Step S104: the sending end sends a command to inquire about the size of the download buffer area.

[0051] Step S105: the receiving end receives and parses the download buffer size command, and feeds back the download buffer size to the sending end.

[0052] Step S106: the sending end sends the firmware package to the receiving end.

[0053] Step S107, the receiving end accepts the firmware package, and upgrades the main partition based on the firmware package. After the burning is completed, the sending end is fed back with burning completion information.

[0054] Step S108: the sending end sends the firmware package again.

[0055] Step S109, the receiving end accepts the firmware package, and upgrades the backup partition based on the firmware package. After the burning is completed, the receiving end feeds back the burning completion information to the sending end.

[0056] It can be seen that when using a transmission protocol (such as the Fastboot protocol) for firmware upgrades, there is a problem that, since the Fastboot protocol itself does not have a built-in optimization mechanism for repeated transmission of the same firmware package, if the same firmware package needs to be downloaded multiple times, it will lead to unnecessary consumption of time resources, thereby reducing the efficiency of the firmware upgrade process.

[0057] In order to solve the problems of the related art, an embodiment of the present application provides a firmware upgrade method. Figure 2 A schematic diagram of the implementation process of a firmware upgrade method provided in an embodiment of the present application Figure 1 The firmware upgrade method in the embodiment of the present application can be executed by the vehicle terminal, such as Figure 2 As shown, the firmware upgrade method can be implemented through steps S201 to S204:

[0058] Step S201: receiving a partition query request sent by a sending end.

[0059] The partition query request is used to obtain the number of at least two target partitions of the vehicle terminal; the target partition is a storage partition storing the firmware to be upgraded.

[0060] It is understandable that there are multiple target partitions containing firmware to be upgraded in the vehicle terminal, and in case of the size and quantity of these target partitions, querying the quantity information of the target partitions is a necessary step for the smooth progress of the firmware upgrade.

[0061] Partitions can be multiple logical areas divided on a computer storage device, each of which can have different file systems and uses to organize and manage data. Firmware refers to software programs embedded in hardware devices. It is a bridge between hardware and applications and is responsible for the basic operation of the hardware and the execution of instructions.

[0062] In the embodiment of the present application, the firmware in the target partitions is developed based on the same framework, so the firmware upgrade on all target partitions can be achieved by sharing the same firmware package data for firmware upgrade.

[0063] Exemplarily, the firmware may be embedded operating system firmware, embedded vehicle infotainment system, embedded navigation system, etc.

[0064] In some embodiments, the firmware is stored in a specific partition of the storage device to improve system performance.

[0065] For example, partitions help manage and protect the storage of firmware so that the device can boot safely and normally. Storing firmware in partitions makes it easier to update and restore firmware.

[0066] In some embodiments, the sending end may be an embedded development board, a router, a server, or a dedicated firmware burner, etc.

[0067] In some embodiments, receiving the partition query request sent by the transmitting end may include receiving the partition query request sent by the transmitting end based on a universal boot program. Exemplarily, the vehicle terminal receives the partition query request sent by the transmitting end based on Uboot or Coreboot. Among them, Coreboot is an open source boot program that focuses on fast startup and can load multiple operating systems.

[0068] Further, receiving the partition query request sent by the transmitter based on the universal boot program may include receiving the partition query request sent by the transmitter based on the transmission protocol of the universal boot program. Exemplarily, the vehicle terminal receives the partition query request sent by the transmitter based on the Fastboot transmission protocol of Uboot.

[0069] Step S202: Send feedback information to the sending end.

[0070] In some embodiments, the feedback information carries quantity information indicating that the number of the target partitions is single.

[0071] It is understandable that in the existing firmware upgrade process, the vehicle terminal first feeds back the number of target partitions of the firmware to be upgraded to the sender. When the vehicle terminal feeds back to the sender that there are multiple target partitions, the sender will send firmware package data corresponding to the multiple target partitions to the vehicle terminal based on the number of target partitions. For example, if there are two target partitions, the launch end will send the firmware package data twice, and then the vehicle terminal will download each firmware package data sent by the sender. Then, feedback information carrying information indicating that the number of target partitions is single can be sent to the sender to reduce the number of times the vehicle terminal downloads the firmware package.

[0072] In some embodiments, sending feedback information to the transmitting end may include sending feedback information to the transmitting end based on a universal boot program. Exemplarily, the vehicle terminal sends feedback information to the transmitting end based on Uboot or Coreboot.

[0073] Further, the universal boot program sending feedback information to the transmitting end may include sending feedback information to the transmitting end based on the universal boot program transmission protocol universal boot program. Exemplarily, the vehicle terminal sends feedback information to the transmitting end based on the Fastboot transmission protocol universal boot program of Uboot.

[0074] Step S203: receiving firmware package data sent by the sending end in response to the feedback information.

[0075] Among them, firmware package data refers to the collection of files required for firmware upgrade, update, burning or installation, including the underlying code, configuration files and related resources used for device hardware and software control.

[0076] In some embodiments, receiving the firmware data sent by the sending end in response to the feedback information includes accepting the firmware package data sent by the sending end in response to the feedback information based on a communication protocol.

[0077] For example, the vehicle terminal parses the received firmware data packet according to the CAN bus communication protocol, verifies the integrity and correctness of the firmware package data, and monitors the transmission status in real time. Through this process, the vehicle terminal can smoothly transmit the firmware package data to the specified target partition, thereby completing the firmware upgrade operation.

[0078] Step S204: based on the firmware package data, upgrading the firmware to be upgraded corresponding to at least two target partitions respectively.

[0079] It is understandable that a storage device is usually configured with multiple partitions for storing firmware, wherein the same firmware may exist in different versions. When the firmware is upgraded, whether these firmware versions are the same or different from the latest version, the firmware package data can act on these partitions at the same time to update the firmware therein.

[0080] In some embodiments, based on the firmware package data, upgrading the firmware to be upgraded corresponding to the at least two target partitions respectively may include: based on the firmware package data, upgrading the firmware to be upgraded corresponding to the at least two target partitions respectively by Over-the-Air (OTA) technology. OTA is a wireless communication technology that allows a device to remotely download and install firmware, operating system or application updates through a network without physically connecting the device.

[0081] Exemplarily, the vehicle terminal pushes the firmware package data to the target partition through OTA technology, and remotely upgrades the firmware to be upgraded in each target partition.

[0082] In some embodiments, upgrading the firmware to be upgraded corresponding to the at least two target partitions respectively based on the firmware package data may include upgrading the firmware to be upgraded corresponding to the at least two target partitions respectively through a serial port (Serial) based on the firmware package data.

[0083] in,

[0084] Exemplarily, the vehicle terminal is connected to the storage partition via a serial port, enters a universal boot program mode, and remotely upgrades the firmware to be upgraded of each target partition.

[0085] In the embodiment of the present application, after receiving the target partition number request sent by the sending end for inquiring about the storage partition storing the firmware to be upgraded, the vehicle terminal feeds back to the sending end that the number of target partitions is single, and then the vehicle terminal receives the firmware package data sent by the sending end, and based on the received firmware package data, upgrades the firmware to be upgraded corresponding to at least two target partitions respectively. By feeding back the number of target partitions as single to simplify the process, the vehicle terminal can skip the operation of re-downloading the firmware data package after the partition upgrade is completed in the conventional upgrade process, and can achieve the upgrade of the firmware to be upgraded in at least two target partitions by downloading the firmware package data once, thereby improving the efficiency of the firmware upgrade process.

[0086] In some embodiments, the firmware upgrade method may also be implemented through step S205, and the above step S204 may be implemented through step S206:

[0087] Step S205: receiving virtual partition information corresponding to the name information of at least two target partitions sent by the sending end.

[0088] The virtual partition information includes a virtual partition name corresponding to the target partition and priority identification information indicating a priority order.

[0089] In some embodiments, the virtual partition information may be provided to the sending end by a technician.

[0090] It is understandable that the vehicle terminal is not unable to determine which partition's firmware to upgrade, and the sender needs to specify the partition name through a command to tell the receiver which partition's firmware should be upgraded. In the case of multiple partitions, inconsistent partition naming may make it difficult to accurately identify and locate each target partition. Then, in order to improve the correctness of the firmware upgrade, the vehicle terminal needs to receive the virtual partition information sent by the sender, including the priority order and the virtual partition name.

[0091] In some embodiments, the virtual partition name may also include priority identification information. For example, the virtual partition names corresponding to target partitions 1, 2, and 3 may be "System_1", ​​"System_2", and "System_3", respectively, where the number "1" in "System_1" indicates that the priority of target partition 1 is the highest, and so on, the number "2" in "System_2" indicates that the priority of target partition 2 is the second highest.

[0092] In some embodiments, receiving virtual partition information corresponding to name information of at least two target partitions sent by the sending end may include receiving virtual partition information corresponding to name information of at least two target partitions sent by the sending end before receiving the partition query request sent by the sending end.

[0093] It is understandable that by matching the virtual partition information with the name of the target partition in advance, the receiving end does not need to perform complex search or calculation operations again after receiving the partition query request, thereby reducing response delay.

[0094] Step S206: Based on the virtual partition names of the at least two target partitions and the priority identification information of the at least two target partitions, the firmware to be upgraded corresponding to the at least two target partitions are upgraded through the firmware package data.

[0095] It is understandable that the virtual partition name can be used as the unique identification information of the target partition, and the corresponding priority identification information can determine the priority order of the firmware to be upgraded. After obtaining the virtual partition name and priority identification information, the vehicle terminal can sort the firmware to be upgraded based on these two conditions, thereby achieving an orderly upgrade operation.

[0096] In some embodiments, based on the virtual partition names of at least two target partitions and the priority identification information of at least two target partitions, upgrading the firmware to be upgraded corresponding to the at least two target partitions respectively through firmware package data may include upgrading the firmware to be upgraded corresponding to the at least two target partitions respectively through incremental upgrade technology and firmware package data based on the virtual partition names of at least two target partitions and the priority identification information of at least two target partitions.

[0097] Among them, incremental upgrade technology refers to the process of transmitting and updating only the partial data that is different from the current version during the software or firmware update process, rather than the entire firmware package data.

[0098] Exemplarily, the vehicle terminal sorts the upgrade priority of each target partition by the virtual partition name of the target partition and its corresponding priority identification information. According to the priority sorting, the transmission protocol pushes the firmware package data to the corresponding target partition. After the firmware package data is transmitted to the target partition, the incremental upgrade technology is used to change only part of the data in the firmware to be upgraded in the target partition, thereby realizing the rapid upgrade of the firmware to be upgraded and improving the efficiency of the firmware upgrade process.

[0099] In the embodiment of the present application, the virtual partition names corresponding to at least two target partitions and the priority identification information indicating the priority order are received and sent by the transmitting end. By introducing the virtual partition names, a unique identifier is provided for each target partition, which effectively reduces the upgrade errors caused by name confusion or duplication, and improves the efficiency of the firmware upgrade process. In addition, the priority identification information can enable the partitions where key functions or data are located to be updated first, thereby improving the stability of the system.

[0100] In some embodiments, Figure 3 A schematic diagram of the implementation process of a firmware upgrade method provided in an embodiment of the present application Figure 2 ,like Figure 3 As shown, before executing the step S201 of "receiving the partition query request sent by the sending end", steps S301 and S302 may be included. Figure 3 The steps shown are explained.

[0101] Step S301, determining a preset firmware upgrade acceleration state.

[0102] In some embodiments, determining the preset firmware upgrade acceleration state may include determining the preset firmware upgrade acceleration state by determining a setting of an environment variable in a universal boot program configuration file.

[0103] Exemplarily, the vehicle terminal determines the preset firmware upgrade acceleration state by determining the setting of the environment variables in the Uboot configuration file, wherein the Uboot configuration file includes a speedup_flag parameter indicating the firmware transmission acceleration state. When the value of the speedup_flag parameter is configured to "true", it indicates that the firmware upgrade acceleration state is enabled (on); when the value of the speedup_flag parameter is configured to "false", it indicates that the firmware upgrade acceleration state is not enabled (off).

[0104] In some embodiments, determining the preset firmware upgrade acceleration state may include determining the preset firmware upgrade acceleration state through a custom configuration file, wherein the custom configuration file has a higher priority than the configuration file used by the vehicle terminal during data transmission and can be designed by a developer of the vehicle terminal.

[0105] For example, when the vehicle terminal transmits data with the transmitter based on the Fastboot transmission protocol of Uboot, the developer of the vehicle terminal configures a custom configuration file with a higher priority than the Fastboot default configuration file, and also configures the speedup_flag parameter in the custom configuration file. This parameter is used to control the executability of the firmware upgrade acceleration function. If the speedup_flag parameter is set to "able" in the custom configuration file, it means that the firmware upgrade acceleration function is allowed to be turned on; if it is set to "disable", it means that the firmware upgrade acceleration function is not allowed to be turned on. When the firmware upgrade acceleration state is not enabled, that is, the Fastboot transmission protocol has not yet started the firmware upgrade acceleration operation, but if the speedup_flag parameter value in the custom configuration file is "able", the firmware upgrade acceleration function can still be enabled. Once the firmware upgrade acceleration command enters the listening state, the firmware upgrade acceleration function will be turned on.

[0106] Step S302: when the firmware upgrade acceleration state is enabled, determine the number information indicating that the number of target partitions is a single one.

[0107] It is understandable that the feedback information sent by the vehicle terminal represents the number of target partitions to be upgraded. Then, when the firmware upgrade acceleration state is enabled, the vehicle terminal can optimize the efficiency of the firmware upgrade process by determining that the number of target partitions represented is less than the actual number of target partitions.

[0108] In the embodiment of the present application, by presetting the firmware upgrade acceleration state and determining that the number of target partitions is single when the state is enabled, the process of the firmware upgrade process can be simplified. The redundant steps of downloading the same firmware package image multiple times are effectively reduced, thereby significantly reducing the time required for the firmware upgrade process and improving the efficiency of the firmware upgrade process.

[0109] In some embodiments, Figure 4 A schematic diagram of the implementation process of a firmware upgrade method provided in an embodiment of the present application Figure 3 ,like Figure 4 As shown, step S206 includes step S401 and step S402. Figure 4 The steps shown are explained.

[0110] Step S401: determining the priorities of at least two target partitions based on the priority identification information of at least two target partitions.

[0111] In some embodiments, determining the priorities of at least two target partitions based on the priority identification information of at least two target partitions may include determining the priorities of at least two target partitions based on the priority identification information of at least two target partitions and a preset priority rule.

[0112] In some embodiments, determining the priorities of at least two target partitions based on the priority identification information of the at least two target partitions and preset priority rules may include determining the priorities of at least two target partitions based on the priority identification information of the at least two target partitions and preset priority rules when the priority identification information is a number.

[0113] For example, in the case of a number for the priority identification information, the preset priority rule may be that the smaller the number, the higher the priority. For example, if the priority identification information corresponding to target partitions 1, 2, and 3 are 1, 2, and 3, respectively, then based on the preset priority rule, it can be determined that target partition 1 has the highest priority, and so on, target partition 2 has the second highest priority.

[0114] In some embodiments, determining the priorities of at least two target partitions based on the priority identification information of the at least two target partitions and preset priority rules may include determining the priorities of at least two target partitions based on the priority identification information of the at least two target partitions and preset priority rules when the priority identification information is letters.

[0115] For example, in the case of priority identification information letters, the preset priority rule may be that the earlier the position of the letter in the alphabet, the higher the priority. The priority identification information letters corresponding to target partitions 1, 2, and 3 may be A, B, and C, respectively. Then, based on the preset priority rule, it can be determined that target partition 1 has the highest priority, and so on, target partition 2 has the second highest priority.

[0116] In some embodiments, determining the priorities of at least two target partitions based on priority identification information of at least two target partitions and preset priority rules may include determining the priorities of at least two target partitions based on priority identification information of at least two target partitions and preset priority rules when the virtual partition name includes priority identification information.

[0117] Exemplarily, the priority identification information may be included in the last digit of the virtual partition name, and the priority identification information is obtained by splitting the last digit of the virtual partition name. The type of the priority identification information is determined, and based on the type of the priority identification information, the priority of the target partition is determined. For example, the virtual partition names corresponding to target partitions 1, 2, and 3 may be "System_A", "System_B", and "System_C", respectively. The last digit of the virtual partition name "System_A" of target partition 1 is split to obtain the priority identification information "A", and the last digit of the virtual partition name "System_B" of target partition 2 is "B", thereby obtaining that the priority of target partition 1 is higher than that of target partition 2.

[0118] Step S402: based on the priorities of at least two target partitions, the virtual partition names of at least two target partitions and the firmware package data, the firmware to be upgraded corresponding to the at least two target partitions are upgraded in sequence.

[0119] In some embodiments, based on the priorities of at least two target partitions, the virtual partition names of at least two target partitions, and the firmware package data, the firmware to be upgraded corresponding to the at least two target partitions are upgraded in sequence, including presetting priority rules on the universal boot program, and based on the priorities of at least two target partitions, the virtual partition names of at least two target partitions, and the firmware package data, the firmware to be upgraded corresponding to the at least two target partitions are upgraded in sequence.

[0120] It is understandable that under standard circumstances, the receiving end will not automatically infer which target partition's firmware to be upgraded based on the priority rule, but if the priority rule is preset in the firmware upgrade logic of the receiving end, the receiving end will upgrade the target partition's firmware to be upgraded in sequence according to the preset priority rule.

[0121] For example, the priority rule preset on Uboot is that in the case of a priority identification information number, the smaller the number, the higher the priority. Then, when the priority identification information corresponding to target partitions 1, 2, and 3 are 1, 2, and 3 respectively, the vehicle terminal will upgrade the firmware to be upgraded of target partitions 1, 2, and 3 in turn based on the priority rule.

[0122] In the embodiment of the present application, the priority upgrade order of the firmware to be upgraded of the target partition is determined based on the priority identification information of at least two target partitions, and then the firmware to be upgraded in the preset target is upgraded in the priority upgrade order according to the virtual partition name and firmware package data of the target partition. The orderliness and accuracy of the firmware upgrade are achieved, the upgrade efficiency is improved, and the time and resources wasted due to repeated downloading of firmware data packets are reduced.

[0123] In some embodiments, Figure 5 A schematic diagram of the implementation process of a firmware upgrade method provided in an embodiment of the present application Figure 4 ,like Figure 5 As shown, step S402 may include step S501 and step S502. Figure 5 The steps shown are explained.

[0124] Step S501, based on the priorities of at least two target partitions, the virtual partition names of at least two target partitions and the firmware package data, the firmware to be upgraded of the target partition with the highest priority among the at least two target partitions is upgraded, and the first parameter in the configuration file of the transmission protocol for transmitting the firmware package data is updated.

[0125] The first parameter is used to characterize the number of remaining target partitions in the at least two target partitions.

[0126] The remaining target partitions represent target partitions that still store firmware to be upgraded among all target partitions.

[0127] It can be understood that the configuration file of the transmission protocol involves dynamic information in the upgrade process, such as the number of remaining target partitions. After the upgrade of the firmware to be upgraded in the target partition is completed, the field of the first parameter in the configuration file needs to be updated so that the updated first parameter can reflect the current number of remaining target partitions that need to be upgraded.

[0128] In some embodiments, the data type of the first parameter may be an integer. An integer represents a value without a decimal part. For example, when the data type of the first parameter is an integer, when the value of the first parameter is_single_partion is 3, it indicates that the number of target partitions to be upgraded is 3.

[0129] In some embodiments, the first parameter may also be used to indicate whether there are any remaining target partitions after the target partition currently undergoing an upgrade operation is upgraded.

[0130] In some embodiments, when the first parameter is used to characterize whether the current target partition is the last target partition storing the firmware to be upgraded, the data type of the first parameter may be a Boolean type. The Boolean type is usually used for data judgment, and is represented as true and false. Exemplarily, when the value of the first parameter is_single_partion is "false", it is characterized that after the target partition currently undergoing the upgrade operation is upgraded, there are remaining partitions, that is, the target partition currently undergoing the upgrade operation is not the last partition undergoing the upgrade operation; when the value of the first parameter is_single_partion is "true", it is characterized that after the target partition currently undergoing the upgrade operation is upgraded, there are no remaining partitions, that is, the partition currently undergoing the upgrade operation is the last partition undergoing the upgrade operation.

[0131] In some embodiments, updating the first parameter in the configuration file of the transmission protocol for transmitting firmware package data includes updating the first parameter in the configuration file of the transmission protocol for transmitting firmware package data by setting a logic function in the configuration file of the transmission protocol.

[0132] For example, in the configuration file of the Fastboot transmission protocol, a logical function set_next_logical_partition is implemented in the flash function, which dynamically updates the value of is_single_partition in the configuration file according to the number of remaining partitions to be upgraded during the firmware upgrade process. Specifically, the number of remaining target partitions is read, and is_single_partition is updated based on this information, so that in the case of multi-partition upgrades, the system can accurately identify the number of remaining target partitions and effectively reduce missed partitions. Among them, the flash function is used to transfer the firmware package from the transmitter to the vehicle terminal.

[0133] Step S502: upgrading the firmware to be upgraded in the remaining target partitions based on the updated first parameter, the priority of the remaining target partitions in the at least two target partitions, the virtual partition names of the remaining target partitions, and the firmware package data.

[0134] In an embodiment of the present application, upgrading the firmware to be upgraded in the remaining target partitions based on the updated first parameter, the priority of the remaining target partitions in at least two target partitions, the virtual partition names of the remaining target partitions, and the firmware package data may include: determining whether the updated first parameter is equal to a preset threshold value, and if the updated first parameter is not equal to the preset threshold value, upgrading the firmware to be upgraded in the remaining target partitions based on the priority of the remaining target partitions in at least two target partitions, the virtual partition names of the remaining target partitions, and the firmware package data.

[0135] For example, when the updated value of is_single_partition is 2, it means that there are still multiple target partitions to be upgraded, and the value of is_single_partition has not reached the preset threshold value of 0. This indicates that the upgrade process has not yet completed the firmware update of the last target partition. At this time, the system needs to continue to perform the upgrade operation on the remaining target partitions to be upgraded firmware according to the number of remaining target partitions, the priority of each partition, the virtual partition name, and the firmware package data.

[0136] In the embodiment of the present application, the priorities of at least two target partitions are determined based on their priority identification information, and then the firmware to be upgraded corresponding to the at least two target partitions are upgraded in sequence according to these priorities, the virtual partition names of the target partitions, and the firmware package data. The firmware to be upgraded in the target partition with a high priority is upgraded first, so that the key functions in the firmware are updated in time, thereby improving the stability of the entire firmware upgrade process.

[0137] In some embodiments, Figure 6 A schematic diagram of the implementation process of a firmware upgrade method provided in an embodiment of the present application Figure 5 ,like Figure 6 As shown, step S501 may include steps S601 to S603. Figure 6 The steps shown are explained.

[0138] Step S601: determining the virtual partition name of the target partition with the highest priority among the at least two target partitions based on the priorities of the at least two target partitions and the virtual partition names of the at least two target partitions.

[0139] In some embodiments, determining the virtual partition name of the target partition with the highest priority among at least two target partitions based on the priorities of at least two target partitions and the virtual partition names of at least two target partitions may include determining the virtual partition name of the target partition with the highest priority among at least two target partitions based on the priorities of at least two target partitions, the virtual partition names of at least two target partitions and a preset priority rule.

[0140] Exemplarily, the virtual partition names of the target partitions sent by the transmitter to the vehicle terminal include "System_C", "System_A" and "System_B". Then, based on the preset priority rule, the last digit of the virtual partition name is split to obtain the priority identification information and partition is performed. It can be determined that the virtual partition name of the target partition with the highest priority is "System_A".

[0141] Step S602 : in the process of upgrading the firmware to be upgraded in the target partition with the highest priority corresponding to the virtual partition name based on the firmware package data, it is determined whether the first parameter meets a preset condition.

[0142] The preset condition is used to indicate that the number of remaining target partitions is greater than or equal to 1.

[0143] In some embodiments, the data type of the first parameter can be an integer type or a Boolean type.

[0144] Exemplarily, when the judgment condition is boolean is_single_partition=(num>=1), that is, when judging whether the value of the number num of the remaining target remaining partitions is greater than or equal to 1, when the updated value of is_single_partition is "false", it means that there are still multiple target partitions to be upgraded, and the value of is_single_partition has not reached the preset threshold value of 0. This indicates that the upgrade process has not yet completed the firmware update of the last target partition. At this time, the system needs to continue to perform the upgrade operation on the remaining target partitions to be upgraded firmware according to the number of remaining target partitions, the priority of each partition, the virtual partition name, and the firmware package data.

[0145] Step S603: When the first parameter meets a preset condition, update the first parameter.

[0146] The number of remaining target partitions represented by the updated first parameter is less than the number of remaining target partitions represented by the first parameter.

[0147] In some embodiments, updating the first parameter includes decrementing the value of the first parameter by one.

[0148] Exemplarily, when performing an upgrade operation on the firmware to be upgraded of the target partition, the value 3 of the first parameter is reduced by one, and the updated value of the first parameter is 2, indicating that after the upgrade of the current firmware to be upgraded is completed, there are still two target partitions whose firmware to be upgraded needs to be upgraded.

[0149] In the embodiment of the present application, when upgrading the firmware to be upgraded of the target partition with the highest priority among the remaining target partitions, whether the upgrade process should continue is determined by judging whether the first parameter meets the preset condition. If the first parameter meets the preset condition, it means that there are still remaining target partitions to be upgraded, and the value of the first parameter will be updated immediately to reflect that the number of remaining partitions to be upgraded in the current vehicle terminal has been reduced. This enables each partition of the vehicle terminal to be upgraded one by one in the order of priority, thereby skipping the operation of re-downloading the firmware data package after the partition upgrade is completed in the conventional upgrade process, effectively reducing unnecessary repeated downloads and improving the efficiency of the firmware upgrade process.

[0150] In some embodiments, Figure 7 A schematic diagram of the implementation process of a firmware upgrade method provided in an embodiment of the present application Figure 6 ,like Figure 7 As shown, step S502 may include steps S701 to S703. Figure 7 The steps shown are explained.

[0151] Step S701: determining the virtual partition name of the next upgraded target partition among the remaining target partitions based on the priorities of the remaining target partitions and the virtual partition names of the remaining target partitions.

[0152] The next upgrade target partition represents the target partition where the next firmware to be upgraded that needs to be upgraded is located after the upgrade of the firmware to be upgraded that is currently being upgraded is completed.

[0153] In some embodiments, based on the priorities of the remaining target partitions and the virtual partition names of the remaining target partitions, the virtual partition name of the next upgraded target partition among the remaining target partitions is determined and written into a configuration file of the transmission protocol.

[0154] Exemplarily, in the configuration file of the Fastboot transmission protocol, a next_partion parameter is included, which is used to represent the virtual partition name of the next target partition to be upgraded. When performing an upgrade operation on the firmware to be upgraded in the target partition, Fastboot will determine the target partition with the highest priority among the remaining target partitions based on the priorities of the remaining target partitions and the virtual partition names of the remaining target partitions, and specify the virtual partition name corresponding to the target partition through the next_partion parameter in the configuration file, so that after the upgrade of the current firmware to be upgraded is completed, it can be specified to the next target partition to be upgraded.

[0155] Step S702: based on the firmware package data, the firmware to be upgraded in the next upgraded target partition corresponding to the virtual partition name is upgraded.

[0156] In some embodiments, based on the firmware package data, upgrading the firmware to be upgraded in the next upgraded target partition corresponding to the virtual partition name may include upgrading the firmware to be upgraded in the next upgraded target partition corresponding to the virtual partition name based on the firmware package data and a configuration file of the transmission protocol.

[0157] Exemplarily, when the sending end and the vehicle terminal transmit data through Fastboot, if the virtual partition name next_partion parameter corresponding to the target partition for the next upgrade is specified in the Fastboot configuration file, the vehicle terminal can transfer the firmware data packet to the target partition corresponding to the virtual partition name specified in the next_partion parameter, thereby realizing the upgrade process of the firmware to be upgraded in the next target partition after the upgrade of the current firmware to be upgraded is completed.

[0158] Step S703: when the updated first parameter does not satisfy the preset condition, determine to complete the upgrade of the firmware to be upgraded in the remaining target partitions.

[0159] In some embodiments, when the updated first parameter meets a preset condition, the above steps S701 and S702 are performed.

[0160] In some embodiments, determining that the upgrade of the firmware to be upgraded in the remaining target partitions is completed includes modifying a configuration file of the transmission protocol to end the upgrade of the firmware to be upgraded in the remaining target partitions when determining that the upgrade of the firmware to be upgraded in the remaining target partitions is completed.

[0161] Exemplarily, when it is determined that the upgrade of the firmware to be upgraded in the remaining target partitions is completed, the virtual partition name parameter next_partion representing the next target partition to be upgraded in the configuration file of the transmission protocol is set to a null value, and the step of backing up the next partition specified for the firmware upgrade acceleration process is skipped to end the upgrade of the firmware to be upgraded in the remaining target partitions.

[0162] In the embodiment of the present application, according to the priority of the remaining target partitions and the virtual partition name of the remaining target partitions, the virtual partition name of the target partition currently determined to be updated and the virtual partition name of the next target partition to be updated that has been pre-planned are accurately tracked, and the system can accurately lock the firmware to be upgraded in the target partitions that match these virtual partition names, and update them in sequence. When the updated parameters no longer meet the conditions for continuing to upgrade, it is determined that the firmware upgrade of all remaining target partitions has been completed. By accurately tracking the virtual partition name of the next upgraded target partition of the currently updated target partition, the firmware to be upgraded can be further accurately located and upgraded, thereby effectively improving the efficiency of the firmware upgrade process.

[0163] The embodiment of the present application also provides a firmware upgrade method. Figure 8 A schematic diagram of the implementation process of a firmware upgrade method provided in an embodiment of the present application Figure 7 The firmware upgrade method in the embodiment of the present application can be executed by the sending end, such as Figure 8 As shown, the firmware upgrade method can be implemented through steps S801 to S803:

[0164] Step S801, sending a partition query request to the vehicle terminal.

[0165] The partition query request is used to obtain the number of at least two target partitions of the vehicle terminal; the target partition is a storage partition storing the firmware to be upgraded.

[0166] Among them, the vehicle terminal can be an on-board safety system (Advanced Driver Assistance System, ADAS), an on-board control unit (Electronic Control Unit, ECU), an on-board infotainment system, and an automatic driving system, etc.

[0167] Step S802, receiving feedback information sent by the vehicle terminal.

[0168] The feedback information carries the quantity information indicating that the number of target partitions is single;

[0169] Step S803, sending firmware package data to the vehicle terminal.

[0170] In some embodiments, Fig. 9 A schematic diagram of a firmware upgrade method provided in an embodiment of the present application Figure 1 ,The firmware upgrade method is applied to vehicle terminals, such as Fig. 9 As shown, the firmware upgrade method may include steps S901 to S907. Fig. 9 The steps shown are explained.

[0171] Step S901, determining the firmware upgrade acceleration state.

[0172] Exemplarily, when the transmitting end and the vehicle terminal perform data transmission via Uboot, the Uboot environment variable is obtained in the Uboot configuration file speedup_download to query and obtain the preset firmware upgrade acceleration state.

[0173] Step S902: monitoring the firmware upgrade acceleration status.

[0174] For example, when the transmitting end and the vehicle terminal transmit data through the Fastboot transmission protocol on the Uboot side, the Fastboot transmission protocol on the Uboot side can be optimized, and a new firmware download acceleration option speedup_flag is added on the Uboot side. This variable is managed by code macros in the intelligent driving operating system. When the configuration file speedup_download on the Uboot side is enabled (the value of speedup_flag is true), the firmware download acceleration function is started by default, and the firmware acceleration logic is executed by default.

[0175] Exemplarily, the "run fastboot_cmd" command line is executed in the Uboot environment to monitor the acceleration state of the firmware upgrade, so as to monitor the acceleration state changes during the firmware upgrade process in real time.

[0176] In addition, during the firmware upgrade process, when the device is in the Uboot environment and is ready for a firmware upgrade, the upgrade process can be regulated by setting an additional configuration file (whose priority is higher than the configuration of the Fastboot transport protocol). Specifically, this additional configuration file can contain a specific speedup_flag parameter to control the executableness of the speedup_flag function. If the speedup_flag parameter is set to able in this configuration file, it means that the acceleration operation is allowed; if it is set to disable, it means that the acceleration operation is not allowed. When the firmware is in the upgrade state, if the Fastboot transport protocol has not yet started the firmware upgrade operation, although the speedup_flag in the Fastboot configuration file is set to disable the acceleration operation, if the speedup_flag parameter in the additional configuration file is set to able, the acceleration function can still be enabled. When the acceleration function is enabled, when the firmware transfer command starts to listen, the firmware upgrade acceleration state will be entered.

[0177] Step S903, configuring parameters in the structure.

[0178] In conjunction with the download acceleration option speedup_flag of the Uboot environment of the intelligent driving operating system, a new global structure download_info is added to the Fastboot protocol on the Uboot side.

[0179] Exemplarily, the structure download_info includes a member speedup_flag for maintaining firmware acceleration option identification information during the firmware upgrade process, a member next_partion[] for the name of the next partition to be upgraded during the firmware upgrade process, and a member is_single_pation for setting the number of remaining partitions for logical partitions that do not have A / B backup partitions.

[0180] Step S904: receiving a partition query request sent by the sending end.

[0181] Step S905, determining whether the number of partitions is greater than 2.

[0182] When it is determined that the number of partitions is greater than 2, step S907 is executed.

[0183] Step S906, determining whether the number of partitions is equal to 1.

[0184] When it is determined that the number of partitions is equal to 1, step S907 is executed.

[0185] Step S907: Return feedback information indicating that the number of partitions is only one to the sending end.

[0186] Exemplarily, when the host inquires Uboot about the number of upgrade partitions, if the returned number of upgrade partitions is greater than or equal to 2, Uboot returns the number of upgrade partitions as 1 to the host, thereby skipping the logic of the host sending the download image twice.

[0187] Step S908, determining whether the value of the parameter in the structure satisfies the threshold.

[0188] When executing step S908, if it is determined that the value of the parameter in the structure does not meet the threshold, step S909 is executed; if it is determined that the value of the parameter in the structure meets the threshold, step S910 is executed.

[0189] Step S909, upgrading the firmware to be upgraded in the current partition, and updating the parameter values ​​in the structure.

[0190] The newly added set_next_logical_partition function logic acts on the flash function in the Fastboot protocol. By reading and setting the speedup_flag member of the global structure download_info, when this flag is enabled, the next partition name to be upgraded is set to the global structure download_info according to the name of the last upgraded partition. At the same time, according to the upgrade instruction transmitted by the sender, which includes the target partition name and the corresponding virtual partition name, the number of target partitions to be upgraded is determined and assigned to the is_single_partition parameter in the global structure download_info.

[0191] After receiving the upgrade target partition instruction sent by the host, the incoming target partition field is passed as a parameter to the set_next_logical_partition function, and values ​​are assigned to the next_partition[] and is_single_partition parameters.

[0192] Step S9010, after the firmware to be upgraded in the current partition is upgraded, the burning is completed.

[0193] Exemplarily, in step S908 to step S910, during the process of updating partition 1, determine whether the value of the member is_single_pation, which identifies the number of remaining partitions, is 0. If the value is not 0, assign the virtual partition name of the next partition 2 to be upgraded to the member next_partion[] of the next partition name to be upgraded, and reduce the value of the member is_single_pation, which identifies the number of remaining partitions, by 1; after the firmware upgrade of partition 1 is completed, perform a firmware upgrade operation on the next partition 2 to be updated based on the value specified by next_partion[]. Until the value of is_single_pation is 0, skip the step of upgrading the firmware of the next target partition set for the firmware upgrade acceleration logic, and the firmware upgrade process ends.

[0194] Exemplarily, in step S905 to step S907, during the process of updating partition 1, it is determined whether the value of is_single_pation is equal to true, wherein boolean is_single_pation = (num! = 0), num represents the number of remaining partitions. If the value is true, the virtual partition name of the next partition 2 to be upgraded is assigned to the member next_partion[] of the next partition name to be upgraded, and the value of the member num identifying the number of remaining partitions is reduced by 1. After the firmware upgrade of partition 1 is completed, the firmware upgrade operation is performed on the next partition 2 to be updated based on the value specified by next_partion[]. Until the value of is_single_pation is false, the step of firmware upgrade of the next target partition set for the firmware upgrade acceleration logic is skipped, and the firmware upgrade process ends.

[0195] In some embodiments, Fig.10 A schematic diagram of a firmware upgrade method provided in an embodiment of the present application Figure 2 ,like Fig.10 As shown, the firmware upgrade method may include steps S1001 to S1007. Fig.10 The steps shown are explained.

[0196] Step S1001: the sending end parses the input transmission command.

[0197] Step S1002: The sending end sends a partition inquiry command.

[0198] Step S1003: The receiving end receives and parses the partition query command, and feeds back the existence of the partitions and the number of partitions to the sending end.

[0199] Step S1004: the sending end sends a command to inquire about the size of the download buffer area.

[0200] Step S1005: The receiving end receives and parses the download buffer size command, and feeds back the download buffer size to the sending end.

[0201] In some embodiments, when the download buffer size is smaller than the firmware package data size, the firmware package data file will be segmented and upgraded in blocks.

[0202] For example, the firmware package will be divided into multiple smaller data blocks, and each smaller data block is uploaded so that the amount of data transmitted each time does not exceed the capacity of the buffer area. This can effectively reduce the risk of memory overflow or data loss, while ensuring the stability and continuity of the upgrade process.

[0203] Step S1006: the sending end sends the firmware package data to the receiving end.

[0204] Step S1007: the receiving end receives the firmware package data, and upgrades the target partition based on the firmware package data. After the upgrade is completed, the receiving end feeds back upgrade completion information to the sending end.

[0205] At this point, a firmware upgrade method with high firmware upgrade efficiency is completed.

[0206] The present application provides a firmware package transmission protocol and method for quickly upgrading and debugging firmware of an intelligent driving system, which can be used to optimize the existing firmware upgrade process based on the Fastboot protocol.

[0207] The technical solution of the present application includes: 1) When listening to the transmission command based on the Fastboot protocol, first read the firmware transmission acceleration status preset in the firmware environment. When the acceleration mode is enabled, the receiving end (vehicle terminal) will enter the firmware download transmission acceleration mode to improve transmission efficiency. 2) Parse the firmware upgrade command entered by the user or the automatic burning program, and send inquiry information about the number and size of the upgraded firmware partitions to the receiving end in turn. 3) When the acceleration mode is enabled, the sending end only transmits the firmware package to the receiving end once. The Fastboot protocol uses the same firmware package to upgrade the target partition of the receiving end, skipping the second transmission and upgrade process. 4) After receiving the firmware package, the receiving end upgrades the main partition and the backup partition in turn, and returns an upgrade completion signal to the host after the upgrade is completed, marking the end of the firmware package upgrade process.

[0208] This application adds acceleration state enable information in the firmware package environment, allowing the acceleration state to be set when compiling the firmware package or entering the Uboot environment of the smart car operating system. When the car as the receiving end is monitoring the Fastboot protocol, it will read these acceleration state information, so that when executing the Fastboot protocol, it will adopt a different logic from the native upgrade process. Without modifying the firmware sending end protocol, the receiving end still passively receives the same firmware upgrade command as the native process. Due to the introduction of the new firmware upgrade logic, the receiving end completes the upgrade operation of the main partition and the backup partition after the first download of the firmware package, and returns the upgrade completion signal to the sending end, while skipping the second download of the firmware package and the backup partition upgrade step. In this way, the firmware upgrade time has been significantly reduced, and the comprehensive duration of the firmware upgrade can be reduced by 30% to 50% under different network environments.

[0209] Based on the same inventive concept, an embodiment of the present application provides a firmware upgrade device, which runs in a vehicle terminal. Fig.11 A schematic diagram of the structure of a firmware upgrade device is provided for an embodiment of the present application. Fig.11As shown, the firmware upgrade device 1100 includes a first receiving module 1101, a sending module 1102, a second receiving module 1103 and an upgrade module 1104, wherein:

[0210] The first receiving module 1101 is used to receive a partition query request sent by the sending end; the partition query request is used to obtain the number of at least two target partitions of the vehicle terminal; the target partition is a storage partition storing the firmware to be upgraded;

[0211] The sending module 1102 is used to send feedback information to the sending end; the feedback information carries quantity information indicating that the number of target partitions is single;

[0212] The second receiving module 1103 is used to receive the firmware package data sent by the sending end in response to the feedback information;

[0213] The upgrading module 1104 is used to upgrade the firmware to be upgraded corresponding to at least two target partitions respectively based on the firmware package data.

[0214] In some embodiments, the firmware upgrade device 1100 also includes: a third receiving module, used to receive virtual partition information corresponding to the name information of the at least two target partitions sent by the sending end; the virtual partition information includes the virtual partition name corresponding to the target partition, and priority identification information indicating the priority order.

[0215] In some embodiments, the upgrade module 1104 includes: a first upgrade unit, which is used to upgrade the firmware to be upgraded corresponding to at least two target partitions respectively through firmware package data based on the virtual partition names of at least two target partitions and the priority identification information of at least two target partitions.

[0216] In some embodiments, the firmware upgrade device 1100 further includes: a first determination unit for determining a preset firmware upgrade acceleration state; and a second determination unit for determining, when the firmware upgrade acceleration state is enabled, quantity information indicating that the number of the target partitions is a single one.

[0217] In some embodiments, the first upgrade unit includes: a third determination unit, used to determine the priorities of the at least two target partitions based on the priority identification information of the at least two target partitions; a second upgrade unit, used to upgrade the firmware to be upgraded corresponding to the at least two target partitions in sequence based on the priorities of the at least two target partitions, the virtual partition names of the at least two target partitions and the firmware package data.

[0218] In some embodiments, the second upgrade unit includes: a third upgrade unit, used to upgrade the firmware to be upgraded of the target partition with the highest priority among the at least two target partitions based on the priorities of the at least two target partitions, the virtual partition names of the at least two target partitions and the firmware package data, and update a first parameter in a configuration file of a transmission protocol used to transmit the firmware package data; the first parameter is used to characterize the number of remaining target partitions among the at least two target partitions; a fourth upgrade unit, used to upgrade the firmware to be upgraded in the remaining target partitions based on the updated first parameter, the priorities of the remaining target partitions among the at least two target partitions, the virtual partition names of the remaining target partitions and the firmware package data.

[0219] In some embodiments, the third upgrade unit includes: a fourth determination unit, used to determine the virtual partition name of the target partition with the highest priority among the at least two target partitions based on the priorities of the at least two target partitions and the virtual partition names of the at least two target partitions; a fifth determination unit, used to determine whether the first parameter meets a preset condition in the process of upgrading the firmware to be upgraded in the target partition with the highest priority corresponding to the virtual partition name based on the firmware package data; the preset condition is used to characterize that the number of remaining target partitions is greater than or equal to 1; an update unit, used to update the first parameter if the first parameter meets the preset condition; wherein the number of remaining target partitions represented by the updated first parameter is less than the number of remaining target partitions represented by the first parameter.

[0220] In some embodiments, the fourth upgrade unit includes: a sixth determination unit, used to determine the virtual partition name of the next upgraded target partition among the remaining target partitions based on the priority of the remaining target partitions and the virtual partition name of the remaining target partitions; a fifth upgrade unit, used to upgrade the firmware to be upgraded in the next upgraded target partition corresponding to the virtual partition name based on the firmware package data; and a seventh determination unit, used to determine that the upgrade of the firmware to be upgraded in the remaining target partitions is completed when the updated first parameter does not meet the preset conditions.

[0221] The embodiment of the present application further provides a firmware upgrade device, which runs in a sending end, and includes a first sending unit, a receiving unit, and a second sending unit, wherein:

[0222] A first sending unit is used to send a partition query request to the vehicle terminal; the partition query request is used to obtain the number of at least two target partitions of the vehicle terminal; the target partition is a storage partition storing firmware to be upgraded;

[0223] A receiving unit, configured to receive feedback information sent by the vehicle terminal; the feedback information carries quantity information indicating that the number of the target partitions is a single one;

[0224] The second sending unit is used to send firmware package data to the vehicle terminal.

[0225] The above description of the system embodiment of the firmware upgrade process is similar to the description of the above method embodiment, and has similar beneficial effects as the method embodiment. In some embodiments, the functions or modules included in the system provided by the embodiment of the present disclosure can be used to execute the method described in the above method embodiment. For technical details not disclosed in the system embodiment of the present application, please refer to the description of the method embodiment of the present application for understanding.

[0226] It should be noted that in the embodiment of the present application, if the above-mentioned resource configuration method is implemented in the form of a software function module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. Based on such an understanding, the technical solution of the embodiment of the present application is essentially or the part that contributes to the relevant technology can be embodied in the form of a software product, which is stored in a storage medium, including a number of instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the methods of each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as a U disk, a mobile hard disk, a read-only memory (ROM), a disk or an optical disk. In this way, the embodiment of the present application is not limited to any specific hardware, software or firmware, or any combination of hardware, software, and firmware.

[0227] Fig.12 The hardware entity diagram of a firmware upgrade device provided in an embodiment of the present application is shown in FIG. Fig.12 As shown, the firmware upgrade device 1200 can be the electronic device in the above-mentioned embodiment. The firmware upgrade device 1200 may include a processor 1201, which can perform various appropriate steps and processes according to computer program instructions stored in a read-only memory 1202 or computer program instructions loaded from a memory 1208 to a random access memory (Read Access Memory, RAM) 1203. In RAM 1203, various programs and data required for the operation of the firmware upgrade device 1200 can also be stored. The processor 1201, ROM 1202 and RAM 1203 are connected to each other via a bus 1204. An input / output (Input / Output, I / O) interface 1205 is also connected to the bus 1204.

[0228] Multiple components in the firmware upgrade device 1200 are connected to the I / O interface 1205, including: an input unit 1206, such as a keyboard, a mouse, etc.; an output unit 1207, such as various types of displays, speakers, etc.; a memory 1208, such as a disk, an optical disk, etc.; and a communication unit 1209, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 1209 allows the firmware upgrade device 1200 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.

[0229] The processor 1201 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the processor 1201 include, but are not limited to, a central processing unit, a graphics processing unit, various dedicated artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, digital signal processors (DSP), and any appropriate processors, controllers, microcontrollers, etc. The processor 1201 may execute the various methods and processes described above, such as executing the resource configuration method described above. For example, in some embodiments, the resource configuration method described above may be implemented as a computer software program, which is stored in a machine-readable medium, such as a memory 1208. In some embodiments, part or all of the computer program may be loaded and / or installed on the firmware upgrade device 1200 via ROM 1202 and / or the communication unit 1209. When the computer program is loaded into RAM 1203 and executed by the processor 1201, one or more steps in the resource configuration method described above may be executed. Alternatively, in other implementations, the processor 1201 may be configured to execute one or more steps in the resource configuration method described above in any other appropriate manner (for example, by means of firmware).

[0230] It should be further noted that the present application may include methods, systems and / or computer program products. The computer program product may include a computer-readable storage medium carrying computer-readable program instructions for executing various aspects of the present application.

[0231] The embodiment of the present application provides a storage medium on which a computer program is stored, and when the computer program is executed by a processor, some or all of the steps in the above method can be implemented. The computer-readable storage medium can be transient or non-transient.

[0232] An embodiment of the present application provides a computer program, including computer-readable program instructions. When the computer-readable program instructions are executed in a computer device, a processor in the computer device executes some or all of the steps in the above method.

[0233] The present application embodiment provides a computer program product, including a computer program or an instruction, which, when executed by a processor, can implement some or all of the steps in the above method. The computer program product can be implemented specifically by hardware, software, or a combination thereof. In some embodiments, the computer program product is specifically embodied as a computer storage medium, and in other embodiments, the computer program product is specifically embodied as a software product, such as a software development kit (SDK).

[0234] Computer readable storage medium can be a tangible device that can hold and store instructions used by an instruction execution device. Computer readable storage medium can be, for example, but not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof. More specific examples (non-exhaustive list) of computer readable storage medium include: a portable computer disk, a hard disk, a random access memory, a read-only memory, an erasable programmable read-only memory (EPROM), a flash memory, a static random access memory (SRAM), a portable compact disk read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanical encoding device, such as a punch card or a protruding structure in a groove on which instructions are stored, and any suitable combination thereof. The computer-readable storage medium used in this document is not to be interpreted as a transient signal itself, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagated through a waveguide or other transmission medium (for example, light pulses through a fiber optic cable), or an electrical signal transmitted through wires.

[0235] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to each computing / processing device, or to a processing device, or to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network can include copper transmission cables, optical fiber transmissions, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. The network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in the computer-readable storage medium in each computing / processing device.

[0236] The computer program instructions for performing the operation of the present application may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-related instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Smalltalk, C++, etc., and conventional procedural programming languages ​​such as C language or similar programming languages. The computer-readable program instructions may be executed entirely on a user's computer, partially on a user's computer, as an independent software package, partially on a user's computer, partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., using an Internet service provider to connect via the Internet). In some embodiments, by utilizing the state information of computer-readable program instructions to personalize an electronic circuit, such as a programmable logic circuit, a field programmable gate array, or a programmable logic array (PLA), the electronic circuit can execute the computer-readable program instructions to implement various aspects of the present application.

[0237] Various aspects of the present application are described herein with reference to the flow chart and / or step diagram of the method, device (system), and computer program product according to the exemplary embodiments of the present application. It should be understood that each step of the flow chart and / or step diagram and the combination of each step in the flow chart and / or step diagram can be implemented by computer-readable program instructions.

[0238] These computer-readable program instructions can be provided to a processor in a voice interaction device, a general-purpose computer, a special-purpose computer, or a processing unit of other programmable data processing devices, thereby producing a machine, so that when these instructions are executed by a processing unit of a computer or other programmable data processing device, a device that implements the functions / steps specified in one or more steps in a flowchart and / or a step diagram is generated. These computer-readable program instructions can also be stored in a computer-readable storage medium, and these instructions enable a computer, a programmable data processing device, and / or other devices to work in a specific manner, so that a computer-readable medium storing instructions includes a manufactured product, which includes instructions for implementing various aspects of the functions / steps specified in one or more steps in a flowchart and / or a step diagram.

[0239] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device so that a series of operating steps are performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to implement the functions / steps specified in one or more steps in the flowchart and / or step diagram.

[0240] The flow chart and step diagram in the accompanying drawings show the possible architecture, function and operation of the equipment, method and computer program product according to multiple embodiments of the present application. In this regard, each step in the flow chart or step diagram can represent a part of a module, program segment or instruction, and a part of the module, program segment or instruction includes one or more executable instructions for realizing the specified logical function. In some alternative implementations, the functions marked in the steps can also occur in a sequence different from that marked in the accompanying drawings. For example, two consecutive steps can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each step in the step diagram and / or flow chart, and the combination of the steps in the step diagram and / or flow chart, can be implemented with a dedicated hardware-based system that performs a specified function or action, or can be implemented with a combination of dedicated hardware and computer instructions.

[0241] The above embodiments are only preferred embodiments for fully illustrating the present application, and the protection scope of the present application is not limited thereto. Any equivalent substitution or change made by a person skilled in the art based on the present application is within the protection scope of the present application.

Claims

1. A firmware upgrade method, characterized in that: Applied to a vehicle terminal, the firmware upgrade method includes: Receiving a partition query request sent by a transmitting end; the partition query request is used to obtain the number of at least two target partitions of the vehicle terminal; the target partition is a storage partition storing firmware to be upgraded; Sending feedback information to the sending end; the feedback information carries quantity information indicating that the number of the target partitions is single; receiving firmware package data sent by the sending end in response to the feedback information; Based on the firmware package data, the firmware to be upgraded corresponding to the at least two target partitions are upgraded.

2. The firmware upgrade method according to claim 1, characterized in that: The method further comprises: receiving virtual partition information corresponding to the name information of the at least two target partitions sent by the sending end; the virtual partition information includes the virtual partition name corresponding to the target partition and priority identification information indicating the priority order; The step of upgrading the firmware to be upgraded corresponding to the at least two target partitions respectively based on the firmware package data includes: Based on the virtual partition names of the at least two target partitions and the priority identification information of the at least two target partitions, the firmware to be upgraded corresponding to the at least two target partitions are upgraded through the firmware package data.

3. The firmware upgrade method according to claim 1 or 2, characterized in that: Before receiving the partition query request sent by the sender, including: Determine the preset firmware upgrade acceleration state; In a case where the firmware upgrade acceleration state is enabled, quantity information indicating that the number of the target partitions is a single one is determined.

4. The firmware upgrade method according to claim 2, characterized in that: The method of upgrading the firmware to be upgraded corresponding to the at least two target partitions respectively based on the virtual partition names of the at least two target partitions and the priority identification information of the at least two target partitions through the firmware package data includes: Determining the priorities of the at least two target partitions based on the priority identification information of the at least two target partitions; Based on the priorities of the at least two target partitions, the virtual partition names of the at least two target partitions and the firmware package data, the firmware to be upgraded corresponding to the at least two target partitions are upgraded in sequence.

5. The firmware upgrade method according to claim 4, characterized in that: The method of sequentially upgrading the firmware to be upgraded corresponding to the at least two target partitions respectively based on the priorities of the at least two target partitions, the virtual partition names of the at least two target partitions, and the firmware package data comprises: Based on the priorities of the at least two target partitions, the virtual partition names of the at least two target partitions, and the firmware package data, the firmware to be upgraded of the target partition with the highest priority among the at least two target partitions is upgraded, and a first parameter in a configuration file of a transmission protocol for transmitting the firmware package data is updated; the first parameter is used to characterize the number of remaining target partitions among the at least two target partitions; The firmware to be upgraded in the remaining target partitions is upgraded based on the updated first parameter, the priority of the remaining target partitions in the at least two target partitions, the virtual partition names of the remaining target partitions, and the firmware package data.

6. The firmware upgrade method according to claim 5, characterized in that: The method of upgrading the firmware to be upgraded of the target partition with the highest priority among the at least two target partitions based on the priorities of the at least two target partitions, the virtual partition names of the at least two target partitions, and the firmware package data, and updating the first parameter in the configuration file of the transmission protocol for transmitting the firmware package data, includes: Determine, based on the priorities of the at least two target partitions and the virtual partition names of the at least two target partitions, the virtual partition name of the target partition with the highest priority among the at least two target partitions; In the process of upgrading the firmware to be upgraded in the target partition with the highest priority corresponding to the virtual partition name based on the firmware package data, determining whether the first parameter meets a preset condition; the preset condition is used to indicate that the number of the remaining target partitions is greater than or equal to 1; When the first parameter meets a preset condition, updating the first parameter; The number of remaining target partitions represented by the updated first parameter is smaller than the number of remaining target partitions represented by the first parameter.

7. The firmware upgrade method according to claim 5 or 6, characterized in that: The step of upgrading the firmware to be upgraded in the remaining target partitions based on the updated first parameter, the priority of the remaining target partitions in the at least two target partitions, the virtual partition names of the remaining target partitions, and the firmware package data includes: Determine the virtual partition name of the next upgraded target partition among the remaining target partitions based on the priorities of the remaining target partitions and the virtual partition names of the remaining target partitions; Based on the firmware package data, upgrading the firmware to be upgraded in the next upgraded target partition corresponding to the virtual partition name; In a case where the updated first parameter does not satisfy a preset condition, it is determined that the upgrade of the firmware to be upgraded in the remaining target partitions is completed.

8. A firmware upgrade method, characterized in that: Applied to the sending end, the firmware upgrade method includes: Sending a partition query request to the vehicle terminal; the partition query request is used to obtain the number of at least two target partitions of the vehicle terminal; the target partition is a storage partition storing firmware to be upgraded; receiving feedback information sent by the vehicle terminal; the feedback information carries quantity information indicating that the number of the target partitions is a single one; The firmware package data is sent to the vehicle terminal.

9. A firmware upgrade device, characterized in that: Applied to a vehicle terminal, the firmware upgrade device comprises: A first receiving module, configured to receive a partition query request sent by a transmitting end; the partition query request is used to obtain the number of at least two target partitions of the vehicle terminal; the target partition is a storage partition storing firmware to be upgraded; A sending module, configured to send feedback information to the sending end; the feedback information carries quantity information indicating that the number of the target partitions is a single one; A second receiving module, configured to receive firmware package data sent by the sending end in response to the feedback information; An upgrade module is used to upgrade the firmware to be upgraded corresponding to the at least two target partitions respectively based on the firmware package data.

10. A firmware upgrade device, characterized in that: include: A memory for storing executable instructions; A processor, configured to implement the method according to any one of claims 1 to 8 when executing the executable instructions stored in the memory.

Citation Information

Patent Citations

  • Method and system for firmware upgrade

    CN105591824A

  • System upgrading method, terminal and storage medium

    CN111522566A

  • Interface testing method and device, storage medium and electronic device

    CN112799959A

  • Vehicle-mounted terminal firmware upgrading method and electronic device

    CN113703801A

  • Firmware upgrading system and method

    CN113885907A