A firmware upgrade method and electronic device

By packaging the firmware name and version number of the main device and its sub-device on the server side to form a configuration file, and automatically compare and upgrade on the main device side, the problems of frequent firmware upgrade reminders and low upgrade efficiency are solved, and centralized management and efficient upgrades of multiple devices are achieved.

CN114265602BActive Publication Date: 2025-05-02HUAWEI TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110745398.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-09-16
Filing Date
2021-07-01
Publication Date
2025-05-02
Estimated Expiration
2041-07-01

AI Technical Summary

Technical Problem

In the prior art, the firmware upgrade reminders of the main device and its sub-device are frequently, the upgrade efficiency is low, and the firmware upgrade of the sub-device is inflexible, so the sub-device cannot be upgraded separately.

Method used

By packaging the firmware names and version numbers of the main device and its sub-device on the server side, forming a configuration file, and receiving and comparing the version numbers in the configuration file on the main device side, the firmware upgrade is automatically performed.

Benefits of technology

It solves the problems of frequent firmware upgrade reminders and low upgrade efficiency, realizes centralized management and upgrade of firmware of multiple devices, and improves upgrade efficiency and flexibility.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114265602B_ABST
    Figure CN114265602B_ABST
Patent Text Reader

Abstract

A firmware upgrade method and electronic device, relating to the field of terminal technology, the method comprising: obtaining a first configuration file sent by a third electronic device, and if it is detected that the second electronic device establishes a connection with the first electronic device, obtaining a second name and a second version number of a second firmware corresponding to the second electronic device; in the first version number of the second firmware, obtaining a third version number of the second firmware corresponding to a third name of the second firmware; if the second version number of the second firmware is inconsistent with the third version number of the second firmware, obtaining the second firmware corresponding to the third version number from the third electronic device to complete the firmware upgrade of the second electronic device. The method avoids the problem of frequent reminders during firmware upgrades in the prior art and improves the user experience.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of terminal technology, and in particular to a firmware upgrade method and electronic device. Background Art

[0002] Electronic devices are becoming more and more diverse, and many devices support the connection of attached hardware devices to enhance their functions. For example, VR systems can be connected to various handles, such as ordinary left and right handles / gloves, guns that enhance the immersive experience of specific scenes, rowing machines, and aircraft simulators. These devices (including attached hardware devices) have their own firmware, and firmware upgrades can fix problems or add functions.

[0003] Some complex devices also have many independently upgradeable sub-devices embedded in them. For example, a VR helmet has multiple cameras, some of which capture human eyes and some of which capture external scenes. The firmware of these cameras also needs to be upgraded. Even the connection between the VR helmet and the host (mobile phone or computer) is becoming more and more intelligent, with its own firmware, which needs to be upgraded. Summary of the invention

[0004] The present application provides a firmware upgrade method and an electronic device. The present application also provides a computer-readable storage medium to provide a firmware upgrade method to solve the problem that when any device in a main device and its sub-devices has a new firmware version, the user will be notified that the firmware needs to be upgraded.

[0005] In a first aspect, the present application provides a firmware upgrade method, which is applied to a first electronic device, the first electronic device includes a first firmware, the first electronic device communicates with at least one second electronic device, the second electronic device includes a second firmware, and includes:

[0006] Acquire a first configuration file sent by a third electronic device, where the first configuration file includes a first name and a first version number of the first firmware, and a first name and a first version number of the second firmware;

[0007] If it is detected that the second electronic device is connected to the first electronic device, obtaining a second name and a second version number of a second firmware corresponding to the second electronic device;

[0008] From the first name of the second firmware, query a third name that is consistent with the second name of the second firmware, and based on the third name of the second firmware, obtain a third version number of the second firmware corresponding to the third name of the second firmware from the first version number of the second firmware;

[0009] Determining whether the second version number of the second firmware is consistent with the third version number of the second firmware;

[0010] If the second version number of the second firmware is inconsistent with the third version number of the second firmware, the second firmware corresponding to the third version number is obtained from the third electronic device to complete the firmware upgrade of the second electronic device.

[0011] Furthermore, after obtaining the first configuration file sent by the third electronic device, the method further includes:

[0012] Obtaining a second name and a second version number of a first firmware of a first electronic device;

[0013] From the first name of the first firmware, query a third name that is consistent with the second name of the first firmware, and based on the third name of the first firmware, obtain a third version number of the first firmware corresponding to the third name of the first firmware from the first version number of the first firmware;

[0014] Determine whether the second version number of the first firmware is consistent with the third version number of the first firmware;

[0015] If the second version number of the first firmware is inconsistent with the third version number of the first firmware, the first firmware corresponding to the third version number is obtained from the third electronic device to complete the firmware upgrade of the first electronic device.

[0016] Further, if the second version number of the second firmware is inconsistent with the third version number of the second firmware, and the second version number of the first firmware is inconsistent with the third version number of the first firmware, the method further includes:

[0017] Acquire a constraint relationship between the second firmwares and / or between the second firmware and the first firmware, where the constraint relationship is used to indicate whether the second firmwares and / or between the second firmware and the first firmware are compatible;

[0018] Determine whether the second firmware corresponding to the third version number of the second firmware is compatible with the first firmware corresponding to the third version number of the first firmware, and determine whether the second firmware corresponding to the third version number of the second firmware is compatible with each other. If not, terminate the upgrade of the first firmware and the second firmware.

[0019] Further, the first electronic device includes a second configuration file, the first configuration file includes a first file version number, the second configuration file includes a second file version number, and the method further includes:

[0020] Sending a configuration file update request to a third electronic device, so that the third electronic device compares the second file version number of the second configuration file with the first file version number of the first configuration file, and causes the third electronic device to send the first configuration file to the first electronic device based on the comparison result, wherein the configuration file update request is used to obtain the first configuration file, and the configuration file update request includes the version number of the second configuration file;

[0021] A first configuration file sent by the third device is obtained, and the second configuration file is updated to the first configuration file.

[0022] In a second aspect, the present application provides a firmware upgrade method, which is applied to a third electronic device, comprising:

[0023] Obtaining a name and version number of a first firmware and / or a name and version number of a second firmware, wherein the first firmware is used to upgrade the firmware of the first electronic device and the second firmware is used to upgrade the firmware of the second electronic device;

[0024] Generate a first configuration file based on the name and version number of the first firmware and / or the name and version number of the second firmware;

[0025] The first configuration file is sent to the first electronic device, so that the first electronic device upgrades the first firmware and / or the second firmware based on the first configuration file.

