Updating method and device of to-be-updated equipment firmware, electronic equipment and storage medium

By obtaining and applying firmware update instructions and data packets for electronic devices, the first driver that is independent of BIOS storage can write to the update device, which solves the problems of insufficient BIOS storage space and low development and maintenance efficiency, and achieves more efficient firmware updates and maintenance.

CN119987806APending Publication Date: 2025-05-13HEFEI LCFC INFORMATION TECH
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411942676.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-25
Publication Date
2025-05-13

AI Technical Summary

Technical Problem

The prior art stores update drivers for all devices in the laptop BIOS. As the device models increase, the BIOS storage space is insufficient. When there is a problem with the update driver, the entire BIOS needs to be recompiled and verified, reducing development and maintenance efficiency.

Method used

By obtaining firmware update instructions for the electronic device, the device to be updated is determined, an update data packet including the firmware information to be updated and the first driver is obtained, and the device to be updated is updated based on this information. The first driver is used to flash the update firmware information, which is independent of BIOS storage, avoiding the problem of insufficient BIOS space. When there is a problem with the update driver, it only needs to re-verify the associated update data packet, which improves development and maintenance efficiency.

Benefits of technology

This method effectively saves the space of the electronic device BIOS, improves the development and maintenance efficiency of electronic devices, and avoids the inefficiency of global BIOS recompilation and verification caused by update driver problems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119987806A_ABST
    Figure CN119987806A_ABST
Patent Text Reader

Abstract

The invention provides a to-be-updated device firmware updating method and device, an electronic device and a storage medium, the method is applied to the electronic device, and the electronic device comprises a plurality of sub-devices; the method comprises the following steps: acquiring a firmware updating instruction for the electronic equipment; based on the updating instruction, determining to-be-updated equipment in a plurality of sub-equipment of the electronic equipment; acquiring an update data packet for the to-be-updated equipment; the updating data packet comprises to-be-updated firmware information of to-be-updated equipment and a first driving program; the first driving program is used for flashing firmware information to be updated; and updating the to-be-updated equipment based on the to-be-updated firmware information and a first driving program. The space of the BIOS of the electronic equipment can be saved, and the development and maintenance efficiency of the electronic equipment is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of electronic devices, and in particular to a method, device, electronic device and storage medium for updating firmware of a device to be updated. Background Art

[0002] In the underlying firmware upgrade management solutions for electronic devices such as laptops, more and more devices are required to support the WUFU (Windows UEFI Firmware Update) function. WUFU requires that the corresponding device firmware support online push upgrades in the Windows system. During the development of the underlying firmware of the laptop computer BIOS (Basic InputOutput System), it is necessary to develop the upgrade function of the corresponding device to implement WUFU. In the related art, the update drivers of all devices are usually stored in the BIOS of the laptop computer, but with the increase in the number of update devices and the increase in the models of each device, more update drivers need to be stored in the BIOS, which poses a challenge to the storage space of the BIOS. In addition, once there is a problem with the update driver during the development process, the entire BIOS needs to be recompiled and verified, which reduces the development and maintenance efficiency. Summary of the invention

[0003] The present application provides a method, apparatus, electronic device and storage medium for updating the firmware of a device to be updated, so as to at least solve the above technical problems existing in the prior art.

[0004] According to a first aspect of the present application, a method for updating firmware of a device to be updated is provided, the method being applied to an electronic device, the electronic device including a plurality of sub-devices; the method comprising:

[0005] Obtaining firmware update instructions for electronic devices;

[0006] Based on the update instruction, determining a device to be updated among a plurality of sub-devices of the electronic device;

[0007] Acquire an update data packet for the device to be updated; the update data packet includes firmware information to be updated of the device to be updated and a first driver; the first driver is used to flash the firmware information to be updated;

[0008] The device to be updated is updated based on the firmware information to be updated and the first driver.

[0009] In one possible implementation, the electronic device includes a basic input and output system BIOS, and the BIOS stores a second driver program; and determining a device to be updated among a plurality of sub-devices of the electronic device based on the update instruction includes:

[0010] Based on the second driver, generating a sub-device information table of the electronic device;

[0011] Based on the update instruction and the sub-device information table of the electronic device, a device to be updated among the multiple sub-devices of the electronic device is determined.

