CN111566617A - Firmware upgrading method and device for unmanned aerial vehicle, control device, unmanned aerial vehicle and medium - Google Patents

Firmware upgrading method and device for unmanned aerial vehicle, control device, unmanned aerial vehicle and medium Download PDF

Info

Publication number
CN111566617A
CN111566617A CN201880069182.4A CN201880069182A CN111566617A CN 111566617 A CN111566617 A CN 111566617A CN 201880069182 A CN201880069182 A CN 201880069182A CN 111566617 A CN111566617 A CN 111566617A
Authority
CN
China
Prior art keywords
version
firmware
module
loader
upgraded
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201880069182.4A
Other languages
Chinese (zh)
Inventor
张海
冯健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SZ DJI Technology Co Ltd
Shenzhen Dajiang Innovations Technology Co Ltd
Original Assignee
SZ DJI Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SZ DJI Technology Co Ltd filed Critical SZ DJI Technology Co Ltd
Publication of CN111566617A publication Critical patent/CN111566617A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

A firmware upgrading method of an unmanned aerial vehicle (800), a firmware upgrading device (500) of the unmanned aerial vehicle, a control device (600, 700, 820) of the unmanned aerial vehicle, the unmanned aerial vehicle and a computer readable storage medium belong to the technical field of the unmanned aerial vehicle. The method comprises the following steps: acquiring a current Loader version of a module to be upgraded in the unmanned aerial vehicle (S110); determining a target version of the firmware required by the module to be upgraded according to the current Loader version (S120); upgrading the firmware of the module to be upgraded to the target version (S130). The safety of firmware upgrading of the unmanned aerial vehicle is improved, and the method flow of firmware upgrading is simplified.

Description