[0026] Furthermore, before generating the first configuration file based on the name and version number of the first firmware and / or the name and version number of the second firmware, the method further includes:

[0027] A constraint relationship between the second firmware and / or between the second firmware and the first firmware is configured, where the constraint relationship is used to indicate whether the second firmware and / or between the second firmware and the first firmware are compatible.

[0028] Further, based on the name and version number of the first firmware and / or the name and version number of the second firmware, a first configuration file is generated, including:

[0029] It is determined whether the second firmware and / or the second firmware and the first firmware satisfy a constraint relationship; if the second firmware and / or the second firmware and the first firmware are incompatible, the generation of the first configuration file is terminated.

[0030] In a third aspect, the present application provides a first electronic device, the first electronic device includes a first firmware, the first electronic device communicates with at least one second electronic device, the second electronic device includes a second firmware, a processor and a storage device, the storage device stores an application, and when the application is run by the processor, the electronic device performs the following steps:

[0031] Acquire a first configuration file sent by a third electronic device, where the first configuration file includes a first name and a first version number of the first firmware, and a first name and a first version number of the second firmware;

[0032] If it is detected that the second electronic device is connected to the first electronic device, obtaining a second name and a second version number of a second firmware corresponding to the second electronic device;

[0033] From the first name of the second firmware, query a third name that is consistent with the second name of the second firmware, and based on the third name of the second firmware, obtain a third version number of the second firmware corresponding to the third name of the second firmware from the first version number of the second firmware;

[0034] Determining whether the second version number of the second firmware is consistent with the third version number of the second firmware;

[0035] If the second version number of the second firmware is inconsistent with the third version number of the second firmware, the second firmware corresponding to the third version number is obtained from the third electronic device to complete the firmware upgrade of the second electronic device.

[0036] Furthermore, when the application is executed by the processor, after the electronic device executes the step of acquiring the first configuration file sent by the third electronic device, the process further includes the following steps:

[0037] Obtaining a second name and a second version number of a first firmware of a first electronic device;

[0038] From the first name of the first firmware, query a third name that is consistent with the second name of the first firmware, and based on the third name of the first firmware, obtain a third version number of the first firmware corresponding to the third name of the first firmware from the first version number of the first firmware;

[0039] Determine whether the second version number of the first firmware is consistent with the third version number of the first firmware;

[0040] If the second version number of the first firmware is inconsistent with the third version number of the first firmware, the first firmware corresponding to the third version number is obtained from the third electronic device to complete the firmware upgrade of the first electronic device.

[0041] Furthermore, when the application is executed by the processor, after the electronic device executes the step of if the second version number of the second firmware is inconsistent with the third version number of the second firmware, and the second version number of the first firmware is inconsistent with the third version number of the first firmware, the following steps are also included:

[0042] Acquire a constraint relationship between the second firmwares and / or between the second firmware and the first firmware, where the constraint relationship is used to indicate whether the second firmwares and / or between the second firmware and the first firmware are compatible;

[0043] Determine whether the second firmware corresponding to the third version number of the second firmware is compatible with the first firmware corresponding to the third version number of the first firmware, and determine whether the second firmware corresponding to the third version number of the second firmware is compatible with each other. If not, terminate the upgrade of the first firmware and the second firmware.

[0044] Furthermore, the first electronic device includes a second configuration file, the first configuration file includes a first file version number, the second configuration file includes a second file version number, and when the application is executed by the processor, the electronic device further performs the following steps:

[0045] Sending a configuration file update request to a third electronic device, so that the third electronic device compares the second file version number of the second configuration file with the first file version number of the first configuration file, and causes the third electronic device to send the first configuration file to the first electronic device based on the comparison result, wherein the configuration file update request is used to obtain the first configuration file, and the configuration file update request includes the version number of the second configuration file;

[0046] A first configuration file sent by the third device is obtained, and the second configuration file is updated to the first configuration file.

[0047] In a fourth aspect, the present application provides a third electronic device, including a processor and a storage device, wherein the storage device stores an application program, and when the application program is executed by the processor, the electronic device performs the following steps:

[0048] Obtaining a name and version number of a first firmware and / or a name and version number of a second firmware, wherein the first firmware is used to upgrade the firmware of the first electronic device and the second firmware is used to upgrade the firmware of the second electronic device;

[0049] Generate a first configuration file based on the name and version number of the first firmware and / or the name and version number of the second firmware;

[0050] The first configuration file is sent to the first electronic device, so that the first electronic device upgrades the first firmware and / or the second firmware based on the first configuration file.

[0051] Furthermore, when the application is executed by the processor, before the electronic device executes the step of generating the first configuration file based on the name and version number of the first firmware and / or the name and version number of the second firmware, the application further includes the following steps:

[0052] A constraint relationship between the second firmware and / or between the second firmware and the first firmware is configured, where the constraint relationship is used to indicate whether the second firmware and / or between the second firmware and the first firmware are compatible.

[0053] Further, when the application is executed by the processor, the electronic device executes the step of generating a first configuration file based on the name and version number of the first firmware and / or the name and version number of the second firmware, including the following steps:

[0054] It is determined whether the second firmware and / or the second firmware and the first firmware satisfy a constraint relationship; if the second firmware and / or the second firmware and the first firmware are incompatible, the generation of the first configuration file is terminated.

[0055] In a fifth aspect, the present application provides a computer-readable storage medium, in which a computer program is stored. When the computer-readable storage medium is run on a computer, the computer executes the method described in the first aspect.

[0056] In a sixth aspect, the present application provides a computer program, which, when executed by a computer, is used to execute the method described in the first aspect.

[0057] In one possible design, the program in the fourth aspect may be stored in whole or in part on a storage medium packaged together with the processor, or may be stored in whole or in part on a memory not packaged together with the processor. BRIEF DESCRIPTION OF THE DRAWINGS

[0058] Figure 1 A schematic diagram of the structure of an electronic device for performing firmware upgrade in the related art;

[0059] Figure 2 A framework diagram of an electronic device for firmware upgrade provided by one embodiment of the present application;

[0060] Figure 3 A framework diagram of an electronic device for firmware upgrade provided by another embodiment of the present application;

[0061] Figure 4 A flowchart of a firmware upgrade provided for one embodiment of the present application.

[0062] Figure 5 A schematic diagram of communication between a first electronic device, a second electronic device, and a third electronic device provided in an embodiment of the present application;

