Firmware updating method and device and electronic equipment
By establishing a connection with the second device in the first system and automatically updating the target firmware, the problem of misoperation during firmware optimization is solved, and the accuracy of the update and the user experience are improved.
Patent Information
- Application Number
- CN202510898502.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-30
- Publication Date
- 2025-10-03
AI Technical Summary
During the firmware optimization process, due to operational complexity and differences in user technical knowledge, misoperation is likely to occur, affecting user experience and the usability of hardware devices.
By establishing a connection with the second device in the first system, determining that the target firmware meets the target condition, and automatically updating the target firmware in the first device, the possibility of erroneous operation is reduced.
Improves the accuracy and user experience of firmware updates and enhances the usability of hardware devices.
Smart Images

Figure CN120744907A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of computer technology, and in particular to a firmware updating method, device, and electronic device. Background Art
[0002] With the development of embedded systems and system maintenance technologies, users are optimizing hardware device firmware to address existing issues, enhance performance, or expand functionality. However, due to the complexity of actual operations and differences in user understanding of technical details, operational errors can easily occur during firmware optimization, impacting user experience and hardware device usability. Summary of the Invention
[0003] One aspect of the present disclosure provides a firmware update method, including: when a first device is running a first system or a second system, obtaining a target instruction, the target instruction being used to update target firmware in the first device, and the first system being used to boot the second system; in response to the target instruction, establishing a connection with the second device in the first system; determining, based on the connection, that the target firmware in the first device meets a target condition, and updating the target firmware in the first device.
[0004] Optionally, the firmware update method further includes: when the first device is running the second system, in response to a target instruction, switching from the second system to the first system to establish a connection with the second device in the first system.
[0005] Optionally, in response to the target instruction, switching from the second system to the first system includes: in response to the target instruction, the second system generates a device restart instruction, so that the first device performs a restart operation based on the device restart instruction and switches to the first system.
[0006] Optionally, establishing a connection with a second device in a first system includes: during operation of the first system, obtaining address information of the second device, and sending a first request to the second device based on the address information; the first request is used to establish a connection and request the second device to detect the target firmware, the first request carries firmware information, and the second device detects the target firmware based on the firmware information and the target information; determining that the target firmware in the first device meets the target condition based on the connection includes: obtaining response information sent by the second device; and determining that the target firmware meets the target condition in response to the response information indicating that other firmware in the first device does not affect the update of the target firmware.
[0007] Optionally, the firmware update method also includes: when the first request carries the target firmware information, obtaining a second request from the second device and sending a third request to the second device; when the second device detects that there is at least one first firmware that affects the update of the target firmware, the third request carries the first firmware information in the first device.
[0008] Optionally, establishing a connection with a second device in the first system includes: during the operation of the first system, obtaining address information of the second device, and sending a fourth request to the second device based on the address information; the fourth request is used to establish a connection and request the second device to send target information; based on the connection, determining that the target firmware in the first device meets the target condition, including: detecting the target firmware based on the firmware information and target information in the first device; if the detection result indicates that other firmware in the first device does not affect the update of the target firmware, determining that the target firmware meets the target condition.
[0009] Optionally, establishing a connection with a second device in a first system includes: during the operation of the first system, obtaining address information of the second device, and sending a fifth request to the second device based on the address information; the fifth request is used to establish a connection and request the second device to detect the target firmware, the fifth request carries target firmware information, and the second device detects the target firmware based on the target firmware information and the target information; determining that the target firmware in the first device meets the target condition based on the connection includes: obtaining the target information sent by the second device; the second device sends the target information when detecting the existence of at least one first firmware that affects the update of the target firmware; detecting the first firmware information in the first device based on the target information, and if the detection result indicates that other firmware in the first device does not affect the update of the target firmware, determining that the target firmware meets the target condition.
[0010] Optionally, the firmware update method further includes: determining based on the connection that the target firmware in the first device does not meet the target condition, and outputting prompt information, wherein the prompt information is used to guide the update of other firmware in the first device that affects the update of the target firmware first.
[0011] Another aspect of the present disclosure provides a firmware updating apparatus, including: an obtaining module, configured to obtain a target instruction when a first device is running a first system or a second system, the target instruction being used to update a target firmware in the first device, the first system being used to boot the second system; a connecting module, configured to establish a connection with the second device in the first system in response to the target instruction; and an updating module, configured to determine, based on the connection, that the target firmware in the first device meets a target condition, and to update the target firmware in the first device.
[0012] Another aspect of the present disclosure provides an electronic device, comprising: a first system, a second system, at least one processor, and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to implement: when running the first system or the second system, obtaining a target instruction, the target instruction being used to update a target firmware in the first device; establishing a connection with the second device in the first system in response to the target instruction; and determining, based on the connection, that the target firmware in the first device meets a target condition, updating the target firmware in the first device. BRIEF DESCRIPTION OF THE DRAWINGS
[0013] For a more complete understanding of the present disclosure and its advantages, reference will now be made to the following description taken in conjunction with the accompanying drawings, in which:
[0014] Figure 1 The application scenario of the firmware update method and device according to the embodiment of the present disclosure is schematically shown;
[0015] Figure 2 The following schematically shows a flowchart of a firmware update method according to an embodiment of the present disclosure;
[0016] Figure 3 The following schematically shows a prompt information display diagram according to an embodiment of the present disclosure;
[0017] Figure 4 Schematically shows a schematic diagram of prompt information display according to another embodiment of the present disclosure;
[0018] Figure 5 A block diagram schematically shows a firmware update apparatus according to an embodiment of the present disclosure; and
[0019] Figure 6 A block diagram of an electronic device according to another embodiment of the present disclosure is schematically shown. DETAILED DESCRIPTION
[0020] Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. However, it should be understood that these descriptions are merely illustrative and are not intended to limit the scope of the present disclosure. In addition, in the following description, descriptions of well-known structures and technologies are omitted to avoid unnecessary confusion of the concepts of the present disclosure.
[0021] The terms used herein are only for describing specific embodiments and are not intended to limit the present disclosure. The terms "comprise," "include," etc. used herein indicate the presence of the features, steps, operations, and / or components, but do not exclude the presence or addition of one or more other features, steps, operations, or components.
[0022] All terms used herein (including technical and scientific terms) have the meanings commonly understood by those skilled in the art unless otherwise defined. It should be noted that the terms used herein should be interpreted as having a meaning consistent with the context of this specification and should not be interpreted in an idealized or overly rigid manner.
[0023] In the description of this specification, the reference terms "one embodiment," "some embodiments," "example," "specific example," or "some examples" mean that the specific features, structures, materials, or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present application. Moreover, the specific features, structures, materials, or characteristics described may be combined in any appropriate manner in any one or more embodiments or examples. In addition, those skilled in the art may combine and combine different embodiments or examples described in this specification, as well as features of different embodiments or examples, unless they are mutually inconsistent.
[0024] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features being referred to. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one such feature. Throughout the description of this application, "plurality" means two or more, unless otherwise specifically defined.
[0025] Figure 1 The application scenario 100 of the firmware update method and apparatus according to an embodiment of the present disclosure is schematically shown. It should be noted that, Figure 1 The examples shown are merely examples of scenarios in which the embodiments of the present disclosure can be applied, to help those skilled in the art understand the technical content of the present disclosure, but do not mean that the embodiments of the present disclosure cannot be used in other devices, systems, environments or scenarios.
[0026] like Figure 1 As shown, in application scenario 100, the firmware update command 103 can be a command line instruction, a graphical interface operation instruction, a script file instruction, or a scheduled task instruction. Among them, the command line instruction can be to enter a specific command in the system command line interface to execute the firmware update, the graphical interface operation instruction can be that in some firmware update tools that provide a graphical interface, the user can trigger the firmware update by clicking a button in the interface, etc., the script file instruction can be to compile a series of firmware update-related commands into a script file, and then complete the firmware update by executing the script file, and the scheduled task instruction can use the system's scheduled task function to set the firmware update command to be automatically executed at a specific time.
[0027] The firmware update command can be executed on terminal device 101, which includes, but is not limited to, a smartphone, tablet computer, laptop computer, desktop computer, and all-in-one computer. The processor of terminal device 101 may include, but is not limited to, an ARM processor, an X86 processor, and a RISC-V processor. The processor of terminal device 101 executes firmware update command 103. The processor of terminal device 101 has a system installed on it, which includes a firmware system and may also include a desktop operating system, a server operating system, a mobile operating system, or an embedded operating system.
[0028] Server 102 can be connected to terminal device 101 via a communication link. Server 102 can be a system manufacturer's server or a local server. Server 102 stores a firmware update file. When executing a firmware update command, the terminal device communicates with server 102, obtains the corresponding firmware update file from server 102, and applies the firmware update file to update the firmware.
[0029] As the functionality of terminal device 101 becomes increasingly powerful, the security requirements for terminal device 101 are also becoming increasingly stringent. This requires the integration of more and more components into the terminal device. Furthermore, these components must be customizable to the requirements of terminal device 101 or have their functionality expanded during the lifecycle of terminal device 101. Consequently, the hardware devices on the terminal device are equipped with firmware, enabling customization or functionality expansion requirements of terminal device 101 to be met through firmware updates without replacing the hardware. For example, if terminal device 101 is equipped with components such as an embedded controller (EC), baseboard management controller (BMC), Thunderbolt interface, field-programmable gate array (FPGA), or complex programmable logic device (CPLD), the corresponding firmware can be programmed according to the requirements of terminal device 101, and support for new functions or requirements can be provided through firmware updates. Because the implementation of some functions requires the coordination of the firmware of multiple components, the system installed on terminal device 101 can easily become unusable due to firmware version dependencies or compatibility issues.
[0030] If the issue is caused by firmware version dependencies, the system manufacturer requires that the component firmware be updated according to the dependencies. If the issue is caused by firmware version compatibility issues, the system manufacturer requires that the component firmware be updated to the latest or compatible version. When updating component firmware, users should pay attention to firmware update commands or other update requirements, as they may cause incorrect operations, which may reduce the user experience and hardware device availability.
[0031] Based on the above problems, the present disclosure provides a firmware update method, including: when a first device is running a first system or a second system, obtaining a target instruction, the target instruction is used to update the target firmware in the first device, and the first system is used to boot the second system; in response to the target instruction, establishing a connection with the second device in the first system; based on the connection, determining that the target firmware in the first device meets the target condition, and updating the target firmware in the first device.
[0032] According to the embodiments of the present disclosure, based on establishing a connection with the second device in the first system of the first device, since the first system can boot the second system, the target firmware can be updated in the first device regardless of whether the first device runs in the first system or the second system, thereby realizing automatic update of the target firmware, reducing the possibility of misoperation, and improving user experience and availability of hardware devices.
[0033] Figure 2 The flowchart of the firmware update method according to the embodiment of the present disclosure is schematically shown.
[0034] like Figure 2 As shown, the firmware updating method includes operations S210 to S230.
[0035] In operation S210 , the first device obtains a target instruction when running the first system or the second system. The target instruction is used to update target firmware in the first device. The first system is used to boot the second system.
[0036] In the embodiments of the present disclosure, the first device may be various terminal devices, such as a smartphone, a tablet computer, a laptop computer, a desktop computer, an all-in-one computer, or a smart device, etc. The first system is a firmware system, and the second system may be an operating system. The operating system is determined according to the type of the first device. For example, when the first device is a smartphone or a tablet computer, the operating system may be a mobile operating system. When the first device is a smart device, such as an IoT device or a smart home, the operating system may be an embedded operating system. When the first device is a laptop computer, a desktop computer, or an all-in-one computer, the operating system may be a desktop operating system or a server operating system.
[0037] In an embodiment of the present disclosure, the target instruction may be a firmware update instruction, which may be generated by the first system or the second system on the first device automatically checking for updates, or may be output by a management tool provided by the system manufacturer, or may be obtained by a user inputting a preset instruction to trigger a firmware update instruction, or may be generated when other devices connected to the first device need to update the firmware of the first device at the same time when performing firmware updates, for example, when the first device and other devices form a computer cluster, and the computer cluster adds a new model server, a graphics processing unit (GPU) accelerator card or a storage array, or when the computer cluster deploys a new operating system, etc.
[0038] In an embodiment of the present disclosure, the target instruction may include information released by the system manufacturer or the latest firmware version, and may also include update content, applicable models, and version numbers extracted from the message released by the system manufacturer. Based on the content included in the target instruction, the target firmware in the first device is determined, i.e., the firmware to be updated.
[0039] In the embodiment of the present disclosure, since the first system is a firmware system, when performing a firmware update, the firmware update operation is performed in the firmware system. Therefore, when the first device needs to perform a firmware update, the first device completes the firmware update in the first system.
[0040] In operation S220 , a connection with the second device is established in the first system in response to the target instruction.
[0041] In an embodiment of the present disclosure, a first device executes an operation corresponding to a received target instruction, and establishes an association between a first system of the first device and a second device via a communication protocol, physical media, or logical relationship, enabling the first system and the second device to transmit data, exchange instructions, or work together. The connection between the first system and the second device can be a bidirectional communication link, allowing the first system to send instructions, configuration parameters, or data to the second device, and the second device to send data to the first system.
[0042] In an embodiment of the present disclosure, when the connection between the first system and the second device is a physical connection, for example, when the first system and the second device are connected via a universal serial bus, the universal serial bus interface of the device is connected to the universal serial bus interface of the host computer where the system is located. When the first system and the second device are connected via a network cable, if the first system and the second device are connected to a server or other device in a local area network, it is necessary to ensure that the Internet Protocol address of the second device and the first system are in the same network segment. This can be achieved by setting a static Internet Protocol or automatically obtaining an Internet Protocol address. The first system and the second device can also be connected via a wireless router, Bluetooth, etc.
[0043] According to an embodiment of the present disclosure, the first system and the second device can also be connected through the Transmission Control Protocol / Internet Protocol. For example, the Internet Protocol address and the corresponding port number of the second device are entered in the browser of the first system. The browser will establish a Transmission Control Protocol connection with the second device according to the Hypertext Transfer Protocol and send a request to the second device. After receiving the request, the second device returns the corresponding data, thereby realizing connection and data interaction.
[0044] In operation S230 , it is determined that the target firmware in the first device meets the target condition based on the connection, and the target firmware is updated in the first device.
[0045] In an embodiment of the present disclosure, through information interaction between a first system and a second device, if it is determined that the current state of the target firmware meets the rules set in the second device that need to be met for updating the firmware, the target firmware in the first device is updated. The target condition can be that the latest firmware version of the target firmware to be updated meets the compatibility requirements of the first device, the target condition can also be that the latest firmware version of the target firmware to be updated meets the compatibility requirements of the first system, or the target condition can be the compatibility between the latest firmware version of the target firmware to be updated and the current firmware version of the target firmware, that is, whether the first device can work normally after the target firmware is directly updated from the current firmware version to the latest firmware version.
[0046] In an embodiment of the present disclosure, the hardware configuration of the first device needs to meet the minimum requirements of the latest firmware version to which the target firmware is about to be updated, such as storage space, memory capacity, etc.
[0047] According to an embodiment of the present disclosure, according to a target instruction, the first system is connected to the second device in a corresponding connection, and the target firmware is updated from the first device, thereby achieving automatic update of the target firmware and improving the accuracy of the target firmware update.
[0048] According to an embodiment of the present disclosure, the firmware update method further includes: when the first device is running the second system, in response to a target instruction, switching from the second system to the first system to establish a connection with the second device in the first system.
[0049] In the embodiments of the present disclosure, the first device can run in the first system or the second system. Since the first system is a firmware system and the firmware update of the first device is performed in the first system, when the first device is running in the second system, it is necessary to first switch the second system to the first system.
[0050] In the embodiments of the present disclosure, the first system may be a basic input / output system (BIOS). Since the BIOS is the underlying system software that runs first when a computer is started, and performs a self-test on the computer's hardware devices, such as the processor, memory, hard disk, graphics card, and keyboard, during startup, the firmware update for the first device is performed in the first system.
[0051] According to an embodiment of the present disclosure, in response to a target instruction, switching from the second system to the first system includes: in response to the target instruction, the second system generates a device restart instruction, so that the first device performs a restart operation based on the device restart instruction and switches to the first system.
[0052] In an embodiment of the present disclosure, when the second system is an operating system and the first system is a basic input / output system, when switching from the second system to the first system, the first device needs to be restarted when it is in the second system, so that the first device switches to the first system.
[0053] For example, after the computer has entered the operating system, you can use the restart function of the second system and press different specific keys to enter the basic input and output system during the restart process. The specific keys vary depending on the brand and model of computer. Please follow the product instructions of the first device for specific operations.
[0054] Some operating systems also provide a way to directly access the BIOS. For example, go to Settings, select Update & Security, then find Recovery. Under Advanced startup, click Restart now. After the computer restarts, it will enter Advanced startup options. Select the appropriate option to access the BIOS. For detailed instructions, see the product manual.
[0055] According to an embodiment of the present disclosure, when the first device is in the second system, the first device generates a restart instruction under the second system according to the instructions of the target instruction. The restart instruction can be implemented by a pre-set script. For example, the trigger condition of the script is the receipt of the corresponding target instruction. Further, by identifying the keywords in the target instruction, it is determined whether the target instruction triggers the script program. For example, the keyword is an agreed string of characters. When the target instruction contains the string, the restart instruction can be started. When the first device is restarted by the script program, the script program can be associated with the restart program of the second system. For example, a flag bit is set, and the value of the flag bit is changed by the script program. The value of the flag bit corresponds to the restart interrupt instruction, thereby realizing the restart of the first device and entering the first system during the restart process.
[0056] According to an embodiment of the present disclosure, establishing a connection with a second device in a first system includes: obtaining address information of the second device during operation of the first system, and sending a first request to the second device based on the address information; the first request is used to establish a connection and request the second device to detect target firmware, the first request carries firmware information, and the second device detects the target firmware based on the firmware information and the target information; determining that the target firmware in the first device meets the target condition based on the connection includes: obtaining response information sent by the second device; and determining that the target firmware meets the target condition in response to the response information indicating that other firmware in the first device does not affect the update of the target firmware.
[0057] In an embodiment of the present disclosure, a first system obtains the address information of a second device. For example, the first system and the second device are connected via a network, and the first system obtains the Internet Protocol of the second device during operation. The first system sends a connection request based on the Internet Protocol address of the second device. After the connection is established, the first system sends a request to the second device to detect the target firmware. The firmware information carried in the first request may include the firmware version number, the hardware manufacturer and device model corresponding to the firmware, the firmware compilation generation time, or the main content of the version update.
[0058] In an embodiment of the present disclosure, after the second device receives the first request, the second device sends a response to the first request to the first device. The second device determines, based on the firmware information carried in the first request, that other firmware in the first device does not affect the update of the target firmware, and then considers that the target firmware meets the target condition. For example, the second device analyzes the firmware information contained in the first request and determines that there is no dependency between the latest firmware of the target firmware to be updated corresponding to the firmware information and other firmware in the first device, and then considers that the target firmware meets the target condition.
[0059] In an embodiment of the present disclosure, the second device may be a hypertext transfer protocol-based boot server, and the system manufacturer deploys and maintains the firmware of the basic input / output system and various components, as well as the dependencies between the firmware of each component, on the second device. For example, a firmware dependency set may be pre-deployed on the second device, and the firmware dependency set may be deployed with upgrade conditions corresponding to multiple firmwares, so that the upgrade conditions corresponding to the target firmware can be accurately obtained directly from the firmware dependency set. When the upgrade condition corresponding to the target firmware is to upgrade only the target firmware, it will not affect the operation of the target firmware, and the target firmware is considered to meet the target condition.
[0060] According to an embodiment of the present disclosure, when the first request carries target firmware information, a second request from the second device is obtained, and a third request is sent to the second device; when the second device detects the existence of at least one first firmware that affects the update of the target firmware, the second request is sent, and the third request carries the first firmware information in the first device.
[0061] In an embodiment of the present disclosure, after analyzing the firmware information sent in the first request, the second device determines that at least one dependency exists between the target firmware and another component. Based on the found dependency, the second device determines at least one first firmware, and then sends a second request to the first device, the second request including firmware information requesting the first firmware. Based on the received request information for the first firmware information, the first device sends a third request including firmware information requesting the first firmware to the second device.
[0062] In an embodiment of the present disclosure, when at least one first firmware detected by the second device includes first firmware A and first firmware B, although the second device detects that first firmware A and first firmware B have a dependency relationship with the target firmware, since the first device may include only first component A, or only first firmware B, or both first firmware A and first firmware B, or neither first firmware A nor first firmware B, the second device needs to send a second request to the first device. The second request is to request the transmission of firmware information of first firmware A and firmware information of first firmware B to determine the relationship between the first device and first firmware A and first firmware B. Based on the second request, the first device sends a third request to the second device. The third request may be to request that the first device not run first component A but only run first component B, or to request that the first device not run first component B but only run first component A, or to request that the first device not run either first component A or first component B, or to request that the first device run both first component A and first component B.
[0063] In an embodiment of the present disclosure, when the first device determines that at least one of the first firmware A and the first firmware B will affect the update of the target firmware, the third request sent to the second device includes firmware information of the first firmware that affects the update of the target firmware. When the first device determines that neither the first firmware A nor the first firmware B will affect the update of the target firmware, the third request sent to the second device includes information that neither the first firmware A nor the first firmware B will affect the update of the target firmware.
[0064] According to an embodiment of the present disclosure, the second device analyzes the first firmware with a dependency relationship, and the first device further determines whether the first firmware affects the update of the target firmware, so that the second device does not need to send all firmware information to the first device, thereby improving the efficiency of the target firmware update.
[0065] According to an embodiment of the present disclosure, establishing a connection with a second device in a first system includes: obtaining address information of the second device during operation of the first system, and sending a fourth request to the second device based on the address information; the fourth request is used to establish a connection and request the second device to send target information; determining that a target firmware in the first device meets a target condition based on the connection includes: detecting the target firmware based on the firmware information and the target information in the first device; if the detection result indicates that other firmware in the first device does not affect the update of the target firmware, determining that the target firmware meets the target condition.
[0066] In an embodiment of the present disclosure, a first system establishes a connection based on the address information of a second device, and through the connection, the first device obtains the firmware of the basic input / output system and each component deployed and maintained on the second device, as well as the dependency relationships between the firmware of each component. The first device detects the component firmware that has a dependency relationship with the target firmware from the dependency relationships between the firmware of each component. If no component firmware that has a dependency relationship with the target firmware is detected, or if the component firmware that has a dependency relationship with the target firmware is detected but does not affect the update of the target firmware, for example, if the detected component firmware that has a dependency relationship with the target firmware is not running on the first device, then the target firmware is considered to meet the target condition.
[0067] According to an embodiment of the present disclosure, establishing a connection with a second device in a first system includes: obtaining address information of the second device during operation of the first system, and sending a fifth request to the second device based on the address information; the fifth request is used to establish a connection and request the second device to detect target firmware, the fifth request carries target firmware information, and the second device detects the target firmware based on the target firmware information and the target information; determining that the target firmware in the first device meets the target condition based on the connection includes: obtaining the target information sent by the second device; the second device sends the target information when detecting the existence of at least one first firmware that affects the update of the target firmware; detecting the first firmware information in the first device based on the target information, and if the detection result indicates that other firmware in the first device does not affect the update of the target firmware, determining that the target firmware meets the target condition.
[0068] In an embodiment of the present disclosure, the first device sends a fifth request to the second device based on the second device's address information. The fifth request includes a request to establish a connection with the second device and a request for the second device to detect target firmware information. The fifth request serves the same purpose as the first request and is not further described here.
[0069] In an embodiment of the present disclosure, the second device can determine at least one first firmware that has a dependency on the target firmware or affects the update of the target firmware from the dependency of deploying and maintaining the basic input and output system and component firmware on the second device based on the target firmware sent by the first device, and form target information with the first firmware and the dependency between the first firmware and the target firmware. The target information can be the dependency between the first firmware and the target firmware or the impact information of the first firmware on the update of the target firmware. For example, when the target firmware is updated, the version of the first firmware must be equal to or higher than version A, which can be version A, or version B or version C that is higher than version A, etc.
[0070] In an embodiment of the present disclosure, the first device detects whether the first firmware is running in the first device based on the target information. When the first firmware is running in the first device, it determines whether the current version status of the first firmware meets the requirements for updating the target firmware. If the current version status of the first firmware meets the requirements for updating the target firmware, it determines that the target firmware meets the target condition.
[0071] According to an embodiment of the present disclosure, the second device detects the first firmware that affects the update of the target firmware and sends the detection result to the first device. The first device performs further detection based on the detection result of the second device, thereby improving the efficiency of the first device in determining whether the target firmware has the first firmware that affects the update.
[0072] According to an embodiment of the present disclosure, it is determined based on the connection that the target firmware in the first device does not meet the target condition, and prompt information is output, wherein the prompt information is used to guide the update of other firmware in the first device that affects the update of the target firmware.
[0073] Figure 3 The following schematically shows a prompt information display diagram according to an embodiment of the present disclosure.
[0074] like Figure 3As shown, when the target firmware and other firmware in the first device 310 do not meet the upgrade conditions, the user is required to upgrade the firmware according to the upgrade conditions. To prevent user errors, a prompt message 320 may be generated. The prompt message should accurately and in detail provide the user with instructions for the upgrade. For example, the prompt message may include the purpose of the update, the operating process, and risk warnings. Specifically, the prompt message may indicate that a new firmware version has been released and explain the reason for the upgrade, such as to fix a vulnerability, improve performance, or add new features. For example, if a new firmware version v2.3.5 is detected and this upgrade will fix security vulnerabilities and optimize device stability, it is recommended to update immediately. Alternatively, if the update is not automatically detected, the user can click the "Manual Upgrade" button to download the firmware package from the official website for the update. Alternatively, for help, the user can call the customer service hotline or visit the official website for upgrade tutorials. When the user clicks the Manual Upgrade button 330, the manual upgrade begins. When the user clicks the Cancel Upgrade button 340, the upgrade is terminated, and a prompt message 320 is generated regarding the risks of terminating the upgrade.
[0075] In the embodiment of the present disclosure, when the target firmware in the first device does not meet the target condition, that is, there is a first firmware in the firmware running on the first device that has a dependency relationship with the target device, and the current version status of the first firmware does not meet the target firmware update requirements. In this case, the first firmware is used as the target firmware and iteratively executed. Figure 2 The operations S210 to S230 shown in FIG are performed until the target firmware meets the corresponding target condition, thereby achieving automatic update of the target firmware.
[0076] Figure 4 The following schematically shows a prompt information display diagram according to an embodiment of the present disclosure.
[0077] like Figure 4 As shown, when the target firmware in the first device 410 does not meet the target condition, a prompt message 440 may be generated. The prompt message may be: You need to upgrade the first firmware first and then upgrade the target firmware. Do you agree? On this basis, the prompt message 440 may also add problems that may occur if the upgrade is not performed. If the user clicks the confirmation button 420, the first firmware will be used as the target firmware. If the user clicks the cancel button 430, the upgrade will be terminated and a prompt message 440 about the risk of terminating the upgrade will be generated. In the case where the user clicks the confirmation button 420, the first firmware will be used as the target firmware and the iterative execution will be performed. Figure 2 During the operations S210 to S230 shown in FIG, prompt information needs to be generated once for each iteration.
[0078] In the embodiments of the present disclosure, when the target firmware in the first device meets the target conditions, the target firmware can be updated in two ways. The first way is to perform a firmware flash in the first system. Specifically, when updating the target firmware, a firmware upgrade tool is used to call the BIOS through a predefined serial management interface (SMI) with the BIOS, enabling an HTTP encrypted channel to connect to the second device. The second device can be the system manufacturer's server. The system manufacturer's server is used to query whether the upgraded firmware has any dependencies on the firmware of the BIOS or other components. The second way is to use a "capsule-style" update method for hardware / device firmware: the BIOS or component is upgraded using the upgrade tool. After loading the capsule image to trigger the capsule update, during the power-on self-test phase after reboot, the BIOS connects to the manufacturer's encrypted server via an HTTP encrypted channel to query whether the upgraded firmware has any dependencies on the firmware of the BIOS or other components.
[0079] Figure 5 The following schematically shows a block diagram of a firmware updating device according to an embodiment of the present disclosure.
[0080] like Figure 5 As shown, the firmware update device 500 includes an acquisition module 510, a connection module 520 and an update module 530. The firmware update device 500 can execute the above reference Figures 2 to 4 The method described is used to update the target firmware.
[0081] Specifically, the obtaining module 510 is used for the first device to obtain a target instruction when the first system or the second system is running. The target instruction is used to update the target firmware in the first device. The first system is used to boot the second system.
[0082] The connection module 520 is configured to establish a connection with the second device in the first system in response to a target instruction.
[0083] The updating module 530 is configured to determine, based on the connection, that the target firmware in the first device meets the target condition, and update the target firmware in the first device.
[0084] It is understood that the acquisition module 510, connection module 520, and update module 530 can be implemented in a single module, or any one of these modules can be split into multiple modules. Alternatively, at least part of the functionality of one or more of these modules can be combined with at least part of the functionality of other modules and implemented in a single module. According to an embodiment of the present disclosure, at least one of the acquisition module 510, connection module 520, and update module 530 can be at least partially implemented as a hardware circuit, such as a field programmable gate array (FPGA), a programmable logic array (PLA), a system on a chip, a system on a substrate, a system on a package, an application-specific integrated circuit (ASIC), or can be implemented in hardware or firmware in any other reasonable manner for integrating or packaging circuits, or can be implemented in an appropriate combination of software, hardware, and firmware. Alternatively, at least one of the acquisition module 510, connection module 520, and update module 530 can be at least partially implemented as a computer program module that, when executed by a computer, can perform the functionality of the corresponding module.
[0085] According to an embodiment of the present disclosure, the present disclosure also provides an electronic device.
[0086] Figure 6 A block diagram of an electronic device according to another embodiment of the present disclosure is schematically shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital assistants, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or claimed herein.
[0087] like Figure 6 As shown, the electronic device 600 includes a first system, a second system, at least one processor 610, and a memory 620 communicatively connected to the at least one processor; wherein the memory 620 stores instructions that can be executed by the at least one processor 610, and the instructions are executed by the at least one processor 610 to implement: when running the first system or the second system, obtaining a target instruction, the target instruction is used to update the target firmware in the first device; in response to the target instruction, establishing a connection with the second device in the first system; determining based on the connection that the target firmware in the first device meets the target condition, and updating the target firmware in the first device.
[0088] Specifically, the processor 610 may include, for example, a general-purpose microprocessor, an instruction set processor and / or a related chipset and / or a dedicated microprocessor (e.g., an application-specific integrated circuit (ASIC)), etc. The processor 610 may also include an onboard memory for cache purposes. The processor 610 may be a processor for executing reference Figures 2 to 4 The described method flow according to the embodiments of the present disclosure may be performed by a single processing unit or multiple processing units for different actions.
[0089] Memory 620 is a computer-readable storage medium, for example, any medium capable of containing, storing, conveying, propagating, or transmitting instructions. For example, a computer-readable storage medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium. Specific examples of computer-readable storage media include: magnetic storage devices such as magnetic tape or hard disk drives (HDDs); optical storage devices such as compact discs (CD-ROMs); memory such as random access memory (RAM) or flash memory; and / or wired or wireless communication links.
[0090] The memory 620 may include a computer program 621 which may include code / computer executable instructions which, when executed by the processor 610, cause the processor 610 to perform, for example, the above-mentioned combination of Figures 2 to 4 The described method sequence and any variations thereof.
[0091] The computer program 621 may be configured to have, for example, computer program code including computer program modules. For example, in an exemplary embodiment, the code in the computer program 621 may include one or more program modules, such as 621A, module 621B, etc. It should be noted that the division method and number of modules are not fixed, and those skilled in the art may use appropriate program modules or combinations of program modules according to actual circumstances. When these program module combinations are executed by the processor 610, the processor 610 may perform, for example, the above combination. Figures 2 to 4 The described method sequence and any variations thereof.
[0092] According to an embodiment of the present disclosure, at least one of the obtaining module 510, the connecting module 520, and the updating module 530 may be implemented as a reference module. Figure 6 The computer program modules described above, when executed by the processor 610, can implement the corresponding operations described above.
[0093] Those skilled in the art will appreciate that the features described in the various embodiments and / or claims of this disclosure may be combined and / or coupled in various ways, even if such combinations and / or couplings are not explicitly described in this disclosure. In particular, the features described in the various embodiments and / or claims of this disclosure may be combined and / or coupled in various ways without departing from the spirit and teachings of this disclosure. All such combinations and / or couplings are intended to fall within the scope of this disclosure.
[0094] Although the present disclosure has been shown and described with reference to certain exemplary embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made to the present disclosure without departing from the spirit and scope of the present disclosure as defined by the appended claims and their equivalents. Therefore, the scope of the present disclosure should not be limited to the above-described embodiments, but should be determined not only by the appended claims but also by the equivalents of the appended claims.
Claims
1. A firmware update method, comprising: When the first device is running the first system or the second system, the first device obtains a target instruction, where the target instruction is used to update the target firmware in the first device, and the first system is used to boot the second system; In response to the target instruction, establishing a connection with a second device in the first system; It is determined based on the connection that the target firmware in the first device meets a target condition, and the target firmware is updated in the first device.
2. The method according to claim 1, further comprising: When the first device is running the second system, it switches from the second system to the first system in response to the target instruction, so as to establish a connection with the second device in the first system.
3. The method according to claim 2, wherein the switching from the second system to the first system in response to the target instruction comprises: In response to the target instruction, the second system generates a device restart instruction, so that the first device performs a restart operation based on the device restart instruction and switches to the first system.
4. The method according to claim 1, wherein establishing a connection with the second device in the first system comprises: During operation of the first system, obtaining address information of the second device, and sending a first request to the second device based on the address information; The first request is used to establish a connection and request the second device to detect the target firmware, the first request carries firmware information, and the second device detects the target firmware based on the firmware information and target information; The determining, based on the connection, that the target firmware in the first device meets a target condition includes: Obtaining response information sent by the second device; In response to the response information indicating that other firmware in the first device does not affect the update of the target firmware, it is determined that the target firmware meets the target condition.
5. The method according to claim 4, further comprising: In a case where the first request carries target firmware information, obtaining a second request from the second device, and sending a third request to the second device; The second device sends the second request when detecting the existence of at least one first firmware update that affects the target firmware, and the third request carries the first firmware information stored in the first device.
6. The method according to claim 1, wherein establishing a connection with a second device in the first system comprises: During operation of the first system, obtaining address information of the second device, and sending a fourth request to the second device based on the address information; The fourth request is used to establish a connection and request the second device to send target information; The determining, based on the connection, that the target firmware in the first device meets a target condition includes: detecting the target firmware based on the firmware information in the first device and the target information; If the detection result indicates that other firmware in the first device does not affect the update of the target firmware, it is determined that the target firmware meets the target condition.
7. The method according to claim 1, wherein establishing a connection with a second device in the first system comprises: During operation of the first system, obtaining address information of the second device, and sending a fifth request to the second device based on the address information; The fifth request is used to establish a connection and request the second device to detect the target firmware, the fifth request carries target firmware information, and the second device detects the target firmware based on the target firmware information and target information; The determining, based on the connection, that the target firmware in the first device meets a target condition includes: Obtaining target information sent by the second device; the second device sends the target information when detecting the presence of at least one first firmware update that affects the target firmware; The first firmware information in the first device is detected based on the target information. If a detection result indicates that other firmware in the first device does not affect the update of the target firmware, it is determined that the target firmware meets the target condition.
8. The method according to any one of claims 1 to 7, further comprising: Based on the connection, it is determined that the target firmware in the first device does not meet the target condition, and prompt information is output, wherein the prompt information is used to guide the update of other firmware in the first device that affects the update of the target firmware first.
9. A firmware update device, comprising: an obtaining module, configured to obtain a target instruction when the first device is running the first system or the second system, wherein the target instruction is used to update the target firmware in the first device, and the first system is used to boot the second system; a connection module, configured to establish a connection with a second device in the first system in response to the target instruction; An updating module is configured to determine, based on the connection, that the target firmware in the first device meets a target condition, and update the target firmware in the first device.
10. An electronic device comprising: A first system, a second system, at least one processor, and a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to implement: When running the first system or the second system, obtaining a target instruction, where the target instruction is used to update target firmware in the first device; In response to the target instruction, establishing a connection with a second device in the first system; It is determined based on the connection that the target firmware in the first device meets a target condition, and the target firmware is updated in the first device.