[0012] In one possible implementation, the BIOS further stores a third driver, and the third driver is used to load the first driver; and updating the device to be updated based on the firmware information to be updated and the first driver includes:

[0013] The device to be updated is updated based on the firmware information to be updated, the first driver and the third driver.

[0014] In one possible implementation, the update data packet further includes a fourth driver program, and the fourth driver program is used to load the first driver program; and updating the device to be updated based on the firmware information to be updated and the first driver program includes:

[0015] The device to be updated is updated based on the firmware information to be updated, the first driver and the fourth driver.

[0016] In one possible implementation, the update data packet further includes header data; before updating the device to be updated based on the firmware information to be updated and the first driver, the method further includes:

[0017] Filtering the header data in the update data packet to obtain a filtered update data packet;

[0018] The firmware information to be updated and the first driver program in the filtered update data packet are obtained.

[0019] In one possible implementation manner, the number of the to-be-updated devices is one or more; and the number of update data packets for each of the to-be-updated devices is one or more.

[0020] According to a second aspect of the present application, a device for updating firmware of a device to be updated is provided, the device being applied to an electronic device, the electronic device including a plurality of sub-devices; the device comprising:

[0021] A first acquisition unit, configured to acquire a firmware update instruction for an electronic device;

[0022] A first determining unit, configured to determine a device to be updated among a plurality of sub-devices of the electronic device based on the update instruction;

[0023] A second acquisition unit is used to acquire an update data packet for the device to be updated; the update data packet includes the firmware information to be updated of the device to be updated and a first driver; the first driver is used to flash the firmware information to be updated;

[0024] The updating unit is used to update the device to be updated based on the firmware information to be updated and the first driver.

[0025] In one possible implementation, the electronic device includes a basic input and output system BIOS, which stores a second driver program; the first determination unit is used to generate a sub-device information table of the electronic device based on the second driver program; and determine the device to be updated among multiple sub-devices of the electronic device based on the update instruction and the sub-device information table of the electronic device.

[0026] According to a third aspect of the present application, an electronic device is provided, including:

[0027] at least one processor; and

[0028] a memory communicatively connected to the at least one processor; wherein,

[0029] 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 enable the at least one processor to perform the method described in the present application.

[0030] According to a fourth aspect of the present application, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to enable a computer to execute the method described in the present application.

[0031] In the present application, a firmware update instruction for an electronic device is obtained; based on the update instruction, a device to be updated among multiple sub-devices of the electronic device is determined; an update data packet for the device to be updated is obtained; the update data packet includes the firmware information to be updated of the device to be updated and a first driver; the first driver is used to flash the firmware information to be updated; based on the firmware information to be updated and the first driver, the device to be updated is updated. It can save space in the BIOS of the electronic device and improve the efficiency of the development and maintenance of the electronic device.

[0032] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present application, nor is it intended to limit the scope of the present application. Other features of the present application will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0033] By reading the detailed description below with reference to the accompanying drawings, the above and other purposes, features and advantages of the exemplary embodiments of the present application will become readily understood. In the accompanying drawings, several embodiments of the present application are shown in an exemplary and non-limiting manner, wherein:

[0034] In the drawings, the same or corresponding reference numerals represent the same or corresponding parts.

[0035] Figure 1 A schematic diagram of the implementation process of the method for updating the firmware of the device to be updated according to an embodiment of the present application is shown;

[0036] Figure 2 A schematic diagram showing the placement of various drivers in an embodiment of the present application is shown;

[0037] Figure 3 A schematic diagram showing the composition structure of an updating device for updating device firmware to be updated according to an embodiment of the present application is shown;

[0038] Figure 4 A schematic diagram of the structure of an electronic device according to an embodiment of the present application is shown. DETAILED DESCRIPTION

[0039] In order to make the purpose, features, and advantages of the present application more obvious and easy to understand, the technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present application.

[0040] The embodiment of the present application provides a method for updating the firmware of a device to be updated, the method is applied to an electronic device, the electronic device includes a plurality of sub-devices; Figure 1 As shown, the method includes:

[0041] S101: Obtain a firmware update instruction for an electronic device.

[0042] In this step, the electronic device includes a laptop computer, a desktop computer, etc. The electronic device includes multiple sub-devices. Taking the electronic device as a laptop computer as an example, the sub-devices of the electronic device include a battery, a touchpad, a camera, etc. The firmware update instruction is a firmware update instruction triggered by a user for the electronic device.