[0063] Figure 6 A flowchart of a firmware upgrade method provided in an embodiment of the present application;

[0064] Figure 7 A flowchart of another firmware upgrade method provided in an embodiment of the present application;

[0065] Figure 8 A user interface diagram of the firmware upgrade method provided in an embodiment of the present application. DETAILED DESCRIPTION

[0066] The technical solution in the embodiment of the present application will be described below in conjunction with the drawings in the embodiment of the present application. In the description of the embodiment of the present application, unless otherwise specified, " / " means or, for example, A / B can mean A or B; "and / or" in this article is only a description of the association relationship of associated objects, indicating that there can be three relationships, for example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone.

[0067] In the following, the terms "first" and "second" are used for descriptive purposes only and are not to be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of the features. In the description of the embodiments of the present application, unless otherwise specified, "plurality" means two or more.

[0068] Electronic devices are becoming more and more diverse, and many devices support the connection of attached hardware devices to enhance their functions. For example, VR systems can be connected to various handles, such as ordinary left and right handles / gloves, guns that enhance the immersive experience of specific scenes, rowing machines, and aircraft simulators. These devices also include attached hardware devices, which have their own firmware, and firmware upgrades can fix problems or add functions.

[0069] Some complex devices also have many independently upgradeable sub-devices embedded in them. For example, a VR helmet has multiple cameras, some of which capture human eyes and some of which capture external scenes. The firmware of these cameras also needs to be upgraded. Even the connection between the VR helmet and the host (mobile phone or computer) is becoming more and more intelligent, with its own firmware, which needs to be upgraded.

[0070] See also Figure 1 , specifically a structural diagram of an electronic device for performing firmware upgrade in the related art.

[0071] Most current firmware upgrades use a method where each device is upgraded independently. For example, if the firmware of the main device has a new version, the firmware of the main device is upgraded. If the firmware of a sub-device of the main device has a new version, the firmware of the sub-device of the main device is upgraded. For example, a VR helmet is the main device, and the controllers, cameras and other devices associated with the VR helmet are sub-devices of the VR helmet. When the VR helmet detects that the VR helmet's firmware has a new version, the VR helmet is upgraded. If the controller's firmware has a new version, the controller is upgraded. Users can check whether the firmware of the main device and its sub-devices has a new version on the main device, such as checking whether the firmware of the VR helmet and its sub-devices (controllers, cameras) has a new version on the VR helmet.

[0072] Specifically, see Figure 1, the figure shows a main device 100, a first sub-device 102 and a second sub-device 104 of the main device, and a server 200. The main device is generally a mobile phone, a computer, a VR / AR all-in-one machine, or other computing devices with computer-like capabilities. The main device can manage the firmware upgrade of each sub-device. The sub-device is often a physical device that must be used in a specific scenario. It may be an independent device or embedded in other devices. It has its own firmware and can be upgraded. The connection between the main device and the sub-device can be through a wired or wireless connection. The wireless connection includes Bluetooth, WIFI, cellular network, etc.

[0073] In the related art, the main device 100 can communicate with the server 200 and can query the server 200 whether there is a new version of the firmware of the main device 100 and its sub-devices (the first sub-device 102 and the second sub-device 104). The latest version of the firmware is stored in the server. If the main device 100 queries the server 200 and finds that a certain firmware of the main device 100 has a new version, the main device 100 prompts the user that the firmware of the main device 100 has the latest version. If the server 200 queries that the firmware of the sub-device of the main device 100 has a new version, the main device 100 prompts the user that the sub-device firmware of the main device 100 has the latest version. Then the user decides whether to upgrade the firmware of the main device 100 or its sub-device based on the prompt. Specifically, when the main device 100 needs to upgrade the firmware, the latest version of the firmware can be downloaded directly from the server 200. If the sub-device of the main device 100 needs to upgrade the firmware, the main device 100 downloads the latest version of the required firmware from the server 200 and then sends it to the sub-device of the main device 100 so that the sub-device can perform the firmware upgrade.

[0074] It should be noted that the above-mentioned server 200 specifically includes a cloud server, which is a server specifically used to provide cloud storage space for firmware versions and support cloud-based firmware version query and firmware download.

[0075] The related technology of firmware upgrade has the following problems: the number of main devices and their sub-devices is relatively large, and when any of the main devices and their sub-devices has a new firmware version, the user will be notified that the firmware needs to be upgraded. This makes the reminder of device firmware upgrade appear frequently, and each reminder may upgrade the firmware of one device, which has low upgrade efficiency and interrupts the user's use for a long time.

[0076] In addition, the firmware versions of multiple devices may have dependencies. For example, version 1.1 of a VR helmet must be paired with version 1.2 of a controller. In this case, the firmware cannot be upgraded at will, and the helmet must be checked for the controller version. If there are also version dependencies on the locator and external camera, then the version checks for the locator and external camera must also be added, which becomes even more complicated. If the firmware dependencies are not considered and the firmware is upgraded at will, it may lead to incompatibility between the various firmwares, resulting in new problems.

[0077] In addition, in the related technology, there is another upgrade method. For a scenario where a main device physically contains multiple sub-devices, the main device and the sub-devices it contains are regarded as a whole, and their firmware is also physically packaged into a whole for external release and upgrade, that is, the packaged whole has only one name and version number.

[0078] For example, see Figure 1 , the main device 100 includes a first sub-device 102 and a second sub-device 104. In the related art, on the server 200 side, all relevant firmware of the main device 100, the first sub-device 102 and the second sub-device 104 are packaged into an integral file, and the three devices share a firmware version name and firmware version number as a whole. When the firmware of the first sub-device 102 needs to be upgraded, the main device 100 needs to download all the firmware of the above-mentioned integral file, and then send the latest firmware version of the first sub-device 102 to the first sub-device 102, so that the firmware of the first sub-device 102 is upgraded. Similarly, when the firmware of the main device 100 needs to be upgraded, the main device 100 also needs to download the above-mentioned integral file, and then upgrade the version of the firmware of the main device 100 to the latest version downloaded. For example, a VR helmet includes at least one camera sub-device. The related art packages the firmware of the VR helmet and the firmware of the camera sub-device together, and uses a version number as a whole. If there is a camera firmware version that needs to be upgraded, even if the VR helmet does not need to be upgraded, it is necessary to download the firmware contained in the entire file.

