A firmware upgrading method, device and equipment
By feeding back the number of target partitions as a single value from the vehicle terminal and introducing virtual partition names and priority identifiers, the firmware upgrade process is optimized, solving the problem of low efficiency in traditional firmware upgrades and achieving more efficient firmware upgrades and system stability.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-15
- Publication Date
- 2026-04-07
AI Technical Summary
In the traditional firmware upgrade process, the firmware package needs to be downloaded twice and written to different partitions of the vehicle, resulting in low upgrade efficiency, especially when network conditions are poor.
After receiving the partition query request from the sender, the vehicle terminal reports that the number of target partitions is a single one, and upgrades multiple target partitions separately based on the received firmware package data, introducing virtual partition names and priority identification information to optimize the upgrade process.
By simplifying the process and reducing redundant download steps, firmware upgrade efficiency has been improved, time and resource waste has been reduced, critical functional partitions have been prioritized for updates, and system stability has been enhanced.
Smart Images

Figure CN119806594B_ABST
Abstract
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
[0002] The operating system and cockpit system of an intelligent vehicle are usually stored in the hardware firmware of the vehicle. In the production process of a vehicle, firmware upgrade usually takes a long time. In the traditional firmware upgrade process, the firmware package needs to be downloaded twice and written into different partitions of the vehicle, which is a relatively long process, resulting in low efficiency of firmware upgrade. Therefore, how to optimize the firmware upgrade process and improve the efficiency of the firmware upgrade process has become an important problem to be solved. SUMMARY
[0003] Therefore, the embodiments of the present application at least provide a firmware upgrade method, device and equipment.
[0004] The technical solutions of the embodiments of the present application are as follows:
[0005] In a first aspect, the embodiments of the present application provide a firmware upgrade method, which is applied to a vehicle terminal. The firmware upgrade method comprises the following steps: receiving a partition inquiry request sent by a sending end; the partition inquiry request is used to obtain the number of at least two target partitions of the vehicle terminal; the target partition is a storage partition that stores firmware to be upgraded; sending feedback information to the sending end; the feedback information carries number information representing that the number of target partitions is a single number; receiving firmware package data sent by the sending end in response to the feedback information; and upgrading the firmware to be upgraded corresponding to the at least two target partitions based on the firmware package data.
[0006] In this way, after the vehicle terminal receives the target partition number request sent by the sending end for inquiring the target partition that stores the firmware to be upgraded, the vehicle terminal feeds back to the sending end that the number of target partitions is a single number. Then, the vehicle terminal receives the firmware package data sent by the sending end, and upgrades the firmware to be upgraded corresponding to the at least two target partitions based on the received firmware package data. By feeding back that the number of target partitions is a single number to simplify the process, the vehicle terminal can skip the operation of downloading the firmware data package again after the partition upgrade is completed in the conventional upgrade process. The firmware package data is downloaded once to upgrade the firmware to be upgraded in the at least two target partitions, thereby improving the efficiency of the firmware upgrade process.
[0007] Further, the firmware upgrading 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 comprises a virtual partition name corresponding to the target partition and priority identification information representing a priority order. Based on the firmware package data, the firmware to be upgraded corresponding to the at least two target partitions is upgraded, comprising: based on the virtual partition name 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 name corresponding to the at least two target partitions sent by the sending end and the priority identification information representing the priority order are received. By introducing the virtual partition name, a unique identifier is provided for each target partition, effectively reducing the upgrading errors caused by name confusion or repetition and improving the efficiency in the firmware upgrading process. In addition, through the priority identification information, the partition where the key function or data is located can be updated preferentially, thereby improving the stability of the system.
[0009] Further, before receiving the partition query request sent by the sending end, it comprises: determining a preset firmware upgrading acceleration state; in the case that the firmware upgrading acceleration state is enabled, determining quantity information representing that the number of target partitions is single.
[0010] In this way, by presetting the firmware upgrading acceleration state and determining that the number of target partitions is single when the state is enabled, the process of the firmware upgrading 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 in the firmware upgrading process and improving the efficiency of the firmware upgrading process.
[0011] Further, based on the virtual partition name 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, comprising: determining the priority of the at least two target partitions based on the priority identification information of the at least two target partitions; based on the priority of the at least two target partitions, the virtual partition name 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 is upgraded in turn.
[0012] In this way, based on the priority identification information of the at least two target partitions, the priority upgrading order of the firmware to be upgraded of the target partitions is determined, and then according to the virtual partition name of the target partitions and the firmware package data, the firmware to be upgraded in the preset target is upgraded in turn according to the priority upgrading order. The orderliness and accuracy of the firmware upgrading are realized, the upgrading efficiency is improved, and the time and resources wasted by repeatedly downloading the firmware data package are effectively reduced.
[0013] Further, based on the priority of the at least two target partitions, the virtual partition name of the at least two target partitions, and the firmware package data, the to-be-upgraded firmware corresponding to the at least two target partitions is upgraded in sequence, including: based on the priority of the at least two target partitions, the virtual partition name of the at least two target partitions, and the firmware package data, the to-be-upgraded firmware of the target partition with the highest priority in the at least two target partitions is upgraded, and a first parameter in a configuration file of a transmission protocol used to transmit the firmware package data is updated; the first parameter is used to represent the number of remaining target partitions in the at least two 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 name of the remaining target partitions, and the firmware package data, the to-be-upgraded firmware of the remaining target partitions is upgraded.
[0014] In this way, the priorities of the at least two target partitions are determined based on the priority identification information of the at least two target partitions, and then the to-be-upgraded firmware corresponding to the at least two target partitions is upgraded in sequence according to the priorities, the virtual partition name of the target partitions, and the firmware package data. The to-be-upgraded firmware in the target partition with a high priority is arranged to be upgraded preferentially, so that the key functions in the firmware are updated in time, and the stability of the entire firmware upgrade process is improved.
[0015] Further, based on the priority of the at least two target partitions, the virtual partition name of the at least two target partitions, and the firmware package data, the to-be-upgraded firmware of the target partition with the highest priority in the at least two target partitions is upgraded, and a first parameter in a configuration file of a transmission protocol used to transmit the firmware package data is updated, including: based on the priority of the at least two target partitions, the virtual partition name of the at least two target partitions, the virtual partition name of the target partition with the highest priority in the at least two target partitions is determined; in the process of upgrading the to-be-upgraded firmware 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 satisfies a preset condition; the preset condition is used to represent that the number of the remaining target partitions is greater than or equal to 1; in the case where the first parameter satisfies the preset condition, the first parameter is updated; wherein the number of the remaining target partitions represented by the updated first parameter is less than the number of the remaining target partitions represented by the first parameter.
[0016] Therefore, when upgrading the firmware to be upgraded in the target partition with the highest priority among the remaining target partitions, it is determined whether the upgrading process continues by judging whether the first parameter meets the preset condition. In the case that the first parameter meets the preset condition, it indicates that there are still remaining target partitions to be upgraded, and the value of the first parameter is updated to reflect that the number of the remaining target partitions to be upgraded in the vehicle terminal has been reduced. This enables the vehicle terminal to upgrade each partition in the order of priority, thereby skipping the operation of downloading the firmware data packet again after the partition is upgraded in the conventional upgrading process, effectively reducing unnecessary repeated downloading and improving the efficiency of the firmware upgrading process.
[0017] Further, based on the updated first parameter, the priority of the remaining target partition among the at least two target partitions, the virtual partition name of the remaining target partition, and the firmware package data, the firmware to be upgraded in the remaining target partition is upgraded, including: determining the virtual partition name of the next upgraded target partition in the remaining target partition based on the priority of the remaining target partition and the virtual partition name of the remaining target partition; 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 determining that the upgrading of the firmware to be upgraded in the remaining target partition is completed in the case that the updated first parameter does not meet the preset condition.
[0018] Therefore, according to the priority of the remaining target partition and the virtual partition name of the remaining target partition, the virtual partition names of the currently determined updated target partition and the next target partition to be updated are accurately tracked, the system can accurately lock the firmware to be upgraded in the target partition matched with the virtual partition names, and update them in turn, and when the updated parameter no longer meets the condition for continuing the upgrading, it is determined that the firmware upgrading of all the remaining target partitions is 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 upgrading process.
[0019] In a second aspect, an embodiment of the present application provides a firmware upgrading method, which is applied to a sending end. The firmware upgrading method comprises the following steps: sending a partition inquiry request to a vehicle terminal; the partition inquiry request is used to acquire 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 number information representing that the number of target partitions is a single number; and sending firmware package data to the vehicle terminal.
[0020] In a third aspect, the embodiments of the present application provide a firmware upgrading device, which is applied to a vehicle terminal. The firmware upgrading device comprises: a first receiving module, configured to receive a partition query request sent by a sending 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 in which the firmware to be upgraded is stored; a sending module, configured to send feedback information to the sending terminal; the feedback information carries number information representing that the number of the target partitions is a single number; a second receiving module, configured to receive firmware package data sent by the sending terminal in response to the feedback information; and an upgrading module, configured to upgrade the firmware to be upgraded corresponding to the at least two target partitions based on the firmware package data.
[0021] In a fourth aspect, the embodiments of the present application provide a firmware upgrading device, which comprises a memory and a processor. The memory stores a computer program capable of running on the processor. When the processor executes the program, some or all steps in the above method are implemented.
[0022] It should be understood that the above general description and the following detailed description are only exemplary and explanatory, but not limiting the technical solutions of the present application. BRIEF DESCRIPTION OF DRAWINGS
[0023] The accompanying drawings, which are incorporated into and form part of the specification, illustrate embodiments consistent with the present application and, together with the specification, serve to explain the technical solutions of the present application.
[0024] Figure 1 An implementation flowchart of a firmware upgrading method in the related art;
[0025] Figure 2 An implementation flowchart of a firmware upgrading method provided by the embodiments of the present application Figure 1 ;
[0026] Figure 3 An implementation flowchart of a firmware upgrading method provided by the embodiments of the present application Figure 2 ;
[0027] Figure 4 An implementation flowchart of a firmware upgrading method provided by the embodiments of the present application Figure 3 ;
[0028] Figure 4 An implementation flowchart of a firmware upgrading method provided by the embodiments of the present application Figure 5 ;
[0029] Figure 5 An implementation flowchart of a firmware upgrading method provided by the embodiments of the present application Figure 6 ;
[0030] Figure 6An implementation flow of a firmware upgrading method provided by an embodiment of the present application Figure 7 ;
[0031] Figure 7 An implementation flow of a firmware upgrading method provided by an embodiment of the present application Figure 8 ;
[0032] Figure 8 An implementation flow of a firmware upgrading method provided by an embodiment of the present application Figure 9 ;
[0033] Figure 1 An implementation flow of a firmware upgrading method provided by an embodiment of the present application Figure 10 ;
[0034] Figure 2 An implementation flow of a firmware upgrading method provided by an embodiment of the present application
[0035] Figure 11 An implementation flow of a firmware upgrading method provided by an embodiment of the present application DETAILED DESCRIPTION
[0036] The present application will be described with reference to the attached drawings and preferred embodiments, and the skilled in the art can easily understand other advantages and effects of the present application from the contents disclosed in the present specification. The present application can also be implemented or applied in other different specific embodiments, and the details in the present specification can be modified or changed based on different views 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, but not for limiting the protection scope of the present application.
[0037] It should be noted that the diagrams provided in the following embodiments only schematically illustrate the basic concept of the present application, and only the components related to the present application are shown in the diagrams, but not drawn according to the number, shape and size of the components in actual implementation, and the type, number and ratio of the components in actual implementation can be randomly changed, and the component layout type can also be more complex.
[0038] In the following description, "some embodiments" are related to a subset of all possible embodiments, but it can be understood that "some embodiments" can be the same subset or different subset of all possible embodiments, and can be combined with each other without conflict.
[0039] The terms "first / second / third" are only used to distinguish similar objects, and do not represent a specific order of the objects. It can be understood that the "first / second / third" can be exchanged in a specific order or sequence as allowed, so that the embodiments 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 commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing the present application only and is not intended to be limiting of the present application.
[0041] Before describing the sequence processing method of the embodiments of the present application, the professional terms involved in the embodiments of the present application are first explained:
[0042] Universal Bootloader (Uboot): In embedded systems, Uboot is the first program executed when the system starts, responsible for initializing hardware devices, loading the operating system kernel and root file system, and providing an interactive command line interface for users to configure, debug and maintain operations.
[0043] Fastboot protocol: a powerful and widely used firmware upgrade and underlying operation tool, through the boot of Uboot, it can realize partition operation, image burning, device restart, information acquisition and bootloader unlocking and other functions.
[0044] Nowadays, intelligent cars play an increasingly important role in people's lives, and play a multi-faceted role in modern society, which can improve driving experience, facilitate travel, improve energy efficiency and improve the quality of life of residents, so people's acceptance of intelligent cars is getting higher and higher. At the same time, this has brought a large number of orders to many car manufacturers. In order to meet the strong demand, manufacturers have also increased the speed of car production. As the soul component of intelligent cars, the operating system and the cockpit system are usually stored in the car hardware firmware. In the car production process, the time required for firmware upgrade cannot be ignored.
[0045] In the traditional firmware upgrade process, in order to achieve the security and recoverability of data, a backup partition is usually set. This means that the host firmware package needs to be transmitted from the sending end to the receiving end twice: the first time is to upgrade the firmware on the main partition, and the second time is to copy the same firmware package to the backup partition. This redundancy in the process results in repeated downloading of the same firmware package, increasing the time required for the upgrade process, especially in an environment with poor network conditions, the difference in time will be more obvious and disturbing.
[0046] Exemplarily,Figure 12 The implementation flowchart of the firmware upgrading method in the related art is shown. As shown in Figure 1 the figure, it can include steps S101 to S109, which are described below in combination with the steps shown in the figure. Figure 1
[0047] Step S101, the sending end analyzes the input transmission command.
[0048] Step S102, the sending end sends a partition inquiry command.
[0049] Step S103, the receiving end receives and analyzes the partition inquiry command, and feeds back to the sending end that there is a partition and the number of partitions.
[0050] Step S104, the sending end sends a download buffer size inquiry command.
[0051] Step S105, the receiving end receives and analyzes the download buffer size inquiry command, and feeds back to the sending end the download buffer size.
[0052] Step S106, the sending end sends a 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 receiving end feeds back to the sending end the 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 to the sending end the burning completion information.
[0056] As can be seen, when the firmware is upgraded by using the transmission protocol (for example, the Fastboot protocol), there is a problem that, since the Fastboot protocol itself does not have an optimization mechanism for repeated transmission of the same firmware package, in the case of multiple downloads of the same firmware package, time resources are wasted, and the efficiency of the firmware upgrading process is reduced.
[0057] In order to solve the problems in the related art, the embodiment of the present application provides a firmware upgrading method. Figure 1 The implementation flowchart of the firmware upgrading method provided by the embodiment of the present application is shown in Figure 2 The firmware upgrading method in the embodiment of the present application can be executed by a vehicle terminal, as shown in Figure 1 the figure, the firmware upgrading method can be implemented through steps S201 to S204:
[0058] Step S201, a partition inquiry request sent by the sending end is received.
[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 in which the firmware to be upgraded is stored.
[0060] It can be understood that there are multiple target partitions containing firmware to be upgraded in the vehicle terminal, and the size and number of these target partitions, querying the number information of the target partition is a necessary step for the smooth progress of the firmware upgrade.
[0061] The partition can be a plurality of logical areas divided on a computer storage device, each area can have different file systems and purposes, and is used to organize and manage data. Firmware refers to a software program embedded in a hardware device, which is a bridge between hardware and application programs, responsible for basic operations and instruction execution of hardware.
[0062] In the embodiments of the application, the firmware in the target partition is developed based on the same framework, so that the firmware upgrade on all target partitions can be realized by sharing the same firmware package data for firmware upgrade.
[0063] Exemplarily, the firmware can be an embedded operating system firmware, an embedded in-vehicle infotainment system, and an 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] Exemplarily, the partition helps to manage and protect the storage of the firmware, so that the device can be safely and normally started. The firmware stored in the partition makes firmware update and recovery easier.
[0066] In some embodiments, the sending end can 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 sending end can include receiving the partition query request sent by the sending end based on a universal bootloader. Exemplarily, the vehicle terminal receives the partition query request sent by the sending end based on Uboot or Coreboot. Wherein, Coreboot is an open source bootloader, which focuses on fast startup and can load multiple operating systems.
[0068] Further, receiving the partition query request sent by the sending end based on the universal bootloader can include receiving the partition query request sent by the sending end based on the transmission protocol of the universal bootloader. Exemplarily, the vehicle terminal receives the partition query request sent by the sending end based on the Fastboot transmission protocol of Uboot.
[0069] Step S202, sending feedback information to the sending end.
[0070] In some embodiments, the feedback information carries quantity information representing that the number of target partitions is a single number.
[0071] It can be understood that in the existing firmware upgrade process, the vehicle terminal first feeds back to the sending end the number of target partitions of the firmware to be upgraded. When the vehicle terminal feeds back to the sending end that there are multiple target partitions, the sending end will send the vehicle terminal firmware package data corresponding to the multiple target partitions based on the number of target partitions. For example, if the number of target partitions is two, the sending end will send the firmware package data twice. Subsequently, the vehicle terminal will download each firmware package data sent by the sending end. Therefore, the feedback information carrying the quantity information representing that the number of target partitions is a single number can be sent to the sending end to reduce the number of downloads of the firmware package by the vehicle terminal.
[0072] In some embodiments, sending the feedback information to the sending end can include sending the feedback information to the sending end based on a universal bootloader. For example, the vehicle terminal sends the feedback information to the sending end based on Uboot or Coreboot.
[0073] Further, the universal bootloader sending the feedback information to the sending end can include the universal bootloader sending the feedback information to the sending end based on a transmission protocol of the universal bootloader. For example, the vehicle terminal sends the feedback information to the sending end based on the Fastboot transmission protocol of Uboot.
[0074] Step S203, receiving firmware package data sent by the sending end in response to the feedback information.
[0075] The firmware package data refers to a collection of files required for firmware upgrade, update, burning or installation, including underlying code for device hardware and software control, configuration files and related resources.
[0076] In some embodiments, receiving firmware data sent by the sending end in response to the feedback information includes accepting 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 package according to the CAN bus communication protocol, verifies the integrity and correctness of the firmware package data, and monitors the transmission state in real time. Through this process, the vehicle terminal can successfully transmit the firmware package data to the specified target partition, thereby completing the firmware upgrade operation.
[0078] Step S204, upgrading the firmware to be upgraded corresponding to at least two target partitions based on the firmware package data.
[0079] It can be understood that the storage device is usually configured with multiple partitions for storing firmware, and the same firmware can exist in different versions. When the firmware is upgraded, the firmware package data can act on the partitions at the same time to update the firmware in the partitions, regardless of whether the firmware versions are the same or different from the latest version.
[0080] In some embodiments, based on the firmware package data, upgrading the to-be-upgraded firmware corresponding to the at least two target partitions respectively can include: based on the firmware package data, upgrading the to-be-upgraded firmware corresponding to the at least two target partitions respectively by an over-the-air (OTA) technology. The OTA is a wireless communication technology that allows devices to remotely download and install firmware, operating system, or application updates over a network without physically connecting the device.
[0081] For example, the vehicle terminal pushes the firmware package data to the target partitions by the OTA technology, and remotely upgrades the to-be-upgraded firmware of each target partition.
[0082] In some embodiments, based on the firmware package data, upgrading the to-be-upgraded firmware corresponding to the at least two target partitions respectively can include: based on the firmware package data, upgrading the to-be-upgraded firmware corresponding to the at least two target partitions respectively by a serial port (Serial).
[0083] In some embodiments, the vehicle terminal is connected to the storage partition through the serial port, enters a general boot program mode, and remotely upgrades the to-be-upgraded firmware of each target partition.
[0084] For example, the vehicle terminal pushes the firmware package data to the target partitions by the OTA technology, and remotely upgrades the to-be-upgraded firmware of each target partition.
[0085] In the embodiments of the present application, after receiving the request for querying the number of target partitions of the storage partition storing the to-be-upgraded firmware sent by the sending end, 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 upgrades the to-be-upgraded firmware corresponding to the at least two target partitions respectively based on the received firmware package data. By feeding back that the number of target partitions is single, the process is simplified, and the vehicle terminal can skip the operation of downloading the firmware data packet again after the partition upgrade is completed in the conventional upgrade process. The to-be-upgraded firmware in the at least two target partitions can be upgraded by downloading the firmware package data once, thereby improving the efficiency of the firmware upgrade process.
[0086] In some embodiments, the firmware upgrade method can also be implemented by step S205, and the above step S204 can be implemented by step S206:
[0087] Step S205, receiving the virtual partition information corresponding to the name information of the 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 the priority order.
[0089] In some embodiments, the virtual partition information can be provided by the technician to the sending end.
[0090] It can be understood that the vehicle terminal cannot determine which partition the to-be-upgraded firmware is upgraded, and the sending end needs to specify the partition name through the command to tell the receiving end which partition the firmware should be upgraded. In the case of multiple partitions, inconsistent naming of partitions may lead to difficulty in accurately identifying and locating each target partition. Therefore, in order to improve the correctness of the firmware upgrade, the vehicle terminal needs to receive the virtual partition information including the priority order and the virtual partition name sent by the sending end.
[0091] In some embodiments, the virtual partition name can also include priority identification information. For example, the virtual partition names corresponding to the target partitions 1, 2 and 3 can be "System_1", "System_2" and "System_3" respectively, wherein the number "1" in "System_1" indicates that the priority of the target partition 1 is the highest, and so on. The number "2" in "System_2" indicates that the priority of the target partition 2 is the second highest.
[0092] In some embodiments, receiving the virtual partition information corresponding to the name information of at least two target partitions sent by the sending end can include receiving the virtual partition information corresponding to the name information of at least two target partitions sent by the sending end before receiving the partition inquiry request sent by the sending end.
[0093] It can be understood that by corresponding the virtual partition information to the name of the target partition in advance, the receiving end can no longer need to perform complex lookup or calculation operations after receiving the partition inquiry request, thereby reducing the response delay.
[0094] In 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 to-be-upgraded firmware corresponding to the at least two target partitions is upgraded through the firmware package data.
[0095] It can be understood 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 to-be-upgraded firmware. After obtaining the virtual partition name and the priority identification information, the vehicle terminal can sort the to-be-upgraded firmware based on these two conditions, thereby realizing the ordered upgrade operation.
[0096] In some embodiments, based on the virtual partition name of the at least two target partitions and the priority identification information of the at least two target partitions, upgrading the to-be-upgraded firmware corresponding to the at least two target partitions by the firmware package data can include, based on the virtual partition name of the at least two target partitions and the priority identification information of the at least two target partitions, upgrading the to-be-upgraded firmware corresponding to the at least two target partitions by the incremental upgrade technology and the firmware package data.
[0097] The incremental upgrade technology refers to, in a software or firmware update process, only transmitting and updating the part of data that is different from the current version, instead of the entire firmware package data.
[0098] For example, the vehicle terminal sorts the upgrade priorities of the target partitions by the virtual partition name of the target partition and the corresponding priority identification information, and 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 to-be-upgraded firmware in the target partition, thereby realizing the rapid upgrade of the to-be-upgraded firmware and improving the efficiency of the firmware upgrade process.
[0099] In the embodiments of the present application, the virtual partition name corresponding to the at least two target partitions and the priority identification information indicating the priority order are received. By introducing the virtual partition name, a unique identifier is provided for each target partition, which effectively reduces the upgrade errors caused by name confusion or repetition and improves the efficiency in the firmware upgrade process. In addition, through the priority identification information, the partition where the key function or data is located can be updated preferentially, thereby improving the stability of the system.
[0100] In some embodiments, Figure 2 An implementation flow of the firmware upgrade method provided in the embodiments of the present application is shown Figure 3 As shown in Figure 2 Before the step of receiving the partition query request sent by the sending end in step S201, steps S301 and S302 can be included, which will be described below in combination with the steps shown in Figure 3
[0101] In step S301, the preset firmware upgrade acceleration state is determined.
[0102] In some embodiments, determining the preset firmware upgrade acceleration state can include determining the preset firmware upgrade acceleration state by determining the setting of the environment variable in the universal bootloader configuration file.
[0103] Exemplarily, the vehicle terminal determines the preset firmware upgrade acceleration state by determining the setting of an environment variable in a Uboot configuration file. 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 as "true", it indicates that the firmware upgrade acceleration state is enabled (turned on). When the value of the speedup_flag parameter is configured as "false", it indicates that the firmware upgrade acceleration state is not enabled (turned off).
[0104] In some embodiments, determining the preset firmware upgrade acceleration state can include determining the preset firmware upgrade acceleration state by a custom configuration file. The custom configuration file has a higher priority than the configuration file used by the vehicle terminal in the data transmission process, and can be designed by the developer of the vehicle terminal.
[0105] Exemplarily, in the case that the vehicle terminal performs data transmission with the sending end based on the Fastboot transmission protocol of Uboot, the developer of the vehicle terminal configures a custom configuration file having a higher priority than the default configuration file of Fastboot, and configures a speedup_flag parameter in the custom configuration file, which is used to control the execution of the firmware upgrade acceleration function. If the speedup_flag parameter is set as "able" in the custom configuration file, it indicates that the firmware upgrade acceleration function is allowed to be turned on. If the speedup_flag parameter is set as "disable", it indicates that the firmware upgrade acceleration function is not allowed to be turned on. In the case that the firmware upgrade acceleration state is not enabled, the firmware upgrade acceleration function can still be enabled if the value of the speedup_flag parameter in the custom configuration file is "able". Once the firmware upgrade acceleration command enters the listening state, the firmware upgrade acceleration function will be turned on.
[0106] In step S302, in the case that the firmware upgrade acceleration state is enabled, the quantity information indicating that the quantity of target partitions is single is determined.
[0107] It can be understood that the feedback information sent by the vehicle terminal represents the quantity of target partitions that need to be upgraded. Therefore, in the case that the firmware upgrade acceleration state is enabled, the vehicle terminal can optimize the efficiency of the firmware upgrade process by determining that the quantity of target partitions represented is less than the actual quantity of target partitions.
[0108] In the embodiments of the present application, the firmware upgrade acceleration state is preset, and when the state is enabled, the number of target partitions is determined as one, so that 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 3 An implementation process of a firmware upgrade method provided in the embodiments of the present application is shown Figure 4 As shown in FIG. 6, step S206 includes step S401 and step S402, which will be described below in combination with the steps shown in FIG. 4. Figure 3 Figure 4 As shown in FIG. 4, step S401 includes step S4011 and step S4012, which will be described below in combination with the steps shown in FIG. 4.
[0110] Step S4011, determining the priority of the at least two target partitions based on the priority identification information of the at least two target partitions.
[0111] In some embodiments, determining the priority of the at least two target partitions based on the priority identification information of the at least two target partitions can include determining the priority of the at least two target partitions based on the priority identification information of the at least two target partitions and a preset priority rule.
[0112] In some embodiments, determining the priority of the at least two target partitions based on the priority identification information of the at least two target partitions and a preset priority rule can include, in the case that the priority identification information is a number, determining the priority of the at least two target partitions based on the priority identification information of the at least two target partitions and the preset priority rule.
[0113] For example, in the case that the priority identification information is a number, the preset priority rule can be that the smaller the number, the higher the priority. For example, the priority identification information of target partitions 1, 2 and 3 is 1, 2 and 3 respectively, then based on the preset priority rule, it can be determined that the priority of target partition 1 is the highest, and the priority of target partition 2 is the second highest, and so on.
[0114] In some embodiments, determining the priority of the at least two target partitions based on the priority identification information of the at least two target partitions and a preset priority rule can include, in the case that the priority identification information is a letter, determining the priority of the at least two target partitions based on the priority identification information of the at least two target partitions and the preset priority rule.
[0115] Exemplarily, in the case of the priority identification information letter, the preset priority rule can be that the earlier the letter is in the alphabet, the higher the priority is represented. The priority identification information letters corresponding to the target partitions 1, 2, and 3 can be A, B, and C respectively. Then, based on the preset priority rule, it can be determined that the priority of the target partition 1 is the highest, and the priority of the target partition 2 is the second highest, and so on.
[0116] In some embodiments, determining the priorities of the at least two target partitions based on the priority identification information of the at least two target partitions and the preset priority rule can include, in the case that the virtual partition name includes the priority identification information, determining the priorities of the at least two target partitions based on the priority identification information of the at least two target partitions and the preset priority rule.
[0117] Exemplarily, the priority identification information can be included at the end of the virtual partition name, and the priority identification information can be obtained by segmenting the end of the virtual partition name. The type of the priority identification information is determined, and the priority of the target partition is determined based on the type of the priority identification information. For example, the virtual partition names corresponding to the target partitions 1, 2, and 3 can be “System_A”, “System_B”, and “System_C” respectively. The priority identification information obtained by segmenting the end of the virtual partition name of the target partition 1 “System_A” is “A”, and the end of the virtual partition name of the target partition 2 “System_B” is “B”. Thus, it is determined that the priority of the target partition 1 is higher than that of the target partition 2.
[0118] In step S402, 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 to-be-upgraded firmware corresponding to the at least two target partitions is upgraded in sequence.
[0119] In some embodiments, upgrading the to-be-upgraded firmware 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 can include presetting a priority rule on the universal bootloader, and upgrading the to-be-upgraded firmware 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.
[0120] It can be understood that, in a standard case, the receiving end does not automatically infer which to-be-upgraded firmware of the target partition to upgrade according to 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 to-be-upgraded firmware of the target partition in sequence according to the preset priority rule.
[0121] Exemplarily, the preset priority rule on the Uboot is that in the case that the priority identification information is a number, the smaller the number is, the higher the priority is. Then, in the case that the priority identification information corresponding to the target partitions 1, 2 and 3 is 1, 2 and 3 respectively, the vehicle terminal will upgrade the to-be-upgraded firmware of the target partitions 1, 2 and 3 in turn based on the priority rule.
[0122] In the embodiments of the present application, the priority upgrade order of the to-be-upgraded firmware of the target partitions is determined based on the priority identification information of the at least two target partitions, and then the to-be-upgraded firmware in the preset target is upgraded in turn according to the virtual partition name of the target partition and the firmware package data in the priority upgrade order. The orderliness and accuracy of the firmware upgrade are realized, the upgrade efficiency is improved, and the situation of wasting time and resources due to repeated downloading of firmware data packets is reduced.
[0123] In some embodiments, Figure 4 An implementation flow of a firmware upgrade method provided in the embodiments of the present application is shown in Figure 5 As shown in Figure 4 Step S402 can include step S501 and step S502, which are described below in combination with the steps shown in Figure 5 .
[0124] Step S501, based on the priority of the at least two target partitions, the virtual partition name of the at least two target partitions and the firmware package data, the to-be-upgraded firmware of the target partition with the highest priority in 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 represent the number of remaining target partitions in the at least two target partitions.
[0126] The remaining target partition represents a target partition in all target partitions that still stores to-be-upgraded firmware.
[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 to-be-upgraded firmware in the target partition is upgraded, the field of the first parameter in the configuration file needs to be updated, so that the updated first parameter can reflect the number of the current remaining target partitions that need to be upgraded.
[0128] In some embodiments, the data type of the first parameter can be integer type. Integer type represents a number without decimal part. Exemplarily, in the case that the data type of the first parameter is integer type, when the value of the first parameter is_single_partition is 3, it represents that the number of target partitions that need to be upgraded is 3.
[0129] In some embodiments, the first parameter can also be used to represent whether there are remaining target partitions after the target partition currently undergoing the upgrading operation is upgraded.
[0130] In some embodiments, in the case that the first parameter is used to represent whether the target partition currently undergoing the upgrading operation is the last target partition storing the firmware to be upgraded, the data type of the first parameter can be Boolean type. Boolean type is usually used for data judgment and is represented as true and false. For example, in the case that the value of the first parameter is_single_partition is "false", it represents that there are remaining partitions after the target partition currently undergoing the upgrading operation is upgraded, i.e., the target partition currently undergoing the upgrading operation is not the last target partition undergoing the upgrading operation; in the case that the value of the first parameter is_single_partition is "true", it represents that there are no remaining partitions after the target partition currently undergoing the upgrading operation is upgraded, i.e., the target partition currently undergoing the upgrading operation is the last target partition undergoing the upgrading operation.
[0131] In some embodiments, updating the first parameter in the configuration file of the transmission protocol used for transmitting the firmware package data comprises updating the first parameter in the configuration file of the transmission protocol used for transmitting the firmware package data by setting a logical 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 target partitions to be upgraded during the firmware upgrading process. Specifically, the number of remaining target partitions is read and is_single_partition is updated according to this information, so that in the case of multi-partition upgrading, the system can accurately identify the number of remaining target partitions, effectively reducing the omission of partitions. The flash function is used to transmit the firmware package from the sending end to the vehicle terminal.
[0133] Step S502, based on the updated first parameter, the priority of the remaining target partitions in the at least two target partitions, the virtual partition name of the remaining target partitions, and the firmware package data, upgrading the firmware to be upgraded in the remaining target partitions.
[0134] In this embodiment of the application, upgrading the firmware to be upgraded in the remaining target partition based on the updated first parameter, the priority of the remaining target partition among at least two target partitions, the virtual partition name of the remaining target partition, and the firmware package data may include: determining whether the updated first parameter is equal to a preset threshold; if the updated first parameter is not equal to the preset threshold, upgrading the firmware to be upgraded in the remaining target partition based on the priority of the remaining target partition among at least two target partitions, the virtual partition name of the remaining target partition, and the firmware package data.
[0135] For example, when the updated value of is_single_partition is 2, it indicates that there are still multiple target partitions that need to be upgraded, and the value of is_single_partition has not reached the preset threshold of 0. This means 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 upgrade operations on the firmware of the remaining target partitions based on the number of remaining target partitions, the priority of each partition, the virtual partition name, and the firmware package data.
[0136] In this embodiment, the priority of at least two target partitions is determined based on their priority identifiers. Then, according to these priorities, the virtual partition names of the target partitions, and the firmware package data, the firmware to be upgraded corresponding to each of the at least two target partitions is upgraded sequentially. The firmware to be upgraded in the target partition with higher priority is prioritized for upgrade, thereby ensuring that critical functions in the firmware are updated in a timely manner, thus improving the stability of the entire firmware upgrade process.
[0137] In some embodiments, Figure 5 A schematic diagram of the implementation process of a firmware upgrade method provided in this application embodiment. Figure 6 ,like Figure 5 As shown, step S501 may include steps S601 to S603, which will be discussed below. Figure 6 The steps shown are explained.
[0138] Step S601: Based on the priorities of at least two target partitions and the virtual partition names of at least two target partitions, determine the virtual partition name of the target partition with the highest priority among the at least two target partitions.
[0139] In some embodiments, 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 may include 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, the virtual partition names of the at least two target partitions, and a preset priority rule.
[0140] Exemplarily, the virtual partition names of the target partitions sent by the sending end to the vehicle terminal include "System_C", "System_A" and "System_B", then, the last positions of the virtual partition names are segmented based on the preset priority rule to obtain the priority identification information and the partitions, and it can be determined that the virtual partition name of the target partition with the highest priority is "System_A".
[0141] In step S602, in the process of upgrading the to-be-upgraded firmware in the target partition corresponding to the virtual partition name with the highest priority based on the firmware package data, it is determined whether the first parameter satisfies a preset condition.
[0142] The preset condition is used to represent that the number of the remaining target partitions is greater than or equal to 1.
[0143] In some embodiments, the data type of the first parameter can be integer type and Boolean type.
[0144] Exemplarily, in the case of the judgment condition boolean is_single_partition=(num>=1), that is, judging whether the value of the number num of the remaining target partitions is greater than or equal to 1, when the value of the updated is_single_partition is "false", it indicates that there are still multiple target partitions to be upgraded, and the value of is_single_partition does not reach the preset threshold 0. This shows that the upgrading process has not completed the firmware update of the last target partition. At this time, the system needs to continue to perform the upgrading operation on the to-be-upgraded firmware of the remaining target partitions according to the number of the remaining target partitions, the priority of each partition, the virtual partition name and the firmware package data.
[0145] In step S603, the first parameter is updated when the first parameter satisfies the preset condition.
[0146] The number of the remaining target partitions represented by the updated first parameter is less than the number of the remaining target partitions represented by the first parameter.
[0147] In some embodiments, updating the first parameter includes performing a minus one operation on the value of the first parameter.
[0148] Exemplarily, when the upgrading operation is performed on the to-be-upgraded firmware of the target partition, a minus one operation is performed on the value 3 of the first parameter, and the value of the updated first parameter is 2, which represents that there are still two target partitions of to-be-upgraded firmware to be upgraded after the current to-be-upgraded firmware is upgraded.
[0149] In the embodiment of the present application, when upgrading the to-be-upgraded firmware of the target partition with the highest priority among the remaining target partitions, it is determined whether the upgrading process continues by judging whether the first parameter meets the preset condition. In the case that the first parameter meets the preset condition, it indicates that there are still remaining target partitions to be upgraded, and the value of the first parameter is updated immediately to reflect that the number of the remaining to-be-upgraded partitions of the vehicle terminal has been reduced. This enables the vehicle terminal to upgrade each partition in priority order one by one, thereby skipping the operation of downloading the firmware data packet again after the partition is upgraded in the conventional upgrading process, effectively reducing unnecessary repeated downloading and improving the efficiency of the firmware upgrading process.
[0150] In some embodiments, Figure 6 An implementation flow of a firmware upgrading method provided by the embodiment of the present application is shown Figure 7 As shown in Figure 6 Step S502 can include steps S701-S703, which are described below in combination with the steps shown in Figure 7
[0151] Step S701: 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.
[0152] The next-upgraded target partition represents the target partition in which the next to-be-upgraded firmware needs to be executed immediately after the to-be-upgraded firmware currently being upgraded is upgraded.
[0153] In some embodiments, the virtual partition name of the next-upgraded target partition in the remaining target partitions is determined based on the priority of the remaining target partitions and the virtual partition name of the remaining target partitions and written into the configuration file of the transmission protocol.
[0154] For example, in the configuration file of the Fastboot transmission protocol, the next_partion parameter is included, which is used to represent the virtual partition name of the next-upgraded target partition. When the upgrading operation of the to-be-upgraded firmware of the target partition is performed, the Fastboot determines the target partition with the highest priority in the remaining target partitions based on the priority of the remaining target partitions and the virtual partition name of the remaining target partitions, and specifies the virtual partition name corresponding to the target partition through the next_partion parameter in the configuration file, so as to specify the next to-be-upgraded target partition after the to-be-upgraded firmware is upgraded.
[0155] Step S702: upgrading the to-be-upgraded firmware in the next-upgraded target partition corresponding to the virtual partition name based on the firmware package data.
[0156] In some embodiments, based on the firmware package data, upgrading the to-be-upgraded firmware in the target partition of the next upgrade corresponding to the virtual partition name can include, based on the firmware package data and the configuration file of the transmission protocol, upgrading the to-be-upgraded firmware in the target partition of the next upgrade corresponding to the virtual partition name.
[0157] Exemplarily, in the case that the sending end and the vehicle terminal perform data transmission through Fastboot, if a next_partion parameter indicating a virtual partition name corresponding to a target partition of the next upgrade is specified in the configuration file of Fastboot, the vehicle terminal can transmit the firmware data package to the target partition corresponding to the virtual partition name specified in the next_partion parameter, and then implement the upgrade process of the to-be-upgraded firmware of the next target partition after the current to-be-upgraded firmware upgrade is completed.
[0158] In step S703, in the case that the updated first parameter does not satisfy the preset condition, it is determined that the upgrade of the to-be-upgraded firmware in the remaining target partitions is completed.
[0159] In some embodiments, in the case that the updated first parameter satisfies the preset condition, the above-mentioned step S701 and step S702 are performed.
[0160] In some embodiments, determining that the upgrade of the to-be-upgraded firmware in the remaining target partitions is completed includes, in the case that it is determined that the upgrade of the to-be-upgraded firmware in the remaining target partitions is completed, modifying the configuration file of the transmission protocol to end the upgrade of the to-be-upgraded firmware in the remaining target partitions.
[0161] Exemplarily, in the case that it is determined that the upgrade of the to-be-upgraded firmware in the remaining target partitions is completed, the next_partion parameter indicating the virtual partition name of the target partition of the next upgrade in the configuration file of the transmission protocol is set to a null value, and a step of specifying the next backup partition for the firmware upgrade acceleration process is skipped, so as to end the upgrade of the to-be-upgraded firmware in the remaining target partitions.
[0162] In the embodiments of the present application, according to the priority of the remaining target partitions and the virtual partition names of the remaining target partitions, the virtual partition names of the currently determined updated target partitions and the next to-be-updated target partitions planned in advance are accurately tracked, the system can accurately lock the to-be-upgraded firmware in the target partitions matched with the virtual partition names, and update them in turn, and when the updated parameters no longer satisfy the condition of continuing the upgrade, it is determined that the firmware upgrade of all the remaining target partitions is completed. By accurately tracking the virtual partition names of the target partitions of the next upgrade of the currently updated target partitions, the to-be-upgraded firmware can be further accurately located and upgraded, thereby effectively improving the efficiency of the firmware upgrade process.
[0163] This application also provides a firmware upgrade method. Figure 7 A schematic diagram of the implementation process of a firmware upgrade method provided in this application embodiment. Figure 8 The firmware upgrade method in this application embodiment can be executed by the sending end, such as... Figure 7 As shown, this firmware upgrade method can be implemented through steps S801 to S803:
[0164] Step S801: Send 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 the storage partition that stores the firmware to be upgraded.
[0166] Among them, the vehicle terminal can be an advanced driver assistance system (ADAS), an electronic control unit (ECU), an in-vehicle infotainment system, and an autonomous driving system, etc.
[0167] Step S802: Receive feedback information sent by the vehicle terminal.
[0168] The feedback information carries quantity information indicating that the number of target partitions is a single unit;
[0169] Step S803: Send firmware package data to the vehicle terminal.
[0170] In some embodiments, Figure 8 A flowchart illustrating a firmware upgrade method provided in this application embodiment. Figure 9 This firmware upgrade method is applied to vehicle terminals, such as... Figure 1 As shown, the firmware upgrade method may include steps S901 to S907, which will be discussed below. Figure 9 The steps shown are explained.
[0171] Step S901: Determine the firmware upgrade acceleration status.
[0172] For example, when the sending end and the vehicle terminal transmit data via Uboot, the Uboot environment variables are obtained in the Uboot configuration file speedup_download to query and obtain the preset firmware upgrade acceleration status.
[0173] Step S902: Monitor firmware upgrade acceleration status.
[0174] Exemplarily, in the case that the sending end and the vehicle terminal perform data transmission through the Fastboot transmission protocol of the Uboot end, the Fastboot transmission protocol of the Uboot end can be optimized, and a firmware download acceleration option speedup_flag is added to the Uboot end. The variable is managed by a code macro in the intelligent driving operating system. When the configuration file speedup_download of the Uboot end 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, and the listening of the firmware upgrade acceleration state is implemented, so as to monitor the acceleration state change in 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 firmware upgrade, the upgrade process can be regulated by setting an additional configuration file (which has a higher priority than the configuration of the Fastboot transmission protocol). Specifically, the additional configuration file can contain a specific speedup_flag parameter for controlling the executability of the speedup_flag function. If the speedup_flag parameter is set to able in the configuration file, it means that the acceleration operation is allowed to be executed; if it is set to disable, it means that the acceleration operation is not allowed to be executed. When the firmware is in the upgrade state, if the Fastboot transmission protocol has not 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. After the acceleration function is enabled, when the firmware transmission command starts to listen, the firmware upgrade acceleration state is entered.
[0177] Step S903, configure the parameters in the structure body.
[0178] In addition to the download acceleration option speedup_flag of the Uboot environment of the intelligent driving operating system, a global structure body download_info is added to the Fastboot protocol of the Uboot end.
[0179] Exemplarily, the structure download_info includes a member speedup_flag for maintaining firmware acceleration option identification information in the firmware upgrade process, and a member next_partion[] for the name of the next partition to be upgraded in the firmware upgrade process, and a member is_single_pation for setting the identification of the number of remaining partitions for the logical partition where the A / B backup partition does not exist.
[0180] In step S904, the partition inquiry request sent by the sending end is received.
[0181] In step S905, it is determined whether the number of partitions is greater than 2.
[0182] In the case where the number of partitions is greater than 2, step S907 is executed.
[0183] In step S906, it is determined whether the number of partitions is equal to 1.
[0184] In the case where the number of partitions is equal to 1, step S907 is executed.
[0185] In step S907, feedback information indicating that the number of partitions is single is returned to the sending end.
[0186] Exemplarily, when the host inquires the Uboot about the number of upgrade partitions, if the returned number of upgrade partitions is greater than or equal to 2, the Uboot will return the number of upgrade partitions to the host as 1, so as to skip the logic of sending the download image twice by the host.
[0187] In step S908, it is determined whether the value of the parameter in the structure meets the threshold.
[0188] In step S908, in the case where the value of the parameter in the structure does not meet the threshold, step S909 is executed; in the case where the value of the parameter in the structure meets the threshold, step S910 is executed.
[0189] In step S909, the to-be-upgraded firmware of the current partition is upgraded, and the value of the parameter in the structure is updated.
[0190] The newly added set_next_logical_partition function is logically applied to the flash function in the Fastboot protocol. By reading and setting the member speedup_flag of the global structure download_info, when the flag is enabled, the global structure download_info is set with the next partition name next_partition[] to be upgraded according to the last upgraded partition name. Meanwhile, according to the upgrade instruction sent by the sending end, the target partition quantity to be upgraded is determined according to the target partition name and the corresponding virtual partition name in the instruction, and the target partition quantity is 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 set_next_logical_partition function is called with the incoming target partition field as a parameter, and the next_partition[] and is_single_partition parameters are assigned values.
[0192] In step S9010, after the firmware to be upgraded in the current partition is upgraded, the burning ends.
[0193] Exemplarily, in steps S908 to S910, in the process of updating the partition 1, it is determined whether the value of the remaining partition quantity identification member is_single_pation is 0. If the value is not 0, the virtual partition name of the next partition 2 to be upgraded is assigned to the next partition name member next_partion[] to be upgraded, and the value of the remaining partition quantity identification member is_single_pation is reduced by 1. After the firmware upgrade of the partition 1 is completed, the next partition 2 to be updated is subjected to the firmware upgrade operation based on the value specified by next_partion[]. The firmware upgrade process ends until the value of is_single_pation is 0, and the next target partition for the firmware upgrade set by the firmware upgrade acceleration logic is skipped.
[0194] Exemplarily, in the process of updating the first partition, it is determined whether the value of is_single_pation is equal to true in steps S905 to S907, where boolean is_single_pation=(num! =0), num represents the number of remaining partitions. If the value is true, the virtual partition name of the second partition to be upgraded next is assigned to the member next_partion[] of the next partition to be upgraded, and the value of the member num representing the number of remaining partitions is decremented by 1. After the firmware upgrade of the first partition is completed, the firmware upgrade operation is performed on the second partition to be updated next 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 by the firmware upgrade acceleration logic is skipped, and the firmware upgrade process is completed.
[0195] In some embodiments, Figure 9 A flowchart of a firmware upgrade method provided by an embodiment of the present application Figure 10 As shown in Figure 2 The firmware upgrade method can include steps S1001 to S1007, which will be described below in combination with the steps shown in Figure 10
[0196] In step S1001, the sending end analyzes the input transmission command.
[0197] In step S1002, the sending end sends a partition query command.
[0198] In step S1003, the receiving end receives and analyzes the partition query command, and feeds back to the sending end the existence of partitions and the number of partitions.
[0199] In step S1004, the sending end sends a download buffer size query command.
[0200] In step S1005, the receiving end receives and analyzes the download buffer size query command, and feeds back to the sending end the download buffer size.
[0201] In some embodiments, if 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] Exemplarily, the firmware package is divided into multiple smaller data blocks, and each smaller data block is uploaded at a time, so that the amount of data transmitted each time does not exceed the capacity of the buffer. This can effectively reduce the risk of memory overflow or data loss, while ensuring the stability and continuity of the upgrade process.
[0203] In step S1006, the sending end sends the firmware package data to the receiving end.
[0204] In step S1007, the receiving end accepts 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] Thus, the firmware upgrade method with high efficiency is completed.
[0206] The application provides a firmware package transmission protocol and method for fast upgrading and debugging firmware of an intelligent driving system, which can be used for optimizing an existing firmware upgrade process based on a Fastboot protocol.
[0207] The technical solution of the application comprises the following steps: 1) when a transmission command based on the Fastboot protocol is listened to, a preset firmware transmission acceleration state in a firmware environment is first read. When the acceleration mode is enabled, the receiving end (a vehicle terminal) will enter a firmware download transmission acceleration mode to improve transmission efficiency. 2) a firmware upgrade command input by a user or an automatic burning program is analyzed, and inquiry information about the number and size of upgraded firmware partitions is sequentially sent to the receiving end. 3) in the case where 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, and skips the second transmission and the upgrade process. 4) after receiving the firmware package, the receiving end sequentially upgrades the main partition and the backup partition, and returns an upgrade completion signal to the host after the upgrade is completed, marking the end of the firmware package upgrade process.
[0208] The application enables the acceleration state by adding acceleration state enabling information in the firmware package environment, allowing the acceleration state to be set when the firmware package is compiled or when the Uboot environment of the intelligent automobile operating system is entered. The automobile as the receiving end will read the acceleration state information when the Fastboot protocol is listened to, so that different logic is used when the Fastboot protocol is executed. Without modifying the protocol of the sending end of the firmware, the receiving end still passively receives the same firmware upgrade command as the original process. Due to the introduction of the new firmware upgrade logic, the receiving end completes the upgrade operation on the main partition and the backup partition after downloading the firmware package for the first time, and returns an upgrade completion signal to the sending end, while skipping the step of downloading the firmware package for the second time and upgrading the backup partition. In this way, the firmware upgrade time is significantly reduced, and the comprehensive firmware upgrade time can be reduced by 30% to 50% under different network environments.
[0209] Based on the same inventive concept, the application embodiment provides a firmware upgrade device, which runs in a vehicle terminal, Figure 10 A component structure diagram of the firmware upgrade device is provided for the application embodiment, Figure 11As shown, the firmware upgrade apparatus 1100 comprises 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 configured to receive a partition query request sent by a sending end; the partition query request is used to acquire the number of at least two target partitions of a vehicle terminal; the target partition is a storage partition in which firmware to be upgraded is stored;
[0211] The sending module 1102 is configured to send feedback information to the sending end; the feedback information carries number information representing that the number of target partitions is single;
[0212] The second receiving module 1103 is configured to receive firmware package data sent by the sending end in response to the feedback information;
[0213] The upgrade module 1104 is configured to upgrade the firmware to be upgraded corresponding to the at least two target partitions based on the firmware package data.
[0214] In some embodiments, the firmware upgrade apparatus 1100 further comprises a third receiving module configured to receive virtual partition information corresponding to name information of the at least two target partitions sent by the sending end; the virtual partition information comprises a virtual partition name corresponding to the target partition and priority identification information representing a priority order.
[0215] In some embodiments, the upgrade module 1104 comprises a first upgrade unit configured to upgrade the firmware to be upgraded corresponding to the at least two target partitions based on the virtual partition name of the at least two target partitions and the priority identification information of the at least two target partitions through the firmware package data.
[0216] In some embodiments, the firmware upgrade apparatus 1100 further comprises a first determining unit configured to determine a preset firmware upgrade acceleration state, and a second determining unit configured to determine the number information representing that the number of target partitions is single when the firmware upgrade acceleration state is enabled.
[0217] In some embodiments, the first upgrade unit comprises a third determining unit configured to determine the priority of the at least two target partitions based on the priority identification information of the at least two target partitions, and a second upgrade unit configured to upgrade the firmware to be upgraded corresponding to the at least two target partitions in sequence based on the priority of the at least two target partitions, the virtual partition name of the at least two target partitions, and the firmware package data.
[0218] In some embodiments, the second upgrading unit comprises: a third upgrading unit configured to upgrade the to-be-upgraded firmware in 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 for transmitting the firmware package data; the first parameter is used to represent the number of the remaining target partitions among the at least two target partitions; and a fourth upgrading unit configured to upgrade the to-be-upgraded firmware in the remaining target partitions based on the updated first parameter, the priorities of the remaining target partitions, the virtual partition names of the remaining target partitions, and the firmware package data.
[0219] In some embodiments, the third upgrading unit comprises: a fourth determining unit configured 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 determining unit configured to determine whether the first parameter meets a preset condition during the process of upgrading the to-be-upgraded firmware 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 represent that the number of the remaining target partitions is greater than or equal to 1; and an updating unit configured to update the first parameter in the case where the first parameter meets the preset condition; wherein the number of the remaining target partitions represented by the updated first parameter is less than the number of the remaining target partitions represented by the first parameter.
[0220] In some embodiments, the fourth upgrading unit comprises: a sixth determining unit configured to determine the virtual partition name of the next-upgrading 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; a fifth upgrading unit configured to upgrade the to-be-upgraded firmware in the next-upgrading target partition corresponding to the virtual partition name based on the firmware package data; and a seventh determining unit configured to determine that the upgrading of the to-be-upgraded firmware in the remaining target partitions is completed in the case where the updated first parameter does not meet the preset condition.
[0221] Embodiments of the present application also provide a firmware upgrading device, which runs in a sending end, and comprises a first sending unit, a receiving unit, and a second sending unit, wherein:
[0222] The first sending unit is configured to send a partition inquiry request to a vehicle terminal; the partition inquiry request is used to acquire the number of at least two target partitions of the vehicle terminal; and the target partition is a storage partition storing to-be-upgraded firmware.
[0223] A receiving unit is 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 unit.
[0224] The second sending unit is used to send firmware package data to the vehicle terminal.
[0225] The above description of the system embodiments for the firmware upgrade process is similar to the description of the method embodiments described above, and has similar beneficial effects. In some embodiments, the functions or modules included in the system provided by this disclosure can be used to execute the methods described in the above method embodiments. For technical details not disclosed in the system embodiments of this application, please refer to the description of the method embodiments of this application for understanding.
[0226] It should be noted that, in the embodiments of this application, if the above-described resource configuration method is implemented as a software functional module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the embodiments of this application, or the part that contributes to the related technology, can be embodied in the form of a software product. This software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, mobile hard drives, read-only memory (ROM), magnetic disks, or optical disks. Thus, the embodiments of this application are not limited to any specific hardware, software, or firmware, or any combination of hardware, software, and firmware.
[0227] Figure 11 This is a schematic diagram of the hardware entity of a firmware upgrade device provided in an embodiment of this application. The firmware upgrade device runs in an in-vehicle infotainment system. Figure 12 Figure 12 As shown, the firmware upgrade device 1200 can be the electronic device described in the above embodiments. The firmware upgrade device 1200 may include a processor 1201, which can execute various appropriate steps and processes according to computer program instructions stored in read-only memory 1202 or loaded from memory 1208 into random access memory (RAM) 1203. The RAM 1203 may also store various programs and data required for the operation of the firmware upgrade device 1200. The processor 1201, ROM 1202, and RAM 1203 are interconnected via bus 1204. An input / output (I / O) interface 1205 is also connected to bus 1204.
[0228] A plurality of 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 storage unit 1208, such as a magnetic 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 can be various general-purpose and / or special-purpose 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 special-purpose Artificial Intelligence (AI) computing chips, various processors running machine learning model algorithms, a Digital Signal Processing (DSP), and any appropriate processors, controllers, microcontrollers, etc. The processor 1201 can perform various methods and processes described above, such as performing the resource configuration method described above. For example, in some embodiments, the resource configuration method described above can be implemented as a computer software program stored in a machine-readable medium, such as the storage unit 1208. In some embodiments, part or all of the computer program can be loaded and / or installed on the firmware upgrade device 1200 via the ROM 1202 and / or the communication unit 1209. When the computer program is loaded into the RAM 1203 and executed by the processor 1201, one or more steps of the resource configuration method described above can be performed. Alternatively, in other embodiments, the processor 1201 can be configured to perform one or more steps of the resource configuration method described above by any other appropriate means (e.g., by means of firmware).
[0230] It needs to be further explained that the present application can include methods, systems and / or computer program products. The computer program product can include a computer readable storage medium on which is loaded a computer readable program instruction for performing various aspects of the present application.
[0231] The embodiments of the present application provide a storage medium having a computer program stored thereon, which, when executed by a processor, can implement part or all of the steps of the above method. The computer readable storage medium can be transitory or non-transitory.
[0232] The embodiment of the present application provides a computer program, including computer readable program instructions, wherein the processor in the computer device executes part or all steps of the above method when the computer readable program instructions run in the computer device.
[0233] The embodiment of the present application provides a computer program product, including a computer program or instructions, which can realize part or all steps of the above method when executed by a processor. The computer program product can be specifically realized by means of hardware, software or combination thereof. In some embodiments, the computer program product is specifically embodied as a computer storage medium, and in some other embodiments, the computer program product is specifically embodied as a software product, such as a software development kit (SDK) or the like.
[0234] The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium can be, for example but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium include the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a flash memory, a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital video disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch cards or punched tape, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
[0235] Computer readable program instructions described herein can be downloaded to respective computing / processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and / or a wireless network. The network can comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and / or edge servers. A network adapter card or network interface in each computing / processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing / processing device.
[0236] Computer readable program instructions for carrying out operations of the present application can be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The computer readable program instructions can execute entirely on the user's computing / processing device, partly on the user's computing / processing device, as a stand-alone software package, partly on the user's computing / processing device and partly on a remote computing / processing device or entirely on the remote computing / processing device or server. In the latter scenario, the remote computing / processing device can be connected to the user's computing / processing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be made to an external computing / processing device, for example, through the Internet using an Internet Service Provider. In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) can execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present application.
[0237] Various aspects of the present application are described in terms of methods, apparatus (systems), and computer program products, in flowcharts and / or step diagrams that describe and illustrate various aspects of the present application. It will be understood that each block of the flowchart and / or step diagram, and combinations of blocks in the flowchart and / or step diagram, can be implemented by computer readable program instructions.
[0238] These computer readable program instructions can be provided to a processor of a voice interaction device, a general purpose computer, a special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks. These computer readable program instructions can also be stored in a computer readable storage medium that can include a non-transitory computer readable storage medium that can be a computer readable storage medium having no data, programs, program modules, e.g., instructions for operation, or digital content stored thereon or therein for a brief period of time while the machine is in an off cycle. The computer readable storage medium can also have other mechanisms for keeping information for an brief
[0239] The computer readable program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks.
[0240] The flowchart and block diagram in the drawings illustrate the architecture, functionality, and operation of possible implementations of devices, methods and computer program products according to various embodiments of the present application. In this regard, each block in the flowchart or block diagrams can represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical functions (s). In some alternative implementations, the functions noted in the blocks can occur out of the order noted in the figures. For example, two blocks shown in succession may, in some cases, be executed substantially concurrently, or the blocks can sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and / or flowchart illustration, and combinations thereof, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and
[0241] The embodiments described above are merely preferred embodiments of the present application, and the scope of the present application is not limited thereto. Any equivalent alternatives or modifications of the present application made on the basis of the technical idea of the present application fall within the scope of the present application.
Claims
1. A firmware upgrade method, characterized in that, The firmware upgrade method, applied to vehicle terminals, includes: The receiver sends virtual partition information corresponding to the name information of at least two target partitions; the virtual partition information includes the virtual partition name corresponding to the target partition, and priority identifier information indicating the priority order. The system receives 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 that stores firmware to be upgraded; Send feedback information to the sending end; the feedback information carries quantity information indicating that the number of the target partition is a single unit; Receive firmware package data sent by the sending end in response to the feedback information; 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 using the firmware package data.
2. The firmware upgrade method according to claim 1, characterized in that, Before receiving the partition query request sent by the sender, the process includes: Determine the preset firmware upgrade acceleration status; When the firmware upgrade acceleration state is enabled, the number of target partitions is determined as a single quantity of information.
3. The firmware upgrade method according to claim 1, characterized in that, The upgrade of the firmware corresponding to each of the at least two target partitions, based on the virtual partition names and priority identifier information of the at least two target partitions, using the firmware package data, includes: The priority of the at least two target partitions is determined based on their priority identification information. Based on the priority 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 is upgraded sequentially.
4. The firmware upgrade method according to claim 3, characterized in that, The upgrade process, based on the priority of the at least two target partitions, the virtual partition names of the at least two target partitions, and the firmware package data, sequentially upgrades the firmware corresponding to each of the at least two target partitions, including: Based on the priority 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 the first parameter in the configuration file of the transmission protocol used to transmit 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. Based on the updated first parameter, the priority of the remaining target partitions among the at least two target partitions, the virtual partition name of the remaining target partitions, and the firmware package data, the firmware to be upgraded in the remaining target partitions is upgraded.
5. The firmware upgrade method according to claim 4, characterized in that, The upgrade process, based on the priority of the at least two target partitions, the virtual partition names of the at least two target partitions, and the firmware package data, upgrades the firmware of the target partition with the highest priority among the at least two target partitions, and updates the first parameter in the configuration file of the transmission protocol used to transmit the firmware package data, including: Based on the priority of the at least two target partitions and the virtual partition names of the at least two target partitions, determine the virtual partition name of the target partition with the highest priority among the at least two target partitions; During the process of upgrading the firmware to be upgraded in the highest priority target partition corresponding to the virtual partition name based on the firmware package data, it is determined whether the first parameter meets the preset condition; the preset condition is used to indicate that the number of remaining target partitions is greater than or equal to 1. If the first parameter meets the preset conditions, update 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.
6. The firmware upgrade method according to claim 4 or 5, characterized in that, The upgrade of the firmware to be upgraded in the remaining target partitions, based on the updated first parameter, the priority of the remaining target partitions among the at least two target partitions, the virtual partition name of the remaining target partitions, and the firmware package data, includes: Based on the priority of the remaining target partition and the virtual partition name of the remaining target partition, determine the virtual partition name of the next target partition to be upgraded in the remaining target partition; Based on the firmware package data, the firmware to be upgraded in the next target partition corresponding to the virtual partition name is upgraded. If the updated first parameter does not meet the preset conditions, the upgrade of the firmware to be upgraded in the remaining target partition is completed.
7. A firmware upgrade method, characterized in that, Applied to the sending end, the firmware upgrade method includes: Send virtual partition information corresponding to the name information of at least two target partitions to the vehicle terminal; the virtual partition information includes the virtual partition name corresponding to the target partition, and priority identifier information indicating the priority order; A partition query request is sent 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 that stores the firmware to be upgraded; The system receives feedback information sent by the vehicle terminal; the feedback information carries quantity information indicating that the number of the target partitions is a single unit. Send firmware package data to the vehicle terminal; The vehicle terminal is used to upgrade the firmware corresponding to each of the at least two target partitions 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, using the firmware package data.
8. A firmware upgrade device, characterized in that, The firmware upgrade device, applied to vehicle terminals, includes: The third receiving module is used to receive virtual partition information sent by the sending end, which corresponds to the name information of at least two target partitions; the virtual partition information includes the virtual partition name corresponding to the target partition, and priority identifier information indicating the priority order; The first receiving module 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 that stores firmware to be upgraded; The sending module is used to send feedback information to the sending end; the feedback information carries quantity information indicating that the number of the target partition is a single unit; The second receiving module is used to receive firmware package data sent by the sending end in response to the feedback information; The upgrade module is used to upgrade the firmware corresponding to the at least two target partitions 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, using the firmware package data.
9. A firmware upgrade device, characterized in that, include: Memory, used to store executable instructions; A processor, when executing executable instructions stored in the memory, implements the method of any one of claims 1 to 7.
Citation Information
Patent Citations
Method and system for firmware upgrade
CN105591824A
Equipment firmware upgrading method and device and electronic equipment
CN115309435A