[0043] S102: Based on the update instruction, determine a device to be updated among a plurality of sub-devices of the electronic device.

[0044] In this step, the firmware update instruction can indicate which sub-devices the user intends to update. Based on the firmware update instruction triggered by the user, the device to be updated among multiple sub-devices of the electronic device can be determined. The number of devices to be updated can be one or more.

[0045] S103: Acquire an update data packet for the device to be updated; the update data packet includes the firmware information to be updated of the device to be updated and a first driver; the first driver is used to flash the firmware information to be updated.

[0046] After the device to be updated is determined in the aforementioned step S102, an update data packet Capsule for the device to be updated is obtained. It can be understood that the update data packet of the device to be updated is the downloaded update package of the device to be updated, which includes the firmware information to be updated Firmware Binary and the first driver FMP Driver (Firmware Management Protocol Driver). The first driver is used to flash the firmware information to be updated, thereby realizing the update of the device to be updated. Figure 2 As shown, Figure 2 The update data packets of three devices to be updated (battery, camera, touchpad) are shown, among which the update data packet of the battery (Battery) is a Battery Capsule, which includes the firmware information to be updated of the battery (Battery Firmware Binary) and the first driver (Battery FMPDriver). The update data packet of the camera (Camera) is a Camera Capsule, which includes the firmware information to be updated of the camera (Camera Firmware Binary) and the first driver (Camera FMP Driver). The update data packet of the touchpad (TouchPad) is a TouchPad Capsule, which includes the firmware information to be updated of the touchpad (TouchPad Firmware Binary) and the first driver (TouchPad FMP Driver).

[0047] S104: Update the device to be updated based on the firmware information to be updated and the first driver.

[0048] In this step, after obtaining the update data packet for the device to be updated, the first driver in the update data packet is used to flash the firmware information to be updated, so as to realize the update of the device to be updated. By storing the first driver for flashing the firmware information to be updated in an update data packet independent of the BIOS of the electronic device, the embodiment of the present application can not only effectively save the space of the BIOS, but also realize the dynamic update of the sub-devices of the electronic device by only loading the first driver of the device to be updated, compared with the solution of the related art that the first drivers of all devices are stored in the BIOS in advance. At the same time, if there is a problem with the update driver during the development process, it is only necessary to re-verify the separate update data packet to which the problem driver belongs, without the need to recompile and verify the entire BIOS, thereby improving the development and maintenance efficiency.

[0049] In the scheme shown in steps S101 to S104, a firmware update instruction for an electronic device is obtained; based on the update instruction, a device to be updated among multiple sub-devices of the electronic device is determined; an update data packet for the device to be updated is obtained; the update data packet includes the firmware information to be updated of the device to be updated and a first driver; the first driver is used to flash the firmware information to be updated; based on the firmware information to be updated and the first driver, the device to be updated is updated. It can save space in the BIOS of an electronic device and reduce product costs. At the same time, it can provide other key functions in the future (such as Figure 2 The FV2 and FV1 areas in the RAID controller card are reserved to improve product scalability. When a problem occurs in the driver update, only the corresponding update data package needs to be updated and modified, which improves the efficiency of electronic equipment development and maintenance.

[0050] In an optional solution, the electronic device includes a basic input and output system BIOS, and the BIOS stores a second driver program; and determining a device to be updated among a plurality of sub-devices of the electronic device based on the update instruction includes:

[0051] Based on the second driver, generating a sub-device information table of the electronic device;

[0052] Based on the update instruction and the sub-device information table of the electronic device, a device to be updated among the multiple sub-devices of the electronic device is determined.

[0053] In this application, reference Figure 2As shown, the BIOS of the electronic device, specifically the ROM (Read-Only Memory) of the BIOS, stores a second driver ESRT Driver. The second driver is used to generate a sub-device information table ESRT table of the electronic device. The sub-device information table ESRT table includes relevant information of all sub-devices of the electronic device, including the model, version number, etc. of the sub-device. The sub-device information table ESRT table is used to identify each sub-device and its corresponding firmware resources, so as to achieve the purpose of pushing the corresponding firmware resources to be updated for the corresponding sub-device (device to be updated). Specifically, the sub-device information table ESRT table of the electronic device is generated based on the second driver ESRT Driver. According to the acquired firmware update instruction, the corresponding sub-device is found and located in the sub-device information table ESRT table of the electronic device, and it is subsequently updated as a device to be updated.

[0054] In an optional solution, the BIOS further stores a third driver, and the third driver is used to load the first driver; and updating the device to be updated based on the firmware information to be updated and the first driver includes:

[0055] The device to be updated is updated based on the firmware information to be updated, the first driver and the third driver.

[0056] In this application, reference Figure 2 As shown, a third driver Launch Driver is also stored in the BIOS. The third driver is used to load the first driver. Specifically, the third driver loads the first driver, and the first driver flashes the firmware information to be updated, thereby updating the device to be updated. This is simple and easy to implement, and can improve the efficiency of updating the device to be updated.

[0057] Among them, the key functions involved in updating the device to be updated are abstracted as follows:

[0058] 1) UEFI (Unified Extensible Firmware Interface) dynamic loading algorithm:

[0059] A) Conditional function of dynamic loading scheme: R(c)

[0060] B) Dynamically loaded function: A(c, e)

[0061] C) Dynamic execution judgment:

[0062] 2) Sub-device maintenance queue and event pool

[0063] A) Sub-device type information maintenance queue: C = {c1, c2, ..., cn}

[0064] B) Sub-device information creation related processing events: E = {e1, e2, ..., em}

[0065] C) Sub-device information creation: D(C)→E

[0066] 3) Safety verification

[0067] A) Security verification function: D f (a)

[0068] B) Security verification processing: D f (a) → exception

[0069] 4)UEFI firmware flashing algorithm

[0070] A) Conditional function for firmware flashing: P(c)

[0071] B) Firmware flashing function: U(c, e)

[0072] C) Firmware flash execution judgment:

[0073] 5) System abnormality check

[0074] A) System abnormality check function: L f (u)

[0075] B) Abnormal verification processing: L f (u)→exception

[0076] 6)Integrate control flow algorithms

[0077]

[0078] Here, (R(c)→A(c, e)) means that if the condition (R(c)) is true, the dynamic loading process (A(c, e)) is executed.

[0079] (C) and (E) represent the sub-device type information queue and information creation related processing event pool respectively.

[0080] (D(C)→E) indicates that the sub-device information queue maintenance (D(C)) triggers the events in the event pool (E).

[0081] It means that for all actions (a), if the safety verification function (D f (a)) If the function returns true, the exception is handled and the operation is exited.

[0082] (P(c)→U(c, e)) means that if the condition (P(c)) is true, the firmware flashing action (U(c, e)) is executed.

[0083] Indicates that for all actions (u), if the system abnormality check function (L f (u)) returns true, then exception handling is performed and the operation is exited.

[0084] In an optional solution, the update data packet further includes a fourth driver, and the fourth driver is used to load the first driver; and updating the device to be updated based on the firmware information to be updated and the first driver includes:

[0085] The device to be updated is updated based on the firmware information to be updated, the first driver and the fourth driver.

[0086] In this application, the update data package also includes a fourth driver. It should be noted that the fourth driver is the same driver as the aforementioned third driver, both are Launch Drivers, and both are used to load the first driver. The difference is that the third driver is stored in the BIOS, while the fourth driver is stored in an update data package of the device to be updated that is independent of the BIOS. Figure 2 As shown, Figure 2 The portion surrounded by the dashed line is the Launch Driver, which can be stored in one of the BIOS and each update data package. That is to say, in the embodiment of the present application, the driver (third / fourth driver) used to load the first driver can be stored in the BIOS, or can be stored separately in the update data package of each device to be updated. The setting is flexible and can be customized according to different actual needs, with strong flexibility and scalability.

[0087] In an optional solution, the update data packet further includes header data; before updating the device to be updated based on the firmware information to be updated and the first driver, the method further includes:

[0088] Filtering the header data in the update data packet to obtain a filtered update data packet;

[0089] The firmware information to be updated and the first driver program in the filtered update data packet are obtained.

[0090] In this application, reference Figure 2As shown, the update data packet also includes header data EFI_CAPSULE_HEADER, which contains metadata information of the firmware update, such as the firmware version number, the firmware image size, etc. Before updating the device to be updated, it is necessary to remove (filter) the header data in the update data packet, and extract the firmware information to be updated and the first driver in the data packet. Redundant data can be removed before flashing the firmware information to be updated, so as to achieve a more accurate firmware update.