[0079] The disadvantage of this related technical solution is that the firmware upgrade of the sub-device is not flexible and the sub-device cannot be upgraded separately. For example, in the above example, the new firmware of the sub-device and the old VR helmet firmware must be packaged to form a new version of the VR helmet as a whole. This makes the old VR helmet firmware appear in multiple packaged files with repeated content.

[0080] When upgrading the firmware, you only need to download the firmware of the camera sub-device, but this solution requires you to download the firmware of the VR helmet and sub-device. Therefore, this solution wastes storage space, network transmission traffic, and upgrade time.

[0081] In order to solve the above technical problems, the inventors have proposed a new technical solution for firmware upgrade. The overall idea of ​​the technical solution of this application is summarized and explained below.

[0082] On the server side, the name and version number of each firmware of a main device and its sub-devices are packaged, or only the names and version numbers of the firmware of all sub-devices of the main device are packaged, or the names and version numbers of the firmware of a specific type of sub-device are packaged to form a configuration file, which includes a unique version number. The server can publish the version of the configuration file regularly or at a preset time. On the main device side, the configuration file sent by the server can be received. When a sub-device is connected to the main device, the main device can obtain the current firmware version number of the sub-device, and then compare it with the version number of the firmware in the configuration file. If it is inconsistent, it means that the current firmware version of the sub-device is not the latest. The main device can download the latest firmware from the server based on the user's instructions or the main device actively to upgrade the firmware of the sub-device. Similarly, if the configuration file is formed by packaging the name and version number of each firmware of the main device and its sub-devices, the main device can also upgrade its own firmware based on this method.

[0083] When the server side updates the configuration file, it may not be published immediately, but may be published regularly or at a preset time. The master device sends a query request to the server to query whether the server includes the latest version of the configuration file. If the master device determines that the server has the latest version of the configuration file, it can receive the latest configuration file from the server to overwrite the old configuration file in the master device. Then, based on the name and version number of the latest version of the firmware in the new configuration file, it is detected whether the firmware of the master device or the firmware of the sub-device of the master device needs to be upgraded.

[0084] From the above, it can be found that the firmware upgrade method provided by the present application manages the firmware of multiple devices through a configuration file, and configures the name of the device firmware and its corresponding firmware version number in the configuration file. When it is released to the outside, it is completed by releasing a new version of the configuration file. The end user only needs to see the version of the configuration file and does not need to pay attention to the version of each device firmware. In addition, the pace of updates can also be determined by the pace of the server publishing configuration files. Thereby, the technical problems shown in the above-mentioned related technologies, such as frequent reminders for device firmware upgrades, upgrading one device firmware each time, low upgrade efficiency, and long interruptions to user use, are solved.

[0085] Figure 2 A framework diagram of an electronic device for firmware upgrade provided in one embodiment of the present application, Figure 2The server 212 may include a firmware version management module, which is responsible for firmware archiving and firmware release. The main device 214 can download the firmware of the main device 214 and / or each sub-device (such as sub-device 1 to sub-device n) from the server, and send the firmware of each sub-device (such as sub-device 1 to sub-device n) to the sub-device for firmware upgrade. The firmware version management module included in the main device 214 is responsible for querying the version of each sub-device, and comparing it with the firmware version in the configuration file to confirm whether there is a new firmware version. If so, prompt the user to upgrade. During the upgrade, the firmware version management module is responsible for downloading the new firmware version and upgrading it to the sub-device.

[0086] Figure 3 A framework diagram of an electronic device for firmware upgrading provided in accordance with another embodiment of the present application.

[0087] The server 312 includes the firmware of the electronic device 308 and / or the sub-device 314 of the electronic device 308. For example, the electronic device 308 is a mobile phone, and the sub-device of the mobile phone can be any one of a helmet, a camera 1, a camera 2 handle, and a cable. Each sub-device has a corresponding developer 302 for maintenance, and the firmware of the sub-device is regularly upgraded as needed. For example, the helmet is maintained by the developer 3022. It can be understood that each time the firmware of the sub-device is upgraded, a new firmware version will be formed, and each firmware version has a unique version number. For example, the version number of the helmet firmware after the upgrade is V3.2, and the version number before the upgrade is V3.1.

[0088] In one embodiment, the electronic device 308 includes a configuration file v1, which includes the firmware name and version number of the electronic device and / or sub-device that can be downloaded from the current server. The electronic device 308 can upgrade the firmware of the electronic device 308 or its sub-device 314 according to the configuration file v1. Continuing with the example that the electronic device 308 is a mobile phone, and the sub-device 314 is a helmet, camera 1, camera 2 handle and cable, the helmet, camera and handle can be connected to the electronic device 308 via USB, and the electronic device 308 is connected to the cable via Bluetooth, etc. The electronic device 308 can upgrade the firmware of the electronic device 308 or its sub-device 314 according to the configuration file v1. Figure 4 , an exemplary description is given of the firmware upgrade method shown in this embodiment.

[0089] When the mobile phone detects that a camera is inserted (step 402), it obtains the camera's firmware name and version number from the camera, and obtains the camera's firmware name and version number from configuration file v1 based on the camera's firmware name (step 404), and determines whether the firmware version number obtained from the camera is consistent with the camera firmware version number in configuration file v1 (step 406). If they are inconsistent, the camera's firmware is downloaded from the server based on the camera firmware version number in configuration file v1 to complete the firmware upgrade in the camera (step 408). In one embodiment, the server can form a new configuration file based on the firmware version updated by the developer, and each configuration file version has a unique version number. For example, the configuration file in the current electronic device is version v1, and the newly formed version in the server is configuration file version v2. The electronic device 308 can determine whether the current configuration file in the electronic device 308 is the latest version by comparing the version numbers of the configuration files. For example, Figure 3 If the version number of the configuration file v1 is lower than the version number of the configuration file v2, the configuration file v2 is downloaded from the server to overwrite the configuration file v1 in the electronic device 308.

[0090] In one embodiment, the electronic device 308 can compare the version number of the current configuration file in the electronic device 308 with the version number of the configuration file in the server within a preset time to determine whether to download a new version of the configuration file from the server. Alternatively, in one embodiment, when the server forms a new configuration file, it is released within a preset time so that the electronic device downloads the new version of the configuration file. Through the above embodiment, it is avoided that as long as a new version of the configuration file is formed, the electronic device immediately downloads the new version of the configuration file to frequently update the firmware.

[0091] In one embodiment, the configuration file may be in json / xml or other text formats. Taking xml as an example, the form of the configuration file is described below:

[0092]