Firmware upgrading method and device for unmanned aerial vehicle, control device, unmanned aerial vehicle and medium Technical Field
The present disclosure relates to the field of unmanned aerial vehicle technologies, and in particular, to a firmware upgrade method for an unmanned aerial vehicle, a firmware upgrade device for an unmanned aerial vehicle, a control device for an unmanned aerial vehicle, and a computer-readable storage medium.
Background
The unmanned aerial vehicle is an unmanned aerial vehicle controlled by wireless control equipment or a built-in automatic control device, a Firmware (Firmware) is usually built in the unmanned aerial vehicle, and the Firmware can be regarded as a driving program in the unmanned aerial vehicle, so that the intercommunication between hardware and software is realized, and the functions and the performances of the unmanned aerial vehicle are determined to a great extent.
With the rapid development of unmanned aerial vehicles, it is often necessary to upgrade the firmware thereof. At present, when a manufacturer releases a new version of firmware, the manufacturer usually releases a corresponding version according to the equipment model of the unmanned aerial vehicle, so that a user can select the firmware version according to the equipment model and upgrade the firmware version. However, as the software environment inside the unmanned aerial vehicle becomes more and more complex, the unmanned aerial vehicle of the same equipment model may work in different software environments, and different adaptation conditions may exist for different firmware versions, so that the existing method may cause that the unmanned aerial vehicle cannot work normally after firmware is upgraded.
It is to be noted that the information disclosed in the above background section is only for enhancement of understanding of the background of the present disclosure, and thus may include information that does not constitute prior art known to those of ordinary skill in the art.
Disclosure of Invention
The present disclosure provides a firmware upgrade method for an unmanned aerial vehicle, a firmware upgrade device for an unmanned aerial vehicle, a control device for an unmanned aerial vehicle, and a computer-readable storage medium, thereby overcoming, at least to some extent, the problem in the prior art that the unmanned aerial vehicle may not work normally after upgrading a firmware.
Additional features and advantages of the disclosure will be set forth in the detailed description which follows, or in part will be obvious from the description, or may be learned by practice of the disclosure.
According to one aspect of the present disclosure, there is provided a firmware upgrade method of an unmanned aerial vehicle, including: acquiring the current Loader version of a module to be upgraded in the unmanned aerial vehicle; determining a target version of the firmware required by the module to be upgraded according to the current Loader version; and upgrading the firmware of the module to be upgraded to the target version.
In an exemplary embodiment of the present disclosure, the module to be upgraded includes a multi-level Loader; the determining the target version of the firmware required by the module to be upgraded according to the current Loader version comprises: and determining a target version of the firmware required by the module to be upgraded according to the current version of the first-level Loader of the module to be upgraded.
In an exemplary embodiment of the present disclosure, the determining, according to the current Loader version, a target version of firmware required by the module to be upgraded includes: acquiring a mapping relation table, wherein the mapping relation table comprises a mapping relation between a Loader version and a firmware version; and searching the firmware version mapped by the current Loader version of the module to be upgraded in the mapping relation table, and taking the searched firmware version as the target version.
In an exemplary embodiment of the present disclosure, the method further comprises: and if the mapping relation table finds that the current Loader version of the module to be upgraded maps a plurality of firmware versions, determining the latest firmware version in the plurality of firmware versions as the target version.
In an exemplary embodiment of the present disclosure, the obtaining the mapping relationship table includes: acquiring loaders of multiple versions and firmware of multiple versions; extracting a loading program list in each version of Loader and a starting program list in each version of firmware, and respectively matching the loading program list of each version of Loader with the starting program list of each version of firmware; and establishing a mapping relation between the Loader version corresponding to the successfully matched Loader program list and the firmware version corresponding to the startup program list so as to construct the mapping relation table.
In an exemplary embodiment of the present disclosure, the acquiring a current Loader version of a module to be upgraded includes: and acquiring a current hardware identifier of the module to be upgraded, and determining the current Loader version of the module to be upgraded according to the current hardware identifier.
In an exemplary embodiment of the present disclosure, the module to be upgraded is an embedded module.
According to an aspect of the present disclosure, there is provided a firmware upgrade apparatus for an unmanned aerial vehicle, including: the Loader version acquiring unit is used for acquiring the current Loader version of the module to be upgraded; the firmware version determining unit is used for determining a target version of the firmware required by the module to be upgraded according to the current Loader version of the module to be upgraded; and the target version upgrading unit is used for upgrading the fixed piece of the module to be upgraded to the target version.
According to an aspect of the present disclosure, there is provided a control device of an unmanned aerial vehicle, including: a processor; and a memory for storing executable instructions of the processor; wherein the processor is configured to perform the method of any one of the above via execution of the executable instructions.
According to an aspect of the present disclosure, there is provided an unmanned aerial vehicle including: a body; and the control device of any one of the above, the control device is provided in the body.
According to an aspect of the present disclosure, there is provided a computer readable storage medium having stored thereon a computer program which, when executed by a processor, implements the method of any one of the above.
Exemplary embodiments of the present disclosure have the following advantageous effects:
and determining a target version of the firmware required by the module to be upgraded according to the current Loader version of the module to be upgraded in the unmanned aerial vehicle so as to upgrade the firmware of the module to be upgraded to the target version. On the one hand, during firmware upgrading, the adaptability between the Loader of the module to be upgraded and the firmware is considered, so that the Loader can normally load firmware programs, such as a driver of the firmware, associated application programs and the like, the situation that the module to be upgraded cannot normally work after the firmware is upgraded due to the fact that the Loader is not adaptive to the firmware can be avoided, and the safety of firmware upgrading of the unmanned aerial vehicle is improved. On the other hand, the present exemplary embodiment may determine the target version of the firmware upgrade according to the current Loader version of the module to be upgraded, and in the case that the manufacturer provides information corresponding to the two, the method of the present exemplary embodiment may be automatically executed by the unmanned aerial vehicle or the electronic device connected thereto to determine the target version and complete the upgrade, without the user understanding each firmware version, thereby reducing the learning cost of the user and simplifying the method flow of the firmware upgrade.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and together with the description, serve to explain the principles of the disclosure. It is to be understood that the drawings in the following description are merely exemplary of the disclosure, and that other drawings may be derived from those drawings by one of ordinary skill in the art without the exercise of inventive faculty.
FIG. 1 illustrates a flow chart of a method for firmware upgrade of an unmanned aerial vehicle in an exemplary embodiment;
FIG. 2 is a diagram illustrating a hardware identifier and Loader version in the exemplary embodiment;
FIG. 3 illustrates a sub-flow diagram of a method for firmware upgrade of an unmanned aerial vehicle in an exemplary embodiment;
FIG. 4 illustrates a flow chart of another method for firmware upgrade of an unmanned aerial vehicle in an exemplary embodiment;
fig. 5 is a block diagram showing a configuration of a firmware upgrading apparatus for an unmanned aerial vehicle in the present exemplary embodiment;
fig. 6 is a block diagram showing a configuration of a control device of an unmanned aerial vehicle in the present exemplary embodiment;
fig. 7 is a block diagram showing the structure of a control device of another unmanned aerial vehicle in the present exemplary embodiment;
fig. 8 shows a block diagram of the structure of an unmanned aerial vehicle in the present exemplary embodiment;
fig. 9 illustrates a computer-readable storage medium for implementing the above-described method in the present exemplary embodiment.
Detailed Description
Example embodiments will now be described more fully with reference to the accompanying drawings. Example embodiments may, however, be embodied in many different forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of example embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
The exemplary embodiment of the present disclosure first provides a firmware upgrade method for an unmanned aerial vehicle, which can be applied to an unmanned aerial vehicle, so that the unmanned aerial vehicle independently executes the method of the present exemplary embodiment to perform firmware upgrade under the condition of networking or having a firmware upgrade program; the exemplary embodiment may also be applied to other electronic devices such as a computer and a tablet computer connected to the unmanned aerial vehicle, and the method of the exemplary embodiment is executed to control the unmanned aerial vehicle to perform firmware upgrade, where the connection between the electronic device and the unmanned aerial vehicle may include wired connection manners such as TTL (Transistor Logic, parallel transmission interface), USB (Universal Serial Bus), SATA (Serial Advanced Technology Attachment), and may also include Wireless connection manners such as Wifi (Wireless Fidelity), bluetooth, and the like; the exemplary embodiment can also be applied to a server of a firmware manufacturer, and the method of the exemplary embodiment is executed to realize firmware upgrade of remote control by remotely connecting the unmanned aerial vehicle, acquiring relevant information of the unmanned aerial vehicle and executing the method.
Referring to fig. 1, the method may include the following steps S110 to S130:
and step S110, acquiring the current Loader version of the module to be upgraded in the unmanned aerial vehicle.
The module to be upgraded is a specific hardware module which needs to be upgraded in the unmanned aerial vehicle, and with the precision development of the unmanned aerial vehicle, the internal hardware module also shows the trend of division into multiple parts. In this exemplary embodiment, each module may have its own firmware, the firmware of each module is independent from each other, the firmware of one module may be upgraded separately, or of course, the firmware of multiple modules may be upgraded in an integrated manner (which is equivalent to running multiple upgrade programs at a time), so that the module to be upgraded may be one or more modules in the unmanned aerial vehicle, which is not limited in this disclosure.
The Loader is used for loading a software program for an operating system of the unmanned aerial vehicle and is essentially a loading program. In this exemplary embodiment, one Loader may be configured in the unmanned aerial vehicle to load the firmware program of all modules, or multiple loaders may be configured, where each Loader corresponds to a specific module or modules. Loaders can generally update or upgrade themselves, and have different versions, so that the current Loader version of the module to be upgraded can be obtained, and is generally represented in a specific version identifier, such as 01.00.01.01, v101.00.02, and the like. The system can read the relevant information of the Loader to obtain the current version, and can also scan the header information of the code to determine the current version and the like.
In an exemplary embodiment, the module to be upgraded may be an embedded module, the embedded module usually has an embedded Processor and a memory built therein, and the embedded Processor may be an MCU (micro controller Unit), an MPU (micro Processor Unit, embedded Processor), a DPS (Digital Signal Processor), or the like, and executes program instructions by calling a program stored in the memory, for example, a Loader. The embedded module has strong independence, and the initialization and operation process of the embedded module depends on firmware, so the upgrading process of the firmware needs to be controlled to realize effective upgrading.
In an exemplary embodiment, step S110 may be implemented by:
and acquiring a current hardware identifier of the module to be upgraded, and determining the current Loader version of the module to be upgraded according to the current hardware identifier.
Referring to fig. 2, the hardware identifier of the module a and the Loader version may be in a one-to-one correspondence relationship, for example, the hardware identifier "MODAC 2018" corresponds to the Loader version "01.00.00.02", and the hardware identifier "MODAU 2019" corresponds to the Loader version "01.00.01.01", and based on the correspondence relationship between the two, the current Loader version of the module may be determined according to the current hardware identifier of the module. Specifically, a corresponding relationship table between the hardware identifier and the Loader version may be obtained in advance from a hardware manufacturer or a Loader provider, and the current Loader version corresponding to the current hardware identifier of the module to be upgraded is found from the table, or the current Loader version corresponding to the current hardware identifier may be searched from the internet in the case of networking.
And step S120, determining a target version of the firmware required by the module to be upgraded according to the current Loader version.
The Loader version and the firmware version may also have a corresponding relationship, where the corresponding relationship indicates which version of firmware the Loader of each version is adapted to. The Loader is used for loading the software program, the loaded programs of the loaders with different versions may be different, and the loading modes may also be different, that is, which version of Loader the module to be upgraded uses currently may reflect the software environment of the module to be upgraded to a certain extent. The driver of the module to be upgraded is an important Loader, and if the Loader cannot correctly load the driver, the module to be upgraded cannot be normally started. For example, when firmware is upgraded, a built-in driver is usually upgraded, and if the upgraded driver is not adapted to a Loader, for example, the upgraded driver includes a code that cannot be identified by the Loader, or an execution mode of the code is changed, so that the Loader cannot be executed, or a new preloaded code is added, and the Loader does not preload the code, the driver cannot normally run, and a module to be upgraded cannot be initialized, and cannot normally work. In addition, the Loader may also load a part of application programs, for example, when a driver of the image capture module is started, the application programs for image processing and video processing may be loaded at the same time, so that the image capture module enters a shooting standby state, and when the firmware is upgraded, the original application program environment, the application program version, the association between the driver and the application program, and the like may be changed, which may cause the application program to be loaded abnormally, and affect the normal operation of the module to be upgraded. Therefore, in the exemplary embodiment, it is necessary to determine the target version of the firmware required by the module to be upgraded, so as to avoid the situation of the false upgrade similar to the above.
The Loader provider or the firmware manufacturer can provide corresponding information of the Loader version and the firmware version, when the firmware is upgraded, the server or the website of the manufacturer can be accessed to obtain information about the target version, the remote server can also identify the current Loader version of the module to be upgraded in a pushing mode and push the target version of the required firmware for the module to be upgraded, corresponding information files of the Loader version and the firmware version can be downloaded in advance and configured locally, and the files can be read to determine the target version and the like when the firmware is upgraded.
In an exemplary embodiment, a plurality of adapted firmware versions may be determined according to the current Loader version of the module to be upgraded, and these firmware versions may be provided to the user in an optional manner, so that the user selects one target version from them, or automatically selects one target version from them according to a specific rule, for example, the latest version may be selected as the target version, the version with the highest user evaluation may be selected as the target version, and so on.
Step S130, upgrading the firmware of the module to be upgraded to the target version.
After the target version is determined, the firmware upgrade program of the target version may be obtained, for example, the firmware upgrade program of the target version may be searched and downloaded from the internet, or the firmware upgrade program of the target version may be selected from a firmware upgrade package provided in advance, and the firmware upgrade program is run to upgrade the firmware of the module to be upgraded to the target version.
Based on the above description, in the present exemplary embodiment, the target version of the firmware required by the module to be upgraded is determined according to the current Loader version of the module to be upgraded in the unmanned aerial vehicle, so that the firmware of the module to be upgraded is upgraded to the target version. On the one hand, during firmware upgrading, the adaptability between the Loader of the module to be upgraded and the firmware is considered, so that the Loader can normally load firmware programs, such as a driver of the firmware, associated application programs and the like, the situation that the module to be upgraded cannot normally work after the firmware is upgraded due to the fact that the Loader is not adaptive to the firmware can be avoided, and the safety of firmware upgrading of the unmanned aerial vehicle is improved. On the other hand, the present exemplary embodiment may determine the target version of the firmware upgrade according to the current Loader version of the module to be upgraded, and in the case that the manufacturer provides information corresponding to the two, the method of the present exemplary embodiment may be automatically executed by the unmanned aerial vehicle or the electronic device connected thereto to determine the target version and complete the upgrade, without the user understanding each firmware version, thereby reducing the learning cost of the user and simplifying the method flow of the firmware upgrade.
In an exemplary embodiment, the module to be upgraded may include multiple stages of loaders, where the multiple stages of loaders may be respectively used to load specific programs at different stages, for example, a first stage of Loader loads a first stage program first, and after the first stage of program loading is completed, a second stage of Loader loads a second stage of program, and the like, where the number of programs loaded by each stage of loaders may be one or more. For this case, step S120 may be implemented by:
and determining a target version of the firmware required by the module to be upgraded according to the current version of the first-level Loader of the module to be upgraded.
The first-level Loader is generally used for loading a driver of the module to be upgraded, guiding the module to be upgraded to initialize, and having the greatest influence on the performance of the module to be upgraded, so that the corresponding relationship between the version of the first-level Loader and the version of the firmware can be established. When the firmware is upgraded, the target version of the firmware is determined according to the version of the first-level Loader, so that the firmware is adapted to the first-level Loader, and the normal loading of a driving program and the normal initialization of a module to be upgraded can be ensured.
In an exemplary embodiment, step S120 may include the steps of:
acquiring a mapping relation table, wherein the mapping relation table comprises a mapping relation between a Loader version and a firmware version;
and searching the firmware version mapped by the current Loader version of the module to be upgraded in the mapping relation table, and taking the searched firmware version as a target version.
The mapping relation is a concrete expression form of a corresponding relation between Loader versions and firmware versions, the mapping relation table may be a data table containing a large number of mapping relations, the mapping relation in the forms of row mapping or column mapping and the like may be formed between Loader versions and firmware versions, mapping may also be formed between each Loader version and firmware versions of a plurality of different modules, for example, a certain Loader is simultaneously responsible for loading firmware programs of a wired communication module and a wireless communication module in an unmanned aerial vehicle, mapping may be formed between each version of the Loader and the firmware versions of the wired communication module and the wireless communication module respectively, and in one mapping group, the firmware version of the wired communication module and the firmware version of the wireless communication module adapted to the Loader may be searched according to the current version of the Loader. The present disclosure does not limit the specific form of the mapping relationship table. Based on the mapping relation table, the firmware version mapped by the current Loader version of the module to be upgraded can be found and used as the target version of firmware upgrading.
In the mapping relationship table, the mapping relationship between the Loader version and the firmware version may be a "one-to-one", "one-to-many", or "many-to-one" mapping. Wherein, the one-to-many means that one Loader version is mapped to a plurality of firmware versions of one module; generally, the update cycle of the Loader is longer, the Loader of one version can be used for a longer time, and the number of the versions of the Loader is smaller than that of the firmware versions relative to the case of frequent firmware upgrade, so that the case of one-to-many is more frequent.
Based on this, in an exemplary embodiment, if the current Loader version of the module to be upgraded is found in the mapping relationship table to map multiple firmware versions, the latest firmware version of the multiple firmware versions is determined as the target version. In other words, the firmware of the latest version is selected from the firmware which can be adapted by the current Loader for upgrading. The latest firmware version may be a firmware version which is released recently by a firmware manufacturer, or a firmware version with a maximum version number, and generally has the most comprehensive functions, supports the latest operating system, has the least errors, optimizes codes, and the like, so that the latest firmware version is taken as a target version and is the optimal choice in the Loader adaptation range.
In an exemplary embodiment, as shown with reference to FIG. 3, the mapping relationship table may be constructed by:
step S302, obtaining loaders of multiple versions and firmware of multiple versions;
step S304, extracting a loading program list in each version of Loader and a starting program list in each version of firmware, and respectively matching the loading program list of each version of Loader with the starting program list of each version of firmware;
step S306, a mapping relationship is established between the Loader version corresponding to the successfully matched Loader list and the firmware version corresponding to the startup program list, so as to construct a mapping relationship table.
The Loader program list in the Loader refers to which programs are loaded by loaders of various versions; the boot program list in the firmware refers to which programs each version of firmware needs to be initialized to boot. The Loader list and the boot list may be obtained from the relevant information provided by the manufacturer, or may be extracted from the Loader or the code instruction of the firmware. The boot program list in the firmware usually contains a driver and necessary application programs, and if these programs are not all of the Loader, the Loader will not load the boot program in the firmware, which will result in the situation that the firmware cannot be initialized, i.e. the Loader is not adapted to the firmware.
Based on this, in the present exemplary embodiment, whether the Loader in the Loader is adapted to the boot program list in the firmware may be determined according to the Loader list in the Loader and the boot program list in the firmware, specifically, the program in the Loader list needs to include the program in the boot program list, that is, the boot program list is a subset of the Loader list, and the matching in step S304 refers to this situation, so that the Loader may ensure that the boot program of the firmware is completely loaded, and a mapping relationship may be determined between versions of the Loader and the firmware. By detecting the matching condition of the Loader program list of the loaders with a large number of versions and the startup program list of the firmware, the matched Loader version-firmware version combination can be screened out, and the mapping relation is established, so that the mapping relation table is obtained.
Fig. 4 shows a flow of another firmware upgrade method in the present exemplary embodiment. Referring to fig. 4, an upgrade process may be initiated on the unmanned aerial vehicle or an external electronic device connected thereto, a remote server, and the following steps are performed by the upgrade process:
step S401, a mapping relation table is obtained. The updating process can download the mapping relation table from the website of the firmware manufacturer, and can also automatically match the mapping relation based on the Loader with multiple versions and the firmware and construct the mapping relation table.
Step S402, the upgrading process can establish data interaction with the module to be upgraded, and inquire the current Loader version of the module to be upgraded.
And step S403, receiving the returned current Loader version from the module to be upgraded.
And S404, determining a target version of the firmware required by the module to be upgraded according to the mapping relation table.
Step S405, an upgrading program is operated, and the firmware of the module to be upgraded is upgraded to the target version.
Therefore, the exemplary embodiment completes the whole process of firmware upgrading through the upgrading process, realizes complete automatic upgrading, and further improves the safety and convenience of firmware upgrading.
The exemplary embodiment of the present disclosure also provides a firmware upgrade device for an unmanned aerial vehicle, which may be applied to the unmanned aerial vehicle, and may also be applied to an electronic device connected to the unmanned aerial vehicle or a server remotely connected to the unmanned aerial vehicle to control the unmanned aerial vehicle to perform firmware upgrade. Referring to fig. 5, the apparatus 500 may include: a Loader version acquiring unit 510, configured to acquire a current Loader version of a module to be upgraded; a firmware version determining unit 520, configured to determine a target version of the firmware required by the module to be upgraded according to the current Loader version of the module to be upgraded; and a target version upgrading unit 530 for upgrading the firmware of the module to be upgraded to the target version.
In an exemplary embodiment, the module to be upgraded comprises a plurality of stages of loaders; the firmware version determining unit 520 may be configured to determine a target version of firmware required by the module to be upgraded according to a version of a current first-level Loader of the module to be upgraded.
In an exemplary embodiment, the firmware version determining unit 520 may be configured to obtain a mapping relationship table, where the mapping relationship table includes a mapping relationship between Loader versions and firmware versions, search a firmware version mapped by a current Loader version of a module to be upgraded in the mapping relationship table, and use the found firmware version as a target version.
In an exemplary embodiment, the firmware version determining unit 520 may be further configured to determine, if the current Loader version of the module to be upgraded is found in the mapping relationship table to map multiple firmware versions, the latest firmware version of the multiple firmware versions as the target version.
In an exemplary embodiment, the firmware upgrading apparatus may further include: the mapping table constructing unit 540 is configured to extract a Loader list in loaders of multiple versions and a boot program list in firmware of multiple versions, match the Loader list of loaders of each version with the boot program list of firmware of each version, and establish a mapping relationship between a Loader version corresponding to a Loader list that is successfully matched and a firmware version corresponding to a boot program list, so as to construct a mapping relationship table.
In an exemplary embodiment, the Loader version obtaining unit 510 may be configured to obtain a current hardware identifier of the module to be upgraded, and determine a current Loader version of the module to be upgraded according to the current hardware identifier.
In an exemplary embodiment, the module to be upgraded may be an embedded module.
The specific details of each unit in the above-mentioned apparatus have been described in detail in the corresponding method embodiment, and therefore are not described again.
Exemplary embodiments of the present disclosure also provide an unmanned aerial vehicle capable of implementing the above method. As will be appreciated by one skilled in the art, aspects of the present disclosure may be embodied as a system, method or program product. Accordingly, various aspects of the present disclosure may be embodied in the form of: an entirely hardware embodiment, an entirely software embodiment (including firmware, microcode, etc.) or an embodiment combining hardware and software aspects that may all generally be referred to herein as a "circuit," module "or" system.
A control device of an unmanned aerial vehicle according to this exemplary embodiment of the present disclosure is described below with reference to fig. 6. The control device 600 shown in fig. 6 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present disclosure.
As shown in fig. 6, the control device 600 of the unmanned aerial vehicle may include a processor 610 and a memory 620, the memory 620 being used for storing executable instructions of the processor 610, the processor 610 being configured to execute the method of various exemplary embodiments of the present disclosure via execution of the executable instructions. The executable instructions are typically program code that may be executed by the processor 610, for example, by the processor 610 executing the program code to perform the method steps shown in fig. 1:
step S110, acquiring a current Loader version of a module to be upgraded in the unmanned aerial vehicle;
step S120, determining a target version of the firmware required by the module to be upgraded according to the current Loader version;
step S130, upgrading the firmware of the module to be upgraded to the target version.
In an exemplary embodiment, the module to be upgraded comprises a plurality of stages of loaders; the processor 610 may also perform the following method steps:
and determining a target version of the fixed piece required by the module to be upgraded according to the current version of the first-level Loader of the module to be upgraded.
In an exemplary embodiment, the processor 610 may further perform the following method steps:
acquiring a mapping relation table, wherein the mapping relation table comprises a mapping relation between a Loader version and a firmware version;
and searching the firmware version mapped by the current Loader version of the module to be upgraded in the mapping relation table, and taking the searched firmware version as a target version.
In an exemplary embodiment, the processor 610 may further perform the following method steps:
and if the current Loader version of the module to be upgraded is found in the mapping relation table and maps a plurality of firmware versions, determining the latest firmware version in the plurality of firmware versions as a target version.
In an exemplary embodiment, the processor 610 may further perform the following method steps:
acquiring loaders of multiple versions and firmware of multiple versions;
extracting a loading program list in each version of Loader and a starting program list in each version of firmware, and respectively matching the loading program list of each version of Loader with the starting program list of each version of firmware;
and establishing a mapping relation between the Loader version corresponding to the successfully matched Loader program list and the firmware version corresponding to the startup program list so as to construct a mapping relation table.
In an exemplary embodiment, the processor 610 may further perform the following method steps:
and acquiring a current hardware identifier of the module to be upgraded, and determining the current Loader version of the module to be upgraded according to the current hardware identifier.
In an exemplary embodiment, the module to be upgraded may be an embedded module.
In an exemplary embodiment, as shown in fig. 7, the control apparatus 700 of the unmanned aerial vehicle may also be embodied in the form of a general purpose computing device. Wherein the processor is represented by at least one processing unit 710 and the memory is represented by at least one memory unit 720, and the components of the control device 700 may further include, but are not limited to: a bus 730 that connects the various system components including the storage unit 720 and the processing unit 710, an I/O (input/output) interface 740, a network adapter 750, and the like.
The storage unit 720 may include a readable medium in the form of a volatile storage unit, such as a random access memory unit (RAM)721 and/or a cache storage unit 722, and may further include a read only memory unit (ROM)723, among others.
The memory unit 720 may also include programs/utilities 724 having a set (at least one) of program modules 725, such program modules 725 including, but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which, or some combination thereof, may comprise an implementation of a network environment.
Bus 730 may be any representation of one or more of several types of bus structures, including a memory unit bus or memory unit controller, a peripheral bus, an accelerated graphics port, a processing unit, or a local bus using any of a variety of bus architectures.
The control apparatus 700 may also communicate with one or more external devices 760 (e.g., a computer, tablet, pointing device, etc.), with one or more devices that enable a user to interact with the control apparatus 700, and/or with any devices (e.g., a router, modem, etc.) that enable the control apparatus 700 to communicate with one or more other computing devices. Such communication may occur via I/O interface 740. Also, the control device 700 may communicate with one or more networks (e.g., a Local Area Network (LAN), a Wide Area Network (WAN), and/or a public network, such as the internet) via the network adapter 750. As shown, the network adapter 750 communicates with the other modules of the control device 700 over a bus 730. It should be understood that although not shown in the figures, other hardware and/or software modules may be used in conjunction with the control device 700, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, among others.
An exemplary embodiment of the present disclosure also provides an unmanned aerial vehicle, and as shown in fig. 8, the unmanned aerial vehicle 800 may include a fuselage 810 and a control device 820, where the control device 820 is disposed in the fuselage 810, and the control device 820 may be a control device in any one of the above embodiments, for example, the control device 600 in fig. 6 or the control device 700 in fig. 7, and the like. Control device 820 may be used to perform a method for firmware upgrade of an unmanned aerial vehicle in any of the embodiments described above, for example, control device 820 may perform the method steps shown in fig. 1, 3, or 4.
Through the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein may be implemented by software, or by software in combination with necessary hardware. Therefore, the technical solution according to the embodiments of the present disclosure may be embodied in the form of a software product, which may be stored in a non-volatile storage medium (which may be a CD-ROM, a usb disk, a removable hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which may be a personal computer, a server, a terminal device, or a network device, etc.) to execute the method according to the exemplary embodiments of the present disclosure.
Exemplary embodiments of the present disclosure also provide a computer-readable storage medium having stored thereon a program product capable of implementing the above-described method of the present specification. In some possible embodiments, various aspects of the disclosure may also be implemented in the form of a program product comprising program code for causing a terminal device to perform the steps according to various exemplary embodiments of the disclosure described in the above-mentioned "exemplary methods" section of this specification, when the program product is run on the terminal device.
Referring to fig. 9, a program product 900 for implementing the above method according to an exemplary embodiment of the present disclosure is described, which may employ a portable compact disc read only memory (CD-ROM) and include program code, and may be run on a terminal device, such as a personal computer. However, the program product of the present disclosure is not limited thereto, and in this document, a readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
The program product may employ any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples (a non-exhaustive list) of the readable storage medium include: an electrical connection having one or more wires, a portable disk, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
A computer readable signal medium may include a propagated data signal with readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A readable signal medium may also be any readable medium that is not a readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Program code for carrying out operations for the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, C + + or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computing device, partly on the user's device, as a stand-alone software package, partly on the user's computing device and partly on a remote computing device, or entirely on the remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the user computing device through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computing device (e.g., through the internet using an internet service provider).
Furthermore, the above-described figures are merely schematic illustrations of processes included in methods according to exemplary embodiments of the present disclosure, and are not intended to be limiting. It will be readily understood that the processes shown in the above figures are not intended to indicate or limit the chronological order of the processes. In addition, it is also readily understood that these processes may be performed synchronously or asynchronously, e.g., in multiple modules.
It should be noted that although in the above detailed description several modules or units of the device for action execution are mentioned, such a division is not mandatory. Indeed, the features and functions of two or more modules or units described above may be embodied in one module or unit according to an exemplary embodiment of the present disclosure. Conversely, the features and functions of one module or unit described above may be further divided into embodiments by a plurality of modules or units.
Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure disclosed herein. This application is intended to cover any variations, uses, or adaptations of the disclosure following, in general, the principles of the disclosure and including such departures from the present disclosure as come within known or customary practice within the art to which the disclosure pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the disclosure being indicated by the following claims.
It will be understood that the present disclosure is not limited to the precise arrangements described above and shown in the drawings and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is to be limited only by the terms of the appended claims.