[0091] In an optional solution, the number of the devices to be updated is one or more; and the number of update data packets of each of the devices to be updated is one or more.

[0092] In this application, considering that the user may need to update multiple sub-devices at one time, the number of devices to be updated may be one or more. For each sub-device, since there may be multiple models of materials for the same sub-device in the electronic device (such as two batteries placed in the electronic device, the models of the two batteries are different), one model of sub-device corresponds to one update data packet, and the update data packet of the device to be updated may be one or more.

[0093] The embodiment of the present application also provides an updating device for device firmware to be updated, the device is applied to an electronic device, the electronic device includes a plurality of sub-devices; Figure 3 As shown, the device comprises:

[0094] A first acquisition unit 301 is used to acquire a firmware update instruction for an electronic device;

[0095] A first determining unit 302, configured to determine a device to be updated among a plurality of sub-devices of the electronic device based on the update instruction;

[0096] The second acquisition unit 303 is used to acquire an update data packet for the device to be updated; the update data packet includes the firmware information to be updated of the device to be updated and a first driver; the first driver is used to flash the firmware information to be updated;

[0097] The updating unit 304 is configured to update the device to be updated based on the firmware information to be updated and the first driver.

[0098] In an optional scheme, the electronic device includes a basic input and output system BIOS, and the BIOS stores a second driver program; the first determination unit 302 is used to generate a sub-device information table of the electronic device based on the second driver program; and determine the device to be updated among multiple sub-devices of the electronic device based on the update instruction and the sub-device information table of the electronic device.

[0099] In an optional solution, the BIOS further stores a third driver, which is used to load the first driver; the update unit 304 is used to update the device to be updated based on the firmware information to be updated, the first driver and the third driver.

[0100] In an optional solution, the update data packet further includes a fourth driver, and the fourth driver is used to load the first driver; the update unit 304 is used to update the device to be updated based on the firmware information to be updated, the first driver and the fourth driver.

[0101] In an optional solution, the update data packet further includes header data; and the device further includes:

[0102] The filtering unit is used to filter the header data in the update data packet to obtain a filtered update data packet; and obtain the firmware information to be updated and the first driver program in the filtered update data packet.

[0103] In an optional solution, the number of the devices to be updated is one or more; and the number of update data packets of each of the devices to be updated is one or more.

[0104] It should be noted that the updating device for the firmware of the device to be updated in the embodiment of the present application solves the problem based on a principle similar to that of the updating method for the firmware of the device to be updated mentioned above. Therefore, the implementation process, implementation principle and beneficial effects of the updating device for the firmware of the device to be updated can all be referred to the description of the implementation process, implementation principle and beneficial effects of the mentioned method, and the repeated parts will not be repeated here.

[0105] According to an embodiment of the present application, the present application also provides an electronic device and a readable storage medium.

[0106] Figure 4 A schematic block diagram of an example electronic device 400 that can be used to implement an embodiment of the present application is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workbenches, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, 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 application described and / or required herein.

[0107] like Figure 4As shown, the device 400 includes a computing unit 401, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 402 or a computer program loaded from a storage unit 408 into a random access memory (RAM) 403. In the RAM 403, various programs and data required for the operation of the device 400 can also be stored. The computing unit 401, the ROM 402, and the RAM 403 are connected to each other via a bus 404. An input / output (I / O) interface 405 is also connected to the bus 404.

[0108] A number of components in the device 400 are connected to the I / O interface 405, including: an input unit 406, such as a keyboard, a mouse, etc.; an output unit 407, such as various types of displays, speakers, etc.; a storage unit 408, such as a disk, an optical disk, etc.; and a communication unit 409, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 409 allows the device 400 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.

[0109] The computing unit 401 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the computing unit 401 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The computing unit 401 performs the various methods and processes described above, such as the update method of the device firmware to be updated. For example, in some embodiments, the update method of the device firmware to be updated may be implemented as a computer software program, which is tangibly included in a machine-readable medium, such as a storage unit 408. In some embodiments, part or all of the computer program may be loaded and / or installed on the device 400 via the ROM 402 and / or the communication unit 409. When the computer program is loaded into the RAM 403 and executed by the computing unit 401, one or more steps of the update method of the device firmware to be updated described above may be performed. Alternatively, in other embodiments, the computing unit 401 may be configured to execute the method for updating the firmware of the device to be updated in any other appropriate manner (for example, by means of firmware).