[0093] The version number of the above configuration file is 1.1, which contains the helmet firmware version number 3.2, the camera firmware version number 1.0, the cable firmware version number 1.5, and the handle firmware version number 3.1.

[0094] In one embodiment, when there is a dependency between the firmware versions of multiple devices, for example, version 1.1 of a VR helmet must be matched with version 1.2 of a controller, the compatibility relationship between the versions can also be configured through a configuration file.

[0095] Assume that the devices that need to be upgraded together include helmet firmware A, cable B, and handle C. When packaging and upgrading, configure the firmware version of each packaged device through a configuration file (which can be xml / json or other forms). The following is an example:

[0096] <firmware-package version=’1.1’>

[0097] <firmware name=’A’version=’1.2’ / >

[0098] <firmware name=’B’version=’2.0’ / >

[0099] <firmware name=’C’version=’3.5’ / >

[0100]

[0101] If there are version compatibility requirements between helmet firmware A and cable B, and version 1.2 of helmet firmware A requires cable B to be between version 2.0 and 2.5, then the package configuration file can configure the compatibility constraint:

[0102]

[0103] This ensures that the firmware version of device B in the configuration file must be between 2.0 and 2.5. If this constraint is not met, a packaged configuration file error is reported.

[0104] In this way, when the first electronic device upgrades the helmet firmware A and the cable, the upgrade can be performed according to the above constraint relationship.

[0105] Refer to the following Figure 5 and Figure 6 , further illustrate the technical solution disclosed in this application, Figure 5 Specifically, it relates to a communication diagram of a first electronic device, a second electronic device and a third electronic device in an embodiment of a firmware upgrade method of the present application. Figure 6 Specifically, it relates to a flowchart of a firmware upgrade method provided by the present application, which can be executed on a first electronic device to upgrade the firmware of the first electronic device or the firmware of a second electronic device which is a sub-device of the first electronic device. The method includes:

[0106] Step 602: The first electronic device 202 obtains a first configuration file sent by the third electronic device, where the first configuration file includes a first name and a first version number of the first firmware, and a first name and a first version number of the second firmware.

[0107] The first electronic device 202 includes a mobile phone, a computer, a VR / AR all-in-one machine, or other computing devices with computer-like capabilities. Specifically, the first electronic device 202 also includes a controller, a processor, an external memory interface, an internal memory, and other devices.

[0108] The processor may include one or more processing units, for example, the processor may include an application processor (AP), a modem processor, a graphics processor (GPU), an image signal processor (ISP), a controller, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU). Different processing units may be independent devices or integrated into one or more processors.

[0109] The controller can generate operation control signals according to the instruction operation code and timing signal to complete the control of instruction fetching and execution.

[0110] A memory may also be provided in the processor for storing instructions and data. In some embodiments, the memory in the processor is a cache memory. The memory may store instructions or data that the processor has just used or is cyclically used. If the processor needs to use the instruction or data again, it may be directly called from the memory. This avoids repeated access, reduces the waiting time of the processor, and thus improves the efficiency of the system.

[0111] In some embodiments, the processor may include one or more interfaces. The interface may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface, etc.

[0112] The external memory interface can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the first electronic device 202. The external memory card communicates with the processor via the external memory interface to implement a data storage function, such as storing music, video and other files in the external memory card.

[0113] The internal memory can be used to store computer executable program codes, and the executable program codes include instructions. The internal memory may include a program storage area and a data storage area. Among them, the program storage area may store an operating system, an application required for at least one function (such as a sound playback function, an image playback function, etc.), etc. The data storage area may store data created during the use of the first electronic device 202 (such as audio data, a phone book, etc.), etc. In addition, the internal memory may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, a universal flash storage (UFS), etc. The processor executes various functional applications and data processing of the first electronic device 202 by running instructions stored in the internal memory and / or instructions stored in a memory provided in the processor.

[0114] It is understandable that the structure illustrated in the embodiment of the present invention does not constitute a specific limitation on the first electronic device 202. In other embodiments of the present application, the first electronic device 202 may include more or fewer components than shown, or combine some components, or separate some components, or arrange the components differently.

[0115] In one embodiment, the first electronic device 202 includes a VR helmet, and the sub-devices of the first electronic device 202 (the second electronic device 204) include a handle and a camera, etc. The first electronic device can detect the firmware of its sub-devices in real time, such as when the handle or camera is connected to the VR helmet, the VR helmet can detect the name and version number of the firmware of the handle or camera.

[0116] Figure 2 The third electronic device 206 includes a server, specifically a cloud server, etc. A cloud server is a simple, efficient, safe, reliable, and elastically scalable computing server. Its management method is simpler and more efficient than a physical server. Users can quickly create or release any number of cloud servers without having to purchase hardware in advance. Cloud servers are an important part of cloud computing services and are service platforms that provide comprehensive business capabilities for all types of Internet users. The platform integrates the three core elements of Internet applications in the traditional sense: computing, storage, and network. This embodiment can utilize the storage function of the cloud server to store the upgrade files of the device in the cloud server.

[0117] The firmware maintenance module 208 can be managed and maintained by different maintenance personnel. It should be noted that each firmware has a corresponding maintenance personnel. Taking the VR system as an example, the VR helmet, the camera on the VR helmet, the handle and even the cable have maintenance personnel. When the maintenance personnel want to solve the problem of the VR helmet or its sub-devices (camera, handle and cable, etc.), they may upgrade the corresponding firmware. Each firmware has its own version number and name, and then transmit the upgraded version to the third electronic device 206.

[0118] The third electronic device 206 can receive at least one firmware updated by the firmware maintenance module 208 , where each updated firmware includes a name and a version number, and the updated firmware includes the first firmware of the first electronic device 202 and the second firmware of the second electronic device 204 .

[0119] In one example, the third electronic device 206 may package the name and version number of the updated first firmware and the name and version number of the second firmware to form a configuration file, that is, the configuration file includes the name and version number of the first firmware and / or the second firmware. Figure 2 , the figure exemplarily shows a configuration file in a third electronic device. By way of example, when the first electronic device is a VR helmet, the configuration file of the VR helmet includes the name and version number of the firmware of the VR helmet, and also includes the name and version number of the firmware of the sub-devices of the VR helmet, such as the firmware name and version number of the camera, and the firmware name and version number of the handle.