Claims (17)

  1. A method for upgrading firmware of an unmanned aerial vehicle, comprising:
    acquiring a current Loader version of a module to be upgraded in the unmanned aerial vehicle;
    determining a target version of the firmware required by the module to be upgraded according to the current Loader version;
    and upgrading the firmware of the module to be upgraded to the target version.
  2. The method of claim 1, wherein the module to be upgraded comprises a multi-level Loader;
    the determining the target version of the firmware required by the module to be upgraded according to the current Loader version comprises:
    and determining a target version of the firmware required by the module to be upgraded according to the current version of the first-level Loader of the module to be upgraded.
  3. The method of claim 1, wherein the determining a target version of firmware required by the module to be upgraded according to the current Loader version comprises:
    acquiring a mapping relation table, wherein the mapping relation table comprises a mapping relation between a Loader version and a firmware version;
    and searching the firmware version mapped by the current Loader version of the module to be upgraded in the mapping relation table, and taking the searched firmware version as the target version.
  4. The method of claim 3, further comprising:
    and if the mapping relation table finds that the current Loader version of the module to be upgraded maps a plurality of firmware versions, determining the latest firmware version in the plurality of firmware versions as the target version.
  5. The method of claim 3, wherein obtaining the mapping table comprises:
    acquiring loaders of multiple versions and firmware of multiple versions;
    extracting a loading program list in each version of Loader and a starting program list in each version of firmware, and respectively matching the loading program list of each version of Loader with the starting program list of each version of firmware;
    and establishing a mapping relation between the Loader version corresponding to the successfully matched Loader program list and the firmware version corresponding to the startup program list so as to construct the mapping relation table.
  6. The method of claim 1, wherein the obtaining the current Loader version of the module to be upgraded comprises:
    and acquiring a current hardware identifier of the module to be upgraded, and determining the current Loader version of the module to be upgraded according to the current hardware identifier.
  7. The method of claim 1, wherein the module to be upgraded is an embedded module.
  8. An apparatus for upgrading firmware of an unmanned aerial vehicle, comprising:
    the Loader version acquiring unit is used for acquiring the current Loader version of the module to be upgraded;
    the firmware version determining unit is used for determining a target version of the firmware required by the module to be upgraded according to the current Loader version of the module to be upgraded;
    and the target version upgrading unit is used for upgrading the firmware of the module to be upgraded to the target version.
  9. A control device for an unmanned aerial vehicle, comprising:
    a processor; and
    a memory for storing executable instructions of the processor;
    wherein the processor is configured to perform a method of firmware upgrade of an unmanned aerial vehicle via execution of the executable instructions, the method comprising:
    acquiring a current Loader version of a module to be upgraded in the unmanned aerial vehicle;
    determining a target version of the firmware required by the module to be upgraded according to the current Loader version;
    and upgrading the firmware of the module to be upgraded to the target version.
  10. The control device of claim 9, wherein the module to be upgraded comprises a multi-stage Loader;
    the determining the target version of the firmware required by the module to be upgraded according to the current Loader version comprises:
    and determining a target version of the firmware required by the module to be upgraded according to the current version of the first-level Loader of the module to be upgraded.
  11. The control device according to claim 9, wherein the determining a target version of firmware required by the module to be upgraded according to the current Loader version comprises:
    acquiring a mapping relation table, wherein the mapping relation table comprises a mapping relation between a Loader version and a firmware version;
    and searching the firmware version mapped by the current Loader version of the module to be upgraded in the mapping relation table, and taking the searched firmware version as the target version.
  12. The control device of claim 11, wherein the method further comprises:
    and if the mapping relation table finds that the current Loader version of the module to be upgraded maps a plurality of firmware versions, determining the latest firmware version in the plurality of firmware versions as the target version.
  13. The control apparatus according to claim 11, wherein the obtaining of the mapping table includes:
    acquiring loaders of multiple versions and firmware of multiple versions;
    extracting a loading program list in each version of Loader and a starting program list in each version of firmware, and respectively matching the loading program list of each version of Loader with the starting program list of each version of firmware;
    and establishing a mapping relation between the Loader version corresponding to the successfully matched Loader program list and the firmware version corresponding to the startup program list so as to construct the mapping relation table.
  14. The control device according to claim 9, wherein the obtaining of the current Loader version of the module to be upgraded comprises:
    and acquiring a current hardware identifier of the module to be upgraded, and determining the current Loader version of the module to be upgraded according to the current hardware identifier.
  15. The control device of claim 9, wherein the module to be upgraded is an embedded module.
  16. An unmanned aerial vehicle, comprising:
    a body;
    a control device as claimed in any one of claims 9 to 15, provided in the fuselage.
  17. A computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, carries out the method of any one of claims 1 to 7.
