CN110737455A - Firmware updating method and device and electronic equipment - Google Patents
Firmware updating method and device and electronic equipment Download PDFInfo
- Publication number
- CN110737455A CN110737455A CN201911041096.5A CN201911041096A CN110737455A CN 110737455 A CN110737455 A CN 110737455A CN 201911041096 A CN201911041096 A CN 201911041096A CN 110737455 A CN110737455 A CN 110737455A
- Authority
- CN
- China
- Prior art keywords
- firmware
- version
- latest firmware
- latest
- boot program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 230000008569 process Effects 0.000 claims abstract description 16
- 230000004044 response Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
The application provides firmware updating methods and devices and electronic equipment, the method is applied to a core processor of the electronic equipment, the electronic equipment further comprises a functional chip connected with the core processor, the method comprises the steps of obtaining a version of firmware running on the functional chip and a version of latest firmware of the functional chip carried in the BOOT program in the process of running the BOOT program, judging whether the version of the latest firmware is the same as the version of the running firmware, if not, updating the running firmware by using the latest firmware carried in the BOOT program, otherwise, not updating the running firmware, and by carrying the firmware in the BOOT program of the core processor, when the BOOT program is loaded and run by the core processor, the core processor can automatically update the firmware running on the functional chip by using the latest firmware of the functional chip carried in the BOOT program, the whole updating process does not need manual operation, and the updating efficiency and the success rate of the firmware are improved.
Description
Technical Field
The present application relates to the field of computer technologies, and in particular, to a method and an apparatus for updating kinds of firmware, and an electronic device.
Background
In order to share the load of the core processor on the motherboard, various functional chips such as an audio chip, a video chip, an NPU (Neural-network Processing Unit), etc. are also embedded on the motherboard, and in order to implement the corresponding functions, firmware of the corresponding functions is also installed in the functional chips. In practice, with the change of actual requirements, it is often necessary to update and upgrade the firmware in the functional chip correspondingly, so that the functional chip has a stronger function and operates more stably.
At present, the firmware in the functional chip is often updated and upgraded in a manual operation mode. The updating and upgrading mode is not only low in efficiency, but also prone to misoperation, and therefore updating failure is caused.
Disclosure of Invention
An object of the embodiment of the present application is to provide firmware updating methods and apparatuses, and an electronic device, so as to improve the firmware upgrading efficiency and upgrading success rate.
, the embodiment of the present application provides a firmware updating method, applied to a core processor of an electronic device, where the electronic device further includes a functional chip connected to the core processor, and the method includes:
in the process of running a BOOT program, acquiring the version of firmware running on the functional chip and acquiring the version of the latest firmware of the functional chip carried in the BOOT program;
judging whether the version of the latest firmware is the same as the version of the running firmware;
and if not, updating the running firmware by using the latest firmware carried in the BOOT program, otherwise, not updating the running firmware.
In the embodiment of the application, the firmware is carried in the BOOT program of the core processor, when the core processor loads and runs the BOOT program, the core processor can automatically update the firmware running on the functional chip by using the latest firmware of the functional chip carried in the BOOT program, the whole updating process does not need manual operation, and the updating efficiency and the updating success rate of the firmware are improved.
With reference to the , in a possible implementation manner, the loading the BOOT program into a memory of the electronic device, and the updating the running firmware by using the latest firmware carried in the BOOT program includes:
determining the address of the latest firmware in the memory according to the address of the BOOT program loaded into the memory of the electronic equipment and the address of the latest firmware in the BOOT program;
and transmitting the latest firmware to the functional chip according to the address of the latest firmware in the memory, so that the functional chip updates the firmware by using the latest firmware.
In the embodiment of the application, by determining the address of the latest firmware in the memory, the core processor can accurately transmit the latest firmware to the functional chip by using the address.
With reference to the possible implementation manner of the aspect of , in a second possible implementation manner, the transmitting the latest firmware to the functional chip according to the address of the latest firmware in the memory includes:
sending the address of the latest firmware in the memory to the functional chip, so that the functional chip requests the latest firmware from the core processor according to the address of the latest firmware in the memory;
and transmitting the latest firmware to the functional chip in response to the request of the functional chip.
In the embodiment of the present application, the functional chip may be invoked to actively acquire the latest firmware in the memory by sending the address, so as to ensure that the latest firmware is required by the functional chip.
With reference to the , in a third possible implementation manner, after the determining that the version of the latest firmware is not the same as the version of the running firmware, and before the updating the running firmware with the latest firmware carried in the BOOT program, the method further includes:
determining the size of the latest firmware;
determining that the size is within a preset threshold size.
In the embodiment of the present application, the size of the firmware does not exceed the threshold size in general. Therefore, by determining that the size of the latest firmware is within the threshold size for updating, an update error can be effectively avoided.
With reference to the third possible implementation manner of the aspect , in a fourth possible implementation manner, the determining a size of the latest firmware includes:
acquiring the address of the latest firmware in the BOOT program, and acquiring the addresses of the next firmware adjacent to the latest firmware in the BOOT program;
determining a difference between the address of the latest firmware in the BOOT program and the addresses of the next firmware in the BOOT program, wherein the difference is used to represent the size of the latest firmware.
In the embodiment of the application, the size of the firmware is determined by calculating the difference between two adjacent addresses, so that the size of the latest firmware can be quickly calculated.
With reference to the , in a fifth possible implementation manner, after determining that the version of the latest firmware is not the same as the version of the running firmware, the method further includes:
determining the size of the latest firmware;
determining that the size exceeds a preset threshold size, and not updating the running firmware.
In the embodiment of the present application, the size of the firmware does not exceed the threshold size in general. Therefore, if the size of the latest firmware is determined to exceed the threshold size, the updating is terminated, so that updating errors are effectively avoided.
With reference to the , in a sixth possible implementation manner, before the running the BOOT program, the method further includes:
acquiring the latest firmware and the version of the latest firmware;
and updating the original BOOT program of the core processor, which does not carry the latest firmware and the version of the latest firmware, by using the latest firmware and the version of the latest firmware, and obtaining the BOOT program which carries the latest firmware and the version of the latest firmware.
In the embodiment of the application, the core processor can automatically write the latest firmware and the version of the latest firmware into the original BOOT program, so that the BOOT program carrying the latest firmware and the version of the latest firmware is automatically generated.
In a second aspect, an embodiment of the present application provides an firmware updating method, applied to a core processor of an electronic device, where the electronic device further includes a functional chip connected to the core processor, and the method includes:
acquiring the latest firmware of the functional chip and the version of the latest firmware;
and updating the original BOOT program of the core processor, which does not carry the latest firmware and the version, by using the latest firmware and the version to obtain the BOOT program carrying the latest firmware and the version, so that the core processor updates the firmware running on the functional chip by using the BOOT program carrying the latest firmware and the version.
In a third aspect, an embodiment of the present application provides an apparatus for updating firmware, where the apparatus is applied to a core processor of an electronic device, the electronic device further includes a functional chip connected to the core processor, and the apparatus includes:
the data acquisition module is used for acquiring the version of the firmware operated on the functional chip in the process of operating the BOOT program and acquiring the version of the latest firmware of the functional chip carried in the BOOT program;
the firmware updating module is used for judging whether the version of the latest firmware is the same as the version of the running firmware; and if not, updating the running firmware by using the latest firmware carried in the BOOT program, otherwise, not updating the running firmware.
With reference to the third aspect, in an th possible implementation manner, the BOOT program is loaded into a memory of the electronic device,
the firmware updating module is used for determining the address of the latest firmware in the memory according to the address of the BOOT program loaded into the memory of the electronic equipment and the address of the latest firmware in the BOOT program; and transmitting the latest firmware to the functional chip according to the address of the latest firmware in the memory, so that the functional chip updates the firmware by using the latest firmware.
With reference to the th possible implementation manner of the third aspect, in a second possible implementation manner,
the firmware updating module is used for sending the address of the latest firmware in the memory to the functional chip so that the functional chip requests the latest firmware from the core processor according to the address of the latest firmware in the memory; and transmitting the latest firmware to the functional chip in response to the request of the functional chip.
With reference to the third aspect, in a third possible implementation manner, after the firmware update module determines that the version of the latest firmware is not the same as the version of the running firmware, and before the firmware update module updates the running firmware with the latest firmware carried in the BOOT program,
the firmware updating module is further used for determining the size of the latest firmware; determining that the size is within a preset threshold size.
With reference to the third possible implementation manner of the third aspect, in a fourth possible implementation manner,
the firmware updating module is used for acquiring the address of the latest firmware in the BOOT program, acquiring the addresses of the next firmware adjacent to the latest firmware in the BOOT program, and determining the difference value between the address of the latest firmware in the BOOT program and the addresses of the next firmware in the BOOT program, wherein the difference value is used for representing the size of the latest firmware.
With reference to the third aspect, in a fifth possible implementation manner, after the firmware update module determines that the version of the latest firmware is not the same as the version of the running firmware,
the firmware updating module is further used for determining the size of the latest firmware; determining that the size exceeds a preset threshold size, and not updating the running firmware.
With reference to the third aspect, in a sixth possible implementation manner, before the BOOT program is executed,
the data acquisition module is further configured to acquire the latest firmware and a version of the latest firmware;
the firmware updating module is further configured to update an original BOOT program of the core processor, which does not carry the latest firmware and the version of the latest firmware, by using the latest firmware and the version of the latest firmware, and obtain the BOOT program which carries the latest firmware and the version of the latest firmware.
In a fourth aspect, an embodiment of the present application provides an apparatus for updating firmware, which is applied to a core processor of an electronic device, where the electronic device further includes a functional chip connected to the core processor, and the apparatus includes:
the data acquisition module is used for acquiring the latest firmware of the functional chip and the version of the latest firmware;
and a program updating module, configured to update, by using the latest firmware and the version, an original BOOT program of the core processor that does not carry the latest firmware and the version, and obtain the BOOT program that carries the latest firmware and the version, so that the core processor updates the firmware running on the functional chip by using the BOOT program that carries the latest firmware and the version.
In a fifth aspect, an embodiment of the present application provides electronic devices, including a core processor and a functional chip connected to the core processor,
the core processor is configured to execute the firmware updating method according to any possible implementation manners of the th aspect or the th aspect or execute the firmware updating method according to the second aspect.
In a sixth aspect, the present embodiments provide computer readable storage media having computer executable non-volatile program code, where the program code causes the computer to execute the firmware updating method according to any possible implementation manners of the or aspects or execute the firmware updating method according to the second aspect.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are required to be used in the embodiments of the present application will be briefly described below, it should be understood that the following drawings only illustrate some embodiments of the present application and therefore should not be considered as limiting the scope, and that those skilled in the art can also obtain other related drawings based on the drawings without inventive efforts.
Fig. 1 is a block diagram illustrating structures of electronic devices according to an embodiment of the present disclosure;
fig. 2 is a schematic structural diagram of a motherboard in electronic devices according to an embodiment of the present disclosure;
fig. 3 is a flowchart of an firmware update method according to an embodiment of the present application;
FIG. 4 is a data structure diagram of a BOOT program in the embodiment of the present application;
fig. 5 is a block diagram of a device for updating kinds of firmware according to an embodiment of the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be described below with reference to the drawings in the embodiments of the present application.
Referring to fig. 1 and fig. 2, an electronic device 10 is provided in an embodiment of the present application, where the electronic device 10 may be a communication device such as a router, a switch, a gateway, a network bridge, or the like, a user terminal such as a smart phone, a tablet computer, a digital music player, or the like, and a server such as a web server, a database server, a cloud server, or a server cluster composed of multiple sub-servers.
In this embodiment, the electronic device 10 may include: the electronic device includes a core processor 11 and a functional chip 12 connected to the core processor 11, where the core processor 11 may be a chip with relatively high processing performance, such as a CPU (central processing Unit), an MCU (micro controller Unit), and the type and number of the functional chip 12 may be selected according to the functional requirement of the electronic device 10. The core processor 11 and the functional chip 12 may be provided on a motherboard 13 of the electronic device 10, and the core processor 11 and the functional chip 12 may be connected by a bus 14 provided on the motherboard 13. In addition, the main board 13 of the electronic device 10 is further provided with a memory 15 of the electronic device 10, for storing the BOOT program required by the core processor 11.
In this embodiment, the BOOT program carries the latest firmware required by the functional chip 12 and the latest firmware version, in addition to the relevant programs required by the core processor 11. After the core processor 11 is powered on, the core processor 11 may call and execute the BOOT program. During the execution of the BOOT program, the core processor 11 can update the firmware running on the functional chip 12 by using the latest firmware of the functional chip 12 in the BOOT program and the latest version of the latest firmware, thereby achieving the automatic completion of the whole firmware update process.
The update process of the firmware will be described in detail below by way of an embodiment of the method.
Referring to fig. 3, an embodiment of the present application provides methods for updating firmware, where the methods for updating firmware can be executed by the core processor 11, and the methods for updating firmware can include:
step S100: the latest firmware of the functional chip and the version of the latest firmware are acquired.
Step S200: and updating the original BOOT program of the core processor, which does not carry the latest firmware and the version of the latest firmware, by using the latest firmware and the version of the latest firmware to obtain the BOOT program carrying the latest firmware and the version of the latest firmware.
Step S300: and in the process of running the updated BOOT program, acquiring the version of the firmware running on the functional chip and acquiring the version of the latest firmware carried in the updated BOOT program.
Step S400: it is determined whether the version of the latest firmware is the same as the version of the running firmware.
Step S500: if not, updating the running firmware by using the latest firmware carried in the updated BOOT program, otherwise, not updating the running firmware.
The following describes steps S100 to S500 in detail with reference to examples.
Step S100: the latest firmware of the functional chip and the version of the latest firmware are acquired.
When the firmware on the functional chip 12 needs to be updated by using the latest firmware or the latest firmware needs to be written into the functional chip 12 which is not provided with the firmware, the original BOOT program of the core processor 11 may be updated by using the latest firmware and the version of the latest firmware to obtain the BOOT program carrying the latest firmware and the version of the latest firmware, where the original BOOT program does not carry the latest firmware and the version of the latest firmware.
th exemplary way to update the original BOOT program:
the developer can directly write the latest firmware, the version of the latest firmware, and the addresses of the latest firmware and the version of the latest firmware in the BOOT program to the core processor 11. The core processor 11 receives the latest firmware, the latest firmware version, and the addresses of the latest firmware and the latest firmware version in the BOOT program.
As a second exemplary way to update the original BOOT program:
developers can obtain the backup of the original BOOT program, so that the original BOOT program is edited, the latest firmware, the version of the latest firmware and the address of the latest firmware and the version of the latest firmware in the BOOT program are directly written into the corresponding position corresponding to the address in the original BOOT program, and the updated BOOT program carrying the latest firmware, the version of the latest firmware and the address of the version of the latest firmware and the latest firmware is obtained. It should be noted that, if there is data already at the corresponding location, the latest firmware and the version of the latest firmware overwrite the existing data at the corresponding location.
In this way, the developer can directly write the updated BOOT program to the core processor 11. The core processor 11 receives the updated BOOT program carrying the latest firmware, the latest firmware version, and the addresses of the latest firmware and the latest firmware version.
Referring to fig. 4, the data structure of the updated BOOT program may be, for example, as shown in fig. 4, assuming that the core processor 11 executes the updated BOOT program from left to right, and starting from left, th data in the updated BOOT program may be the BOOT program itself, so as to ensure normal execution of the updated BOOT program by the core processor 11, then each data from the right to the left may be the addresses of the latest firmware, the latest firmware version, and the latest firmware version of each functional chip 12, and the addresses of the latest firmware, the latest firmware version, and the latest firmware version of each functional chip 12 are located in separate boxes in the diagram, in other words, the addresses of the latest firmware, the latest firmware version, and the latest firmware version of each functional chip 12 occupy separate parts in the updated BOOT program.
Continuing with FIG. 4, it should be noted that, since the programs in the updated BOOT program are arranged in order, the address of the latest firmware can be represented by data size, for example, if the number of the BOOT programs in the BOOT program is XXXMB, then the address of the th latest firmware from left to right in the BOOT program can be represented by XXXMB, if the number of the th latest firmware is YYMB, then the address of the second latest firmware from left to right in the BOOT program can be represented by XXXMB + YYMB, and so on.
Step S200: and updating the original BOOT program of the core processor, which does not carry the latest firmware and the version of the latest firmware, by using the latest firmware and the version of the latest firmware to obtain the BOOT program carrying the latest firmware and the version of the latest firmware.
When the aforementioned method is used, the core processor 11 may find the corresponding location corresponding to the address in the original BOOT program according to the latest firmware and the address of the version of the latest firmware in the BOOT program, and write the latest firmware, the version of the latest firmware, and the address of the version of the latest firmware and the latest firmware into the corresponding location in the original BOOT program, thereby obtaining the updated BOOT program.
When the second method is adopted, the core processor 11 may replace the original BOOT program with the updated BOOT program to obtain the updated BOOT program.
After obtaining the updated BOOT program, the core processor 11 may execute step S300 further .
Step S300: and in the process of running the updated BOOT program, acquiring the version of the firmware running on the functional chip and acquiring the version of the latest firmware carried in the updated BOOT program.
This updated BOOT program may be stored by the core processor 11 into the memory 15, for example into a hard disk, or into a size area of the core processor 11 itself. When the core processor 11 is powered on and started, the core processor 11 may call the updated BOOT program from the memory 15, load the updated BOOT program into the memory of the electronic device 10, and run the updated BOOT program.
With the running of the updated BOOT program, the core processor 11 may obtain, based on the instruction in the BOOT program, the version of the firmware running on the functional chip 12 from the functional chip 12. In addition, when the updated BOOT program runs to the latest firmware, the version of the latest firmware, and the part where the addresses of the latest firmware and the version of the latest firmware are located, the core processor 11 acquires the version of the latest firmware.
Step S400: it is determined whether the version of the latest firmware is the same as the version of the running firmware.
To ensure a correct update of the firmware of the functional chip 12, the core processor 11 may determine whether the version of the latest firmware is the same as the version of the running firmware. The same indicates that the firmware running on the functional chip 12 does not need to be updated, and the other indicates that the firmware running on the functional chip 12 needs to be updated to the latest firmware.
Note that, if the functional chip 12 does not have firmware yet, the version of the operating firmware acquired by the core processor 11 is null. If the firmware version is empty, the core processor 11 may determine whether the latest firmware version is the same as the running firmware version.
Step S500: if not, updating the running firmware by using the latest firmware carried in the updated BOOT program, otherwise, not updating the running firmware.
If the latest firmware version is determined to be different from the running firmware version, the core processor 11 may start the firmware updating process.
Specifically, since the updated BOOT program is loaded into the memory, the core processor 11 may obtain an address of the updated BOOT program in the memory (the address of the updated BOOT program in the memory is used to indicate a location of the updated BOOT program in the memory). Thus, the core processor 11 can determine the address of the latest firmware in the memory by adding the address of the updated BOOT program in the memory to the address of the latest firmware in the BOOT program, where the address of the latest firmware in the memory is used to accurately find the latest firmware in the memory.
Further , the core processor 11 may obtain the latest firmware from the memory according to the address of the latest firmware in the memory and transmit the latest firmware to the functional chip 12 so that the functional chip 12 can update with the latest firmware, or the core processor 11 may directly transmit the address of the latest firmware in the memory to the functional chip 12 so that the functional chip 12 requests the latest firmware from the core processor 11 according to the address of the latest firmware in the memory so that the core processor 11 transmits the latest firmware to the functional chip 12 in response to the request of the functional chip 12 so that the functional chip 12 can update with the latest firmware.
If it is determined that the latest firmware version is the same as the running firmware version, the core processor 11 may terminate the execution of the firmware update procedure.
Furthermore, in implementations of the embodiment, to ensure that the firmware can be updated normally, after determining that the version of the latest firmware is the same as the version of the firmware running on the functional chip 12 and before updating the firmware running on the functional chip 12 with the latest firmware carried in the BOOT program, the core processor 11 may further determine the size of the latest firmware and determine whether the size of the latest firmware is within a preset threshold size.
Specifically, if the address of the latest firmware is represented by the data size, the core processor 11 may obtain the addresses of the next firmware neighboring the latest firmware in the BOOT program, and determine the difference between the address of the latest firmware in the BOOT program and the address of the next firmware in the BOOT program, where the difference is used to represent the size of the latest firmware.
Of course, the size of the latest firmware is determined so that the core processor 11 can subsequently perform operations such as file Check, CRC (Cyclic Redundancy Check) calculation, etc. on the latest firmware to ensure that the latest firmware is fully available.
At step , after determining the size of the latest firmware, the core processor 11 may determine whether the size of the latest firmware is within a threshold size.
If the size of the latest firmware is determined to be within the threshold size, the size of the latest firmware is indicated to be normal, and updating can be carried out. The core processor 11 can thus continue to execute the related flow of updating the firmware running on the functional chip 12 with the latest firmware carried in the BOOT program.
If the size of the latest firmware is determined to exceed the threshold size, it indicates that the latest firmware is not normal in size, which may cause an update error or failure. Then the core processor 11 does not update the firmware running on the functional chip 12.
Referring to fig. 5, based on the same inventive concept as , the embodiment of the present application further provides a firmware updating apparatus 100, where the firmware updating apparatus 100 is applied to the core processor 11, and the firmware updating apparatus 100 may include:
the data obtaining module 110 is configured to obtain the latest firmware of the functional chip 12 and the version of the latest firmware.
The program updating module 120 is configured to update the original BOOT program of the core processor 11, which does not carry the latest firmware and the version of the latest firmware, with the latest firmware and the version of the latest firmware, and obtain the BOOT program carrying the latest firmware and the version of the latest firmware.
The data obtaining module 110 is further configured to, in the process of running the updated BOOT program, obtain the version of the firmware running on the functional chip 12, and obtain the version of the latest firmware carried in the updated BOOT program.
The firmware update module 130 is configured to determine whether the version of the latest firmware is the same as the version of the running firmware. If not, updating the running firmware by using the latest firmware carried in the updated BOOT program, otherwise, not updating the running firmware.
It should be noted that, as those skilled in the art can clearly understand, for convenience and brevity of description, the specific working processes of the above-described systems, apparatuses and units may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
The embodiments of the present application further provide computer-readable storage media of computer-executable non-volatile program code, which can be general-purpose storage media such as a removable magnetic diskette, a hard disk, etc., having program code stored thereon, which when executed by a computer, perform the steps of the firmware updating method of any of the embodiments described above.
The program code product of the firmware updating method provided in the embodiment of the present application includes a computer-readable storage medium storing the program code, and instructions included in the program code may be used to execute the method in the foregoing method embodiment, and specific implementation may refer to the method embodiment, which is not described herein again.
In summary, the embodiments of the present application provide firmware updating methods and apparatuses, and an electronic device, where firmware is carried in a BOOT program of a core processor, and when the core processor loads and runs the BOOT program, the core processor may automatically update the firmware running on a functional chip by using the latest firmware of the functional chip carried in the BOOT program, and no manual operation is required in the whole updating process, thereby improving the firmware updating efficiency and the firmware updating success rate.
The above-described embodiments of the apparatus are merely illustrative, for example, the division of the units into only logical functional divisions, and other divisions may be possible in actual implementation, and for example, a plurality of units or components may be combined or integrated into another systems, or features may be omitted or not executed, and further point, the shown or discussed coupling or direct coupling or communication connection between each other may be through communication interfaces, and the indirect coupling or communication connection of the apparatuses or units may be electrical, mechanical or other forms.
In addition, the units described as separate parts may or may not be physically separate, and the parts displayed as units may or may not be physical units, that is, may be located in places, or may also be distributed on multiple network units.
Furthermore, each functional module in the embodiments of the present application may be integrated in to form independent parts, each module may exist separately, or two or more modules may be integrated to form independent parts.
In this document, relational terms such as , second, and the like may be used solely to distinguish entities or operations from another entities or operations without necessarily requiring or implying any actual such relationship or order between such entities or operations.
The above description is only an example of the present application and is not intended to limit the scope of the present application, and various modifications and changes may be made by those skilled in the art. Any modification, equivalent replacement, improvement and the like made within the spirit and principle of the present application shall be included in the protection scope of the present application.
Claims (10)
1, firmware update method, applied to a core processor of an electronic device, wherein the electronic device further includes a functional chip connected to the core processor, the method includes:
in the process of running a BOOT program, acquiring the version of firmware running on the functional chip and acquiring the version of the latest firmware of the functional chip carried in the BOOT program;
judging whether the version of the latest firmware is the same as the version of the running firmware;
and if not, updating the running firmware by using the latest firmware carried in the BOOT program, otherwise, not updating the running firmware.
2. The method for updating the firmware according to claim 1, wherein the updating the running firmware with the latest firmware carried in the BOOT program comprises:
determining the address of the latest firmware in the memory according to the address of the BOOT program loaded into the memory of the electronic equipment and the address of the latest firmware in the BOOT program;
and transmitting the latest firmware to the functional chip according to the address of the latest firmware in the memory, so that the functional chip updates the firmware by using the latest firmware.
3. The method for updating firmware according to claim 2, wherein the transmitting the latest firmware to the functional chip according to the address of the latest firmware in the memory comprises:
sending the address of the latest firmware in the memory to the functional chip, so that the functional chip requests the latest firmware from the core processor according to the address of the latest firmware in the memory;
and transmitting the latest firmware to the functional chip in response to the request of the functional chip.
4. The method according to claim 1, wherein after the determining that the latest firmware version is different from the running firmware version and before the updating the running firmware with the latest firmware carried in the BOOT program, the method further comprises:
determining the size of the latest firmware;
determining that the size is within a preset threshold size.
5. The method for updating firmware of claim 4, wherein the determining the size of the latest firmware comprises:
acquiring the address of the latest firmware in the BOOT program, and acquiring the addresses of the next firmware adjacent to the latest firmware in the BOOT program;
determining a difference between the address of the latest firmware in the BOOT program and the addresses of the next firmware in the BOOT program, wherein the difference is used to represent the size of the latest firmware.
6. The firmware update method according to claim 1, wherein before the running the BOOT program, the method further comprises:
acquiring the latest firmware and the version of the latest firmware;
and updating the original BOOT program of the core processor, which does not carry the latest firmware and the version of the latest firmware, by using the latest firmware and the version of the latest firmware, and obtaining the BOOT program which carries the latest firmware and the version of the latest firmware.
7, firmware update method, applied to a core processor of an electronic device, wherein the electronic device further includes a functional chip connected to the core processor, the method includes:
acquiring the latest firmware of the functional chip and the version of the latest firmware;
and updating the original BOOT program of the core processor, which does not carry the latest firmware and the version, by using the latest firmware and the version to obtain the BOOT program carrying the latest firmware and the version, so that the core processor updates the firmware running on the functional chip by using the BOOT program carrying the latest firmware and the version.
The firmware updating device of is characterized in that, it is applied to the core processor of the electronic equipment, the electronic equipment also includes the functional chip connected with the core processor, the device includes:
the data acquisition module is used for acquiring the version of the firmware operated on the functional chip in the process of operating the BOOT program and acquiring the version of the latest firmware of the functional chip carried in the BOOT program;
the firmware updating module is used for judging whether the version of the latest firmware is the same as the version of the running firmware; and if not, updating the running firmware by using the latest firmware carried in the BOOT program, otherwise, not updating the running firmware.
The firmware updating device of is characterized in that, it is applied to the core processor of the electronic equipment, the electronic equipment also includes the functional chip connected with the core processor, the device includes:
the data acquisition module is used for acquiring the latest firmware of the functional chip and the version of the latest firmware;
and a program updating module, configured to update, by using the latest firmware and the version, an original BOOT program of the core processor that does not carry the latest firmware and the version, and obtain the BOOT program that carries the latest firmware and the version, so that the core processor updates the firmware running on the functional chip by using the BOOT program that carries the latest firmware and the version.
10, electronic equipment, which is characterized in that it includes a core processor and a functional chip connected with the core processor,
the core processor is configured to perform the firmware update method according to any of claims 1-6 or perform the firmware update method according to claim 7.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911041096.5A CN110737455A (en) | 2019-10-29 | 2019-10-29 | Firmware updating method and device and electronic equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911041096.5A CN110737455A (en) | 2019-10-29 | 2019-10-29 | Firmware updating method and device and electronic equipment |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110737455A true CN110737455A (en) | 2020-01-31 |
Family
ID=69270357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911041096.5A Pending CN110737455A (en) | 2019-10-29 | 2019-10-29 | Firmware updating method and device and electronic equipment |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110737455A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021144674A (en) * | 2020-03-11 | 2021-09-24 | ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド | Processing method for audio processing chip, apparatus, electronic device, computer readable storage medium, and computer program |
CN114265606A (en) * | 2022-03-02 | 2022-04-01 | 龙旗电子(惠州)有限公司 | Firmware upgrading method, device, equipment and storage medium |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103136005A (en) * | 2011-11-28 | 2013-06-05 | 英业达科技有限公司 | Method of updating firmware |
US20160306617A1 (en) * | 2015-04-17 | 2016-10-20 | Fujitsu Technology Solutions Intellectual Property Gmbh | Methods of updating firmware components, computer systems and memory apparatus |
CN108304209A (en) * | 2018-02-28 | 2018-07-20 | 联想(北京)有限公司 | Firmware upgrade method and firmware upgrade system |
CN109343873A (en) * | 2018-08-28 | 2019-02-15 | 九阳股份有限公司 | A kind of intelligent appliance remote upgrade control method |
-
2019
- 2019-10-29 CN CN201911041096.5A patent/CN110737455A/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103136005A (en) * | 2011-11-28 | 2013-06-05 | 英业达科技有限公司 | Method of updating firmware |
US20160306617A1 (en) * | 2015-04-17 | 2016-10-20 | Fujitsu Technology Solutions Intellectual Property Gmbh | Methods of updating firmware components, computer systems and memory apparatus |
CN108304209A (en) * | 2018-02-28 | 2018-07-20 | 联想(北京)有限公司 | Firmware upgrade method and firmware upgrade system |
CN109343873A (en) * | 2018-08-28 | 2019-02-15 | 九阳股份有限公司 | A kind of intelligent appliance remote upgrade control method |
Non-Patent Citations (1)
Title |
---|
孙雪飞 等: "例说T1 ARM Cortex - M3--基于LM3S9B96", 北京航空航天大学出版社, pages: 292 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021144674A (en) * | 2020-03-11 | 2021-09-24 | ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド | Processing method for audio processing chip, apparatus, electronic device, computer readable storage medium, and computer program |
US11556333B2 (en) | 2020-03-11 | 2023-01-17 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Method and apparatus for processing audio processing chip, and electronic device |
CN114265606A (en) * | 2022-03-02 | 2022-04-01 | 龙旗电子(惠州)有限公司 | Firmware upgrading method, device, equipment and storage medium |
CN114265606B (en) * | 2022-03-02 | 2022-05-10 | 龙旗电子(惠州)有限公司 | Firmware upgrading method, device, equipment and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103150231B (en) | The method of computer booting and computer system | |
US8495618B1 (en) | Updating firmware in a high availability enabled computer system | |
CN109240730B (en) | Singlechip online upgrading method and system | |
US9081640B2 (en) | Apparatus, method and medium for calculating an update order on a service level objective | |
EP2375323A1 (en) | Firmware image update and management | |
US11314665B2 (en) | Information processing system, information processing device, BIOS updating method for information processing device, and BIOS updating program for information processing device | |
US20140310698A1 (en) | Apparatus and method for upgrading firmware of mobile terminal | |
US20110302572A1 (en) | Embedded network device and firmware upgrading method | |
CN111813428A (en) | Method and device for upgrading terminal firmware, electronic equipment and storage medium | |
WO2022095758A1 (en) | Terminal upgrade method and terminal | |
CN113064745B (en) | Method, device and medium for reporting error information | |
CN111158715A (en) | Gray scale release control method and system | |
CN110737455A (en) | Firmware updating method and device and electronic equipment | |
CN111221553A (en) | Firmware upgrading method and device | |
EP4060484A1 (en) | Control method and control device for enabling operations of application program in multiple systems | |
CN113064610A (en) | Method, device and medium for updating BIOS | |
CN110618828B (en) | Data updating method and device | |
CN111984287A (en) | Equipment upgrading method and system | |
KR101461319B1 (en) | Methods and device for upgrading firmware of set-top box | |
CN111258617B (en) | Electronic equipment | |
CN113377425A (en) | BMC firmware generation method and device, BMC starting method and device and storage medium | |
CN113778485A (en) | System operation method and device of electronic chip, electronic chip and storage medium | |
CN111552601A (en) | SSD abnormal power failure test method and device, computer equipment and storage medium | |
CN111240752B (en) | Operating system self-adaption method and system | |
WO2024000535A1 (en) | Partition table update method and apparatus, and electronic device and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200131 |