[0120] It should be noted that when the third electronic device packages the first firmware, it can determine which first electronic device the first firmware belongs to based on the name of the first firmware, and the name of the first firmware under each first electronic device, or the name of the second firmware under the sub-device of the first electronic device, that is, the second electronic device, can be configured in advance in the third electronic device. For example, taking the VR helmet as the first electronic device as an example, the name of the firmware belonging to the VR helmet and the name of the firmware of the sub-device of the VR helmet, such as the firmware name of the camera of the VR helmet, can be configured in advance in the third electronic device. When the third electronic device receives an updated firmware from the firmware maintenance module 208, it can query which first electronic device the updated firmware specifically belongs to based on the name of the updated firmware, so that when a configuration file related to the first electronic device is subsequently formed, the name and version number of the firmware belonging to the first electronic device can be queried for packaging.

[0121] In another embodiment, when forming a configuration file, the third electronic device may set a constraint relationship between the second firmware and / or between the second firmware and the first firmware in the configuration file, and the constraint relationship is used to indicate whether the second firmware and / or the second firmware are compatible with the first firmware, such as version 1.1 of a VR helmet must be matched with version 1.2 of a handle. When the third electronic device packages the name and version number of the first firmware of the first electronic device and the name and version number of the second firmware of the second electronic device, it may first determine whether the second firmware to be packaged and / or the versions of the second firmware are compatible. If they are not compatible, the third electronic device may report an error or terminate the formation of the configuration file. In this way, the problem of incompatibility between the firmware of the first electronic device and the second electronic device after upgrading the firmware is avoided.

[0122] In one embodiment, a version number may be set for the configuration file, so that the first electronic device updates the configuration file based on the version number of the configuration file, as described below for details.

[0123] In another embodiment, in the process of forming the configuration file, only the name and version number of the second firmware may be packaged, that is, only the name and version number of the second firmware of the sub-device of the first electronic device may be packaged. In this embodiment, the firmware upgrade of the first electronic device is not concerned, and the update process is more targeted.

[0124] As shown above, the third electronic device 206 can communicate with the first electronic device 202 and the firmware maintenance module 204. After the third electronic device 206 receives the latest firmware version from the firmware maintenance module 204, the first electronic device 202 can send a request to download the latest version of the firmware to the server for firmware upgrade. This will be described in detail below.

[0125] In one embodiment, after the first electronic device obtains the configuration file from the third electronic device, when the first electronic device detects that the version of the second firmware in the configuration file is the same as the version of the second firmware of the second electronic device, there is no need to update the second firmware in the second electronic device. If the version of the second firmware in the configuration file is not the same as the version of the second firmware of the second electronic device, it is necessary to display on the user interface of the first electronic device that the second firmware of the second electronic device needs to be upgraded to the version of the second firmware in the configuration file. After the first electronic device detects the upgrade instruction input by the user, the first electronic device can download the second firmware indicated in the configuration file from the third electronic device and then send it to the second electronic device. Of course, the first electronic device may also automatically download the second firmware indicated in the configuration file and send it to the second electronic device for firmware upgrade instead of based on the user's instructions.

[0126] It should be noted that, in order to clearly explain the technical solution of the present invention, in this specification, the names of all first firmware in the configuration file are collectively referred to as the first names of the first firmware and the version numbers of the first firmware in the configuration file are collectively referred to as the first version numbers of the first firmware. The names of the second firmware in the configuration file are collectively referred to as the first names of the second firmware and the version numbers of the first firmware in the configuration file are collectively referred to as the first version numbers of the second firmware.

[0127] Step 604: If it is detected that the second electronic device is connected to the first electronic device, a second name and a second version number of a second firmware corresponding to the second electronic device are obtained.

[0128] As shown above, the first electronic device 202 can detect the firmware of its sub-device in real time and obtain the version number and name of the firmware, that is, the first electronic device 202 can detect the second firmware of the second electronic device 204 in real time and obtain the name and version number of the detected second firmware. For example, when the handle or camera is connected to the VR helmet, the VR helmet can detect the current firmware of the handle or camera and obtain the version number and name of the current firmware of the handle or camera. In one example, the first electronic device 202 can obtain the name and version number of the second firmware of the current second electronic device 204 based on the interface relationship between the hardware. For example, taking the first electronic device 202 as a VR helmet, when the VR helmet detects the USB of the camera, based on the interface relationship, the name and version number of each firmware in the camera can be read.

[0129] It should be noted that, in order to more clearly illustrate the technical solution of the present invention, the detected second firmware name and version of the second electronic device may be defined as the second name and second version number of the second firmware.

[0130] Step 606, query the third name consistent with the second name of the second firmware from the first name of the second firmware, and based on the third name of the second firmware, obtain the third version number of the second firmware corresponding to the third name of the second firmware from the first version number of the second firmware.

[0131] In one embodiment, the first electronic device 202 searches for a name that is consistent with the second name of the second firmware from the first name of the second firmware. To clearly illustrate the technical solution of the present invention, the name that is consistent with the second name of the second firmware found from the first name of the second firmware is defined as a third name. Then, based on the third name, the version number of the second firmware that is consistent with the third name is obtained in the configuration file. Here, to clearly illustrate the technical solution of the present invention, the version number of the second firmware corresponding to the third name is defined as a third version number.

[0132] Step 608: Determine whether the second version number of the second firmware is consistent with the third version number of the second firmware.

[0133] The purpose of this step is to compare the detected version number of the second firmware with the corresponding version number of the second firmware in the configuration file to determine whether the detected version number of the second firmware is the latest version.

[0134] Specifically, in order to clearly explain the technical solution of the present invention, the version number of the detected second firmware is defined as the second version number of the second firmware, and the version number of the second firmware in the configuration file that is consistent with the second name of the detected second firmware is defined as the third version number.

[0135] Based on this, it is determined whether the detected version of the second firmware is the latest version.

[0136] Similarly, the first electronic device can determine whether the version of the first firmware is the latest version by determining whether the second version number of the first firmware is consistent with the third version number of the first firmware.

[0137] Step 610: If the second version number of the second firmware is inconsistent with the third version number of the second firmware, obtain the second firmware corresponding to the third version number from the third electronic device to complete the firmware upgrade of the second electronic device.

[0138] By comparing the third version number of the second firmware and the second version number of the second firmware, that is, by comparing the version number of the current firmware detected in the second electronic device 204 (the second version number of the second firmware) and the version number of the firmware corresponding to the current firmware name in the second electronic device 204 in the configuration file (the third version number of the second firmware), if the two version numbers are inconsistent, it means that the version of the firmware corresponding to the current firmware name in the second electronic device 204 is not the latest version. The first electronic device 202 can download the firmware indicated by the third version number in the configuration file from the third electronic device, and then send it to the second electronic device 204 to complete the firmware upgrade.