CN201880069182.4A 2018-12-14 2018-12-14 Firmware upgrading method and device for unmanned aerial vehicle, control device, unmanned aerial vehicle and medium Pending CN111566617A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/121312 WO2020118719A1 (en) 2018-12-14 2018-12-14 Firmware upgrading method, firmware upgrading device and control device of unmanned aerial vehicle, unmanned aerial vehicle and medium

Publications (1)

Publication Number Publication Date
CN111566617A true CN111566617A (en) 2020-08-21

Family

ID=71075297

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880069182.4A Pending CN111566617A (en) 2018-12-14 2018-12-14 Firmware upgrading method and device for unmanned aerial vehicle, control device, unmanned aerial vehicle and medium

Country Status (2)

Country Link
CN (1) CN111566617A (en)
WO (1) WO2020118719A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113805923A (en) * 2021-09-27 2021-12-17 一飞智控(天津)科技有限公司 Method, system and medium for upgrading control components of formation aircrafts, formation aircrafts and application
CN113821434A (en) * 2021-09-09 2021-12-21 摩拜(北京)信息技术有限公司 Firmware upgrade test method and device, electronic equipment and readable storage medium

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113553082B (en) * 2021-07-29 2023-03-21 百度在线网络技术(北京)有限公司 Method for upgrading firmware and method and device for recovering firmware

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101778376A (en) * 2009-12-31 2010-07-14 中兴通讯股份有限公司 Method and device for realizing wireless firmware update
CN106055373A (en) * 2016-07-04 2016-10-26 苏州光之翼智能科技有限公司 Automatic batch upgrading device and method for unmanned aerial vehicle firmware
CN106789334A (en) * 2017-01-13 2017-05-31 狼天科技(深圳)有限公司 A kind of method and apparatus of firmware upgrade
CN108958774A (en) * 2018-07-13 2018-12-07 深圳市道通智能航空技术有限公司 Module updating method and module to be upgraded in UAV system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106657233B (en) * 2016-09-29 2020-04-21 Tcl商用信息科技(惠州)股份有限公司 Method and system for upgrading display firmware
CN107888632A (en) * 2016-09-29 2018-04-06 上海华测导航技术股份有限公司 A kind of network automatic on-line upgrading GNSS firmware processing methods
CN107438830B (en) * 2016-09-30 2021-02-05 深圳市大疆创新科技有限公司 Upgrading method, upgrading device, upgrading equipment and upgrading system
CN107608695B (en) * 2017-09-21 2020-08-28 曙光信息产业(北京)有限公司 Hard disk firmware upgrading method and device and server

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101778376A (en) * 2009-12-31 2010-07-14 中兴通讯股份有限公司 Method and device for realizing wireless firmware update
CN106055373A (en) * 2016-07-04 2016-10-26 苏州光之翼智能科技有限公司 Automatic batch upgrading device and method for unmanned aerial vehicle firmware
CN106789334A (en) * 2017-01-13 2017-05-31 狼天科技(深圳)有限公司 A kind of method and apparatus of firmware upgrade
CN108958774A (en) * 2018-07-13 2018-12-07 深圳市道通智能航空技术有限公司 Module updating method and module to be upgraded in UAV system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113821434A (en) * 2021-09-09 2021-12-21 摩拜(北京)信息技术有限公司 Firmware upgrade test method and device, electronic equipment and readable storage medium
CN113805923A (en) * 2021-09-27 2021-12-17 一飞智控(天津)科技有限公司 Method, system and medium for upgrading control components of formation aircrafts, formation aircrafts and application