[0110] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.

[0111] The program code for implementing the method of the present application can be written in any combination of one or more programming languages. These program codes can be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that the program code, when executed by the processor or controller, implements the functions / operations specified in the flow chart and / or block diagram. The program code can be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.

[0112] In the context of the present application, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0113] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).

[0114] The systems and techniques described herein may be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), and the Internet.

[0115] A computer system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The relationship of client and server is generated by computer programs running on respective computers and having a client-server relationship with each other. The server may be a cloud server, a server of a distributed system, or a server combined with a blockchain.

[0116] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps recorded in this application can be executed in parallel, sequentially or in different orders, as long as the expected results of the technical solution disclosed in this application can be achieved, and this document is not limited here.

[0117] In addition, the terms "first" and "second" are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Therefore, a feature defined as "first" or "second" may explicitly or implicitly include at least one of the features. In the description of this application, the meaning of "plurality" is two or more, unless otherwise clearly and specifically defined.

[0118] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which 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 method for updating the firmware of a device to be updated, characterized in that: The method is applied to an electronic device, wherein the electronic device includes a plurality of sub-devices; the method includes: Obtaining firmware update instructions for electronic devices; Based on the update instruction, determining a device to be updated among a plurality of sub-devices of the electronic device; Acquire an update data packet for the device to be updated; the update data packet includes firmware information to be updated of the device to be updated and a first driver; the first driver is used to flash the firmware information to be updated; The device to be updated is updated based on the firmware information to be updated and the first driver.

2. The method according to claim 1, characterized in that The electronic device includes a basic input and output system BIOS, and the BIOS stores a second driver program; and determining a device to be updated among a plurality of sub-devices of the electronic device based on the update instruction includes: Based on the second driver, generating a sub-device information table of the electronic device; Based on the update instruction and the sub-device information table of the electronic device, a device to be updated among the multiple sub-devices of the electronic device is determined.

3. The method according to claim 2, characterized in that The BIOS further stores a third driver, and the third driver is used to load the first driver; and updating the device to be updated based on the firmware information to be updated and the first driver includes: The device to be updated is updated based on the firmware information to be updated, the first driver and the third driver.

4. The method according to claim 1, characterized in that: The update data packet further includes a fourth driver, and the fourth driver is used to load the first driver; and updating the device to be updated based on the firmware information to be updated and the first driver includes: The device to be updated is updated based on the firmware information to be updated, the first driver and the fourth driver.

5. The method according to any one of claims 1 to 4, characterized in that: The update data packet further includes header data; before updating the device to be updated based on the firmware information to be updated and the first driver, the method further includes: Filtering the header data in the update data packet to obtain a filtered update data packet; The firmware information to be updated and the first driver program in the filtered update data packet are obtained.

6. The method according to claim 1, characterized in that The number of the devices to be updated is one or more; and the number of update data packets of each of the devices to be updated is one or more.

7. An updating device for updating device firmware, characterized in that: The device is applied to an electronic device, and the electronic device includes a plurality of sub-devices; the device includes: A first acquisition unit, configured to acquire a firmware update instruction for an electronic device; A first determining unit, configured to determine a device to be updated among a plurality of sub-devices of the electronic device based on the update instruction; A second acquisition unit is used to acquire an update data packet for the device to be updated; the update data packet includes the firmware information to be updated of the device to be updated and a first driver; the first driver is used to flash the firmware information to be updated; The updating unit is used to update the device to be updated based on the firmware information to be updated and the first driver.

8. The device according to claim 7, characterized in that The electronic device includes a basic input and output system BIOS, and the BIOS stores a second driver program; the first determining unit is used to generate a sub-device information table of the electronic device based on the second driver program; Based on the update instruction and the sub-device information table of the electronic device, a device to be updated among the multiple sub-devices of the electronic device is determined.

9. An electronic device, characterized in that: include: at least one processor; as well as 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 enable the at least one processor to perform the method according to any one of claims 1 to 6.

10. A non-transitory computer-readable storage medium storing computer instructions, characterized in that: The computer instructions are used to make a computer execute the method according to any one of claims 1-6.