[0139] See also Figure 7 , specifically relating to a flowchart provided in another embodiment of the firmware upgrade method of the present application.

[0140] Step 702 is similar to step 602 in detail and will not be described again here.

[0141] Step 704: Obtain a second name and a second version number of the first firmware of the first electronic device.

[0142] In one embodiment, the first electronic device may also detect the first firmware of the first electronic device in real time and obtain the name and version number of the first firmware. It should be noted that, in order to more clearly illustrate the technical solution of the present invention, the name and version number of the first firmware of the first electronic device detected may be defined as the second name and second version number of the first firmware.

[0143] Step 706, query the third name consistent with the second name of the first firmware from the first name of the first firmware, and based on the third name of the first firmware, obtain the third version number of the first firmware corresponding to the third name of the first firmware in the first version number of the first firmware.

[0144] In one embodiment, the first electronic device may query the first name of the first firmware for a name that is consistent with the second name of the detected first firmware. In order to clearly explain the technical solution of the present invention, the name that is consistent with the second name of the first firmware and is queried from the first name of the first firmware is defined as the third name of the first firmware. Then, based on the third name of the first firmware, the third version number of the first firmware corresponding to the third name of the first firmware is obtained in the configuration file.

[0145] Step 708: Determine whether the second version number of the first firmware is consistent with the third version number of the first firmware.

[0146] By comparing the third version number of the first firmware with the second version number of the first firmware, that is, by comparing the version number of the current first firmware detected in the first electronic device 202 (the second version number of the first firmware) and the version number of the firmware corresponding to the current firmware name in the first electronic device 202 in the configuration file (the third version number of the first firmware), if it is determined that the second version number of the first firmware is inconsistent with the third version number of the first firmware, it means that the version number of the first firmware corresponding to the current first firmware name in the first electronic device 202 is not the latest version.

[0147] Step 710: If the second version number of the first firmware is inconsistent with the third version number of the first firmware, obtain the first firmware corresponding to the third version number from a third electronic device to complete the firmware upgrade of the first electronic device.

[0148] If it is determined that the second version number of the first firmware is inconsistent with the third version number of the first firmware, it means that the version number of the first firmware corresponding to the current first firmware name in the first electronic device 202 is not the latest version. The first electronic device can download the first firmware specifically indicated by the third version number of the first firmware in the configuration file from the third electronic device, and then complete the upgrade of the current first firmware in the detected first electronic device 202.

[0149] In one embodiment, the above steps further include the following steps: sending a configuration file update request to a third electronic device, so that the third electronic device compares the second file version number of the second configuration file with the first file version number of the first configuration file, and causes the third electronic device to send the first configuration file to the first electronic device based on the comparison result, wherein the configuration file update request is used to obtain the first configuration file, and the configuration file update request includes the version number of the second configuration file. It can be understood that the second configuration file is a configuration file that is newer than the first configuration file version, and the first configuration file shown above is the configuration file currently in the first electronic device.

[0150] Specifically, each configuration file includes a file version number, which is used to characterize the version of each configuration file. The first electronic device 202 can send a configuration file request to the third electronic device 206. Based on the configuration file request, the third electronic device 206 compares the version number of the local configuration file of the first electronic device with the version number of the corresponding configuration file contained in the third electronic device 206. If the two version numbers are inconsistent, it means that the version of the first configuration file in the local first electronic device is not the latest version. The third electronic device 206 can send the latest version of the configuration file to the first electronic device based on the comparison result, wherein the configuration file request is used to obtain the latest version of the configuration file, wherein the configuration file request includes the version number of the current configuration file in the local first electronic device. In one embodiment, after receiving the configuration file request, the third electronic device can query the version number of the configuration file corresponding to the local configuration file of the first electronic device in the following manner. Exemplarily, each configuration file can be set with a name and a version number, and the third electronic device can query and obtain the version number of the configuration file corresponding to the local configuration file of the first electronic device based on the name of the configuration file.

[0151] As shown above, the configuration file also includes the constraint relationship between the second firmware and / or between the second firmware and the first firmware, such as the 1.1 version of the VR helmet must be matched with the 1.2 version of the handle. If the second version number of the second firmware is inconsistent with the third version number of the second firmware, and the second version number of the first firmware is inconsistent with the third version number of the first firmware, the first electronic device 202 can obtain the constraint relationship between the second firmware and / or between the second firmware and the first firmware, and the constraint relationship is used to indicate whether the second firmware and / or the second firmware are compatible with the first firmware. When the first electronic device 202 upgrades the first firmware and the second firmware, it determines whether the second firmware corresponding to the third version number of the second firmware and the first firmware corresponding to the third version number of the first firmware are compatible, and determines whether the second firmware corresponding to the third version number of the second firmware is compatible. If not compatible, the upgrade of the first firmware and the second firmware is terminated.

[0152] Thus, the firmware of the sub-device of the first electronic device is updated by setting a configuration file, and the update period is determined by the release time of the configuration file, which avoids prompting the user to update as long as a new version of the firmware of any of the main device or the sub-device is available. At the same time, the problem of inflexible sub-device update is also solved.

[0153] See also Figure 8, specifically a user interface diagram of a firmware upgrade method provided by an embodiment of the present application. Exemplarily, the main device is a mobile phone, the sub-device is a VR device, the current firmware version of the VR device is version 1.1, the firmware version in the mobile phone configuration file is USB Camera, and the current firmware version of the VR device is inconsistent with the firmware version in the configuration file, and needs to be upgraded. The user can confirm the upgrade to the firmware version of USB Camera in the user interface, and the firmware version management module in the mobile phone requests the new USB Camera version from the server and triggers the upgrade.

[0154] Through the description of the above implementation methods, technicians in the relevant field can clearly understand that for the convenience and simplicity of description, only the division of the above functional modules is used as an example. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above. The specific working process of the system, device and unit described above can refer to the corresponding process in the aforementioned method embodiment, and will not be repeated here.

[0155] Each functional unit in each embodiment of the present application can be integrated into a processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The above integrated unit can be implemented in the form of hardware or in the form of software functional units.

[0156] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the embodiment of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) or a processor to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as flash memory, mobile hard disk, read-only memory, random access memory, disk or optical disk.

[0157] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any changes or substitutions within the technical scope disclosed in the present application should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

Claims