Also Published As

Publication number Publication date
WO2020118719A1 (en) 2020-06-18

Similar Documents

Publication Publication Date Title
US8352577B2 (en) Method and apparatus for updating information on an embedded system
CN109165055B (en) Unmanned system component loading method and device, computer equipment and medium
CN1783004A (en) Persistent memory manipulation using EFI
US20150242201A1 (en) Method for updating firmware and electronic device thereof
US11435985B2 (en) Electronic device and operation method thereof
CN111566617A (en) Firmware upgrading method and device for unmanned aerial vehicle, control device, unmanned aerial vehicle and medium
US20220100490A1 (en) Firmware updating method, and electronic apparatus and storage media for same
CN103365696A (en) BIOS (Basic Input Output System) image file obtaining method and device
CN107220085B (en) Method for automatically upgrading RAID card firmware
US20230266958A1 (en) Method for creating private image in public cloud and related device
CN103853535A (en) Method and device for modifying middleware
CN116737244A (en) Method and device for starting multiple hardware domains of chip
CN114072765B (en) Method for container-based virtualization system
CN110851154A (en) Computer-implemented method, system, and medium for updating read-only memory code
CN114816491A (en) System upgrading method and device for multi-system mobile terminal and terminal
CN112181467A (en) Method and device for upgrading memory firmware of terminal, terminal and storage medium
US20150212866A1 (en) Management system for service of multiple operating environments, and methods thereof
CN116028267A (en) Dual-system secure mobile phone resetting method and device, server and storage medium
CN109669715A (en) application program dynamic updating method, device and storage medium
CN111399926A (en) Method and device for downloading starting program
CN110716753B (en) Cloud host initialization method and device, storage medium and electronic equipment
CN113760631B (en) Page loading time length determining method, device, equipment and storage medium
CN114296764A (en) System upgrading method and device, storage medium and electronic equipment
KR102064519B1 (en) Method for updating software of electronic control unit of vehicle, apparatus and system thereof
CN113590179A (en) Plug-in detection method and device, electronic equipment and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20200821

WD01 Invention patent application deemed withdrawn after publication