1. A firmware upgrade method, applied to a first electronic device, characterized in that: The first electronic device includes a first firmware, the first electronic device communicates with at least one second electronic device, and the second electronic device includes a second firmware, including: Acquire a first configuration file sent by a third electronic device, where the first configuration file includes a first name and a first version number of the first firmware, and a first name and a first version number of the second firmware; If it is detected that the second electronic device is connected to the first electronic device, obtaining a second name and a second version number of a second firmware corresponding to the second electronic device; Querying a third name consistent with the second name of the second firmware from the first name of the second firmware, and acquiring a third version number of the second firmware corresponding to the third name of the second firmware from the first version number of the second firmware based on the third name of the second firmware; Determining whether the second version number of the second firmware is consistent with the third version number of the second firmware; If the second version number of the second firmware is inconsistent with the third version number of the second firmware, the second firmware corresponding to the third version number is obtained from the third electronic device to complete the firmware upgrade of the second electronic device.

2. The upgrading method according to claim 1, characterized in that: After obtaining the first configuration file sent by the third electronic device, the method further includes: Obtaining a second name and a second version number of the first firmware of the first electronic device; From the first name of the first firmware, query a third name that is consistent with the second name of the first firmware, and based on the third name of the first firmware, obtain, from the first version number of the first firmware, a third version number of the first firmware that corresponds to the third name of the first firmware; Determining whether the second version number of the first firmware is consistent with the third version number of the first firmware; If the second version number of the first firmware is inconsistent with the third version number of the first firmware, the first firmware corresponding to the third version number is obtained from the third electronic device to complete the firmware upgrade of the first electronic device.

3. The upgrading method according to claim 2, characterized in that: If the second version number of the second firmware is inconsistent with the third version number of the second firmware, and the second version number of the first firmware is inconsistent with the third version number of the first firmware, the method further includes: Acquire a constraint relationship between the second firmware and / or between the second firmware and the first firmware, where the constraint relationship is used to indicate whether the second firmware and / or between the second firmware and the first firmware are compatible; Determine whether the second firmware corresponding to the third version number of the second firmware is compatible with the first firmware corresponding to the third version number of the first firmware, and determine whether the second firmware corresponding to the third version number of the second firmware is compatible with each other. If not, terminate the upgrade of the first firmware and the second firmware.

4. The upgrading method according to claim 1, characterized in that: The first electronic device includes a second configuration file, the first configuration file includes a first file version number, the second configuration file includes a second file version number, and the method further includes: Sending a configuration file update request to the third electronic device, so that the third electronic device compares the second file version number of the second configuration file with the first file version number of the first configuration file, and causes the third electronic device to send the first configuration file to the first electronic device based on the comparison result, wherein the configuration file update request is used to obtain the first configuration file, and the configuration file update request includes the second file version number of the second configuration file; Acquire a first configuration file sent by the third electronic device, and update the second configuration file to the first configuration file.

5. A first electronic device, characterized in that: The first electronic device includes a first firmware, the first electronic device communicates with at least one second electronic device, the second electronic device includes a second firmware, a processor and a storage device, the storage device stores an application, and when the application is executed by the processor, the electronic device performs the following steps: Acquire a first configuration file sent by a third electronic device, where the first configuration file includes a first name and a first version number of the first firmware, and a first name and a first version number of the second firmware; If it is detected that the second electronic device is connected to the first electronic device, obtaining a second name and a second version number of a second firmware corresponding to the second electronic device; Querying a third name consistent with the second name of the second firmware from the first name of the second firmware, and acquiring a third version number of the second firmware corresponding to the third name of the second firmware from the first version number of the second firmware based on the third name of the second firmware; Determining whether the second version number of the second firmware is consistent with the third version number of the second firmware; If the second version number of the second firmware is inconsistent with the third version number of the second firmware, the second firmware corresponding to the third version number is obtained from the third electronic device to complete the firmware upgrade of the second electronic device.

6. The first electronic device according to claim 5, characterized in that: When the application is executed by the processor, after the electronic device executes the step of acquiring the first configuration file sent by the third electronic device, the application further includes the following steps: Obtaining a second name and a second version number of the first firmware of the first electronic device; From the first name of the first firmware, query a third name that is consistent with the second name of the first firmware, and based on the third name of the first firmware, obtain, from the first version number of the first firmware, a third version number of the first firmware that corresponds to the third name of the first firmware; Determining whether the second version number of the first firmware is consistent with the third version number of the first firmware; If the second version number of the first firmware is inconsistent with the third version number of the first firmware, the first firmware corresponding to the third version number is obtained from the third electronic device to complete the firmware upgrade of the first electronic device.

7. The first electronic device according to claim 6, characterized in that: When the application is executed by the processor, after the electronic device executes the step of: if the second version number of the second firmware is inconsistent with the third version number of the second firmware, and the second version number of the first firmware is inconsistent with the third version number of the first firmware, the electronic device further includes the following steps: Acquire a constraint relationship between the second firmware and / or between the second firmware and the first firmware, where the constraint relationship is used to indicate whether the second firmware and / or between the second firmware and the first firmware are compatible; Determine whether the second firmware corresponding to the third version number of the second firmware is compatible with the first firmware corresponding to the third version number of the first firmware, and determine whether the second firmware corresponding to the third version number of the second firmware is compatible with each other. If not, terminate the upgrade of the first firmware and the second firmware.

8. The first electronic device according to claim 5, characterized in that: The first electronic device includes a second configuration file, the first configuration file includes a first file version number, the second configuration file includes a second file version number, and when the application is executed by the processor, the electronic device further performs the following steps: Sending a configuration file update request to the third electronic device, so that the third electronic device compares the second file version number of the second configuration file with the first file version number of the first configuration file, and causes the third electronic device to send the first configuration file to the first electronic device based on the comparison result, wherein the configuration file update request is used to obtain the first configuration file, and the configuration file update request includes the version number of the second configuration file; Acquire a first configuration file sent by the third electronic device, and update the second configuration file to the first configuration file.

9. A computer-readable storage medium, characterized in that: It comprises computer instructions, and when the computer instructions are executed on a first electronic device, the first electronic device executes the firmware upgrade method as claimed in any one of claims 1 to 4.

10. A computer program product, characterized in that When the computer program product is run on a computer, the computer is enabled to execute the firmware upgrade method according to any one of claims 1 to 4.

Citation Information

Patent Citations

  • Upgrading method, upgrading device, upgrading equipment and upgrading system

    CN107438830A

  • Method & apparatus for distributing files in a communications network

    US20090130971A1