CN110275728B - System and method for updating firmware - Google Patents

System and method for updating firmware Download PDF

Info

Publication number
CN110275728B
CN110275728B CN201910579235.3A CN201910579235A CN110275728B CN 110275728 B CN110275728 B CN 110275728B CN 201910579235 A CN201910579235 A CN 201910579235A CN 110275728 B CN110275728 B CN 110275728B
Authority
CN
China
Prior art keywords
partition
firmware
updating
update
differential
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.)
Active
Application number
CN201910579235.3A
Other languages
Chinese (zh)
Other versions
CN110275728A (en
Inventor
张金福
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lusheng Technology Co ltd
Original Assignee
Lusheng Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lusheng Technology Co ltd filed Critical Lusheng Technology Co ltd
Priority to CN201910579235.3A priority Critical patent/CN110275728B/en
Publication of CN110275728A publication Critical patent/CN110275728A/en
Application granted granted Critical
Publication of CN110275728B publication Critical patent/CN110275728B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates

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 relates to a system for updating firmware, which comprises a server and terminal equipment. The server has a loading domain with a plurality of subfields, each subfield being associated with a module of the firmware, and an extension at the end of at least part of the subfields, the server being configured to generate a differential packet in accordance with a new version and an old version of the subfields to be updated. The terminal device includes a device firmware update partition, and the terminal device is configured to receive the differential packet from the server and store it in the device firmware update partition.

Description

System and method for updating firmware
Technical Field
The application relates to a system for updating firmware, which can reduce the requirement on the storage space of terminal equipment and reduce the data quantity transmitted during updating the firmware.
Background
In the field of internet of things (IoT, internet of Things), in order to achieve interconnection and interworking among people, machines and objects, large-scale deployment of internet of things terminal devices is often required. Data transmission between the server and the terminal device is generally performed by means of OTA (Over The Air), for example, version updating and upgrading of the terminal device. Because the storage space (including the data permanent storage space and the memory space during program operation) of the terminal equipment is limited due to the restriction of equipment cost and other factors, the version update of the terminal equipment is pushed in a differential mode commonly adopted.
Currently, a device firmware update (DFU, device Firmware Update) method commonly adopted by an internet of things system is mainly global domain differential packet update and partial domain differential packet update. The whole domain differential packet update is to perform differential computation on the whole loading domain, and the partial domain differential packet update is to perform differential computation on the loading domain with partial update. Systems using these two firmware update methods have disadvantages in that storage space is not used reasonably and storage capacity is not optimized.
Disclosure of Invention
The application aims to provide a system for updating firmware, which can reduce the requirement on the storage space of terminal equipment and reduce the data quantity transmitted during updating the firmware.
The technical scheme adopted by the application for solving the technical problems is to provide a system for updating firmware, which comprises: a server having a load domain with a plurality of subfields, each subfield being associated with a module of the firmware, the load domain further having an extension located at the tail of at least a portion of the subfields, the server being configured to generate differentiation packets according to new and old versions of the subfields to be updated; and a terminal device including a device firmware update partition, the terminal device configured to receive the differential packet from the server and save into the device firmware update partition.
In one embodiment of the application, the capacity of the device firmware update partition is associated with a largest-sized subzone of the plurality of subzones of the load domain.
In one embodiment of the application, the device firmware update partition includes a temporary swap space.
In an embodiment of the application, the terminal device further comprises a running partition configured to receive an update package from the device firmware update partition.
In an embodiment of the present application, the partition mode of the running partition is the same as the loading domain, and the extension area of the running partition is used to store a newly added update package.
In an embodiment of the present application, the module of the firmware is a library of the firmware.
In an embodiment of the application, the server is configured to generate the differential packet as follows: comparing the new version and the old version of the subdomain to be updated to determine an updated region; and performing differential operation according to the new version updating area and the old version updating area to generate the differential packet.
In an embodiment of the present application, the terminal device is an internet of things terminal.
Another aspect of the application provides a server for updating firmware having a load domain with a plurality of subfields, each subfield being associated with a module of the firmware, the load domain further having an extension at the end of at least part of the subfields, the server being configured to generate differential packets according to new and old versions of the subfields to be updated.
Another aspect of the present application provides a terminal device, including: the device firmware updating partition is configured to store the differential packet received from the server and generate an updating packet according to the differential packet; a run-on partition having a plurality of sub-partitions, each sub-partition associated with a module of the firmware, the run-on partition further having an extension located at the end of at least a portion of the sub-partitions, the run-on partition configured to receive update packages from the device firmware update partition, the extension for storing newly added update packages.
Another aspect of the present application provides a method of updating firmware, comprising the steps of: configuring a loading domain at a server, the loading domain having a plurality of subfields, each subfield being associated with a module of the firmware, the loading domain further having an extension located at a tail of at least a portion of the subfields; generating differential packets according to the new version and the old version of the subdomain to be updated at the server, and sending the differential packets; receiving the differential packet at a terminal device and storing the differential packet in a device firmware update partition of the terminal device
In one embodiment of the application, the capacity of the device firmware update partition is associated with a largest-sized subzone of the plurality of subzones of the load domain.
In an embodiment of the present application, the terminal device includes an operation partition, and the method further includes: obtaining an update package according to the differential package in the device firmware update partition; and sending the update package to the running partition.
In an embodiment of the present application, the partition mode of the running partition is the same as the loading domain, and the extension area of the running partition is used to store a newly added update package.
In one embodiment of the present application, the step of generating the differential packet includes: comparing the new version and the old version of the subdomain to be updated to determine an updated region; and performing differential operation according to the new version updating area and the old version updating area to generate the differential packet.
Compared with the prior art, the application has the following remarkable advantages due to the adoption of the technical scheme:
(1) The loading domain is further divided into a plurality of sub-loading domains in a refinement way, and the idle address space is divided into a plurality of expansion areas corresponding to the sub-loading domains, so that the requirement of the DFU partition capacity is reduced.
(2) The comparator is added, so that the area needing differential operation is reduced, the requirement on temporary exchange space is reduced, and the data volume pushed by OTA upgrading is reduced.
Drawings
In order to make the above objects, features and advantages of the present application more comprehensible, embodiments accompanied with figures are described in detail below, wherein:
FIG. 1 is a schematic diagram of a system for updating firmware;
FIG. 2 is a process diagram of a prior art system for updating firmware;
FIG. 3 is a process diagram of another prior art system for updating firmware;
FIG. 4 is a process diagram of a system for updating firmware according to an embodiment of the application;
FIG. 5 is a flow chart of a method of updating firmware according to an embodiment of the application.
10-firmware updating system
20-firmware updating system
30-firmware updating system
40-firmware updating system
100-difference algorithm
101-last version
102-updated version
103-difference bag
110-run partition
120-DFU partitioning
130-exchange partition
210-BIN load field
211-occupied address space
212-free address space
220-DFU partitioning
221-maximum BIN domain
222 to temporary exchange space
230-run partition
231-actual occupied space
232-free zone
233 to update area
310-BIN load field
311 to part domain
312-free address space
320-DFU partitioning
321-maximum F domain
322-temporary exchange space
330 run partition
331 to update area
332-free zone
401-comparator
402-differentiator
410-server
411-load Domain
411 a-subdomain
411 b-expansion region
420-terminal equipment
421-device firmware update partition
421 a-update partition
421b to temporary exchange space
422-run partition
422 a-child partition
422b to expansion region
422c to update area
430-old version
440 to update area
450-exchange partition
Detailed Description
In order to make the above objects, features and advantages of the present application more comprehensible, embodiments accompanied with figures are described in detail below.
In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present application, but the present application may be practiced in other ways than as described herein, and therefore the present application is not limited to the specific embodiments disclosed below.
As used in the specification and in the claims, the terms "a," "an," "the," and/or "the" are not specific to a singular, but may include a plurality, unless the context clearly dictates otherwise. In general, the terms "comprises" and "comprising" merely indicate that the steps and elements are explicitly identified, and they do not constitute an exclusive list, as other steps or elements may be included in a method or apparatus.
In describing embodiments of the present application in detail, the cross-sectional view of the device structure is not partially exaggerated to a general scale for convenience of explanation, and the schematic drawings are only examples and should not limit the scope of the present application herein. In addition, the three-dimensional dimensions of length, width and depth should be included in actual fabrication.
For ease of description, spatially relative terms such as "under", "below", "beneath", "above", "upper" and the like may be used herein to describe one element or feature's relationship to another element or feature as illustrated in the figures. It will be understood that these spatially relative terms are intended to encompass other orientations of the device in use or operation in addition to the orientation depicted in the figures. For example, if the device in the figures is turned over, elements described as "below" or "beneath" other elements or features would then be oriented "above" the other elements or features. Thus, the exemplary words "below" and "beneath" can encompass both an orientation of above and below. The device may have other orientations (rotated 90 degrees or in other orientations) and the spatially relative descriptors used herein interpreted accordingly. Furthermore, it will be understood that when a layer is referred to as being "between" two layers, it can be the only layer between the two layers, or one or more intervening layers may also be present.
In the context of the present application, a structure described as a first feature being "on" a second feature may include embodiments where the first and second features are formed in direct contact, as well as embodiments where additional features are formed between the first and second features, such that the first and second features may not be in direct contact.
It will be understood that when an element is referred to as being "on," "connected to," "coupled to," or "contacting" another element, it can be directly on, connected or coupled to, or contacting the other element or intervening elements may be present. In contrast, when an element is referred to as being "directly on," "directly connected to," "directly coupled to," or "directly contacting" another element, there are no intervening elements present. Likewise, when a first element is referred to as being "electrically contacted" or "electrically coupled" to a second element, there are electrical paths between the first element and the second element that allow current to flow. The electrical path may include a capacitor, a coupled inductor, and/or other components that allow current to flow even without direct contact between conductive components.
Fig. 1 is a schematic diagram of a system for updating firmware. Referring to fig. 1, first, a differential packet 103 of an update version 102 (bin_v_b) and a last version 101 (bin_v_a) is calculated by a differential algorithm 100 at a server (not shown). The differential packet 103 is then pushed to a terminal device (not shown) via the cloud. Finally, the terminal device builds an updated version using the same differencing algorithm 100 and writes to the DFU partition 120.
In the system 10 for updating firmware shown in FIG. 1, the operating partition 110 is the partition in which the program is running. DFU partition 120 is an OTA update upgraded partition. The switch partition 130 is a backup partition of the normal running version. When the operating partition 110 fails to boot normally or a boot exception occurs after an OTA update, the switch partition 130 needs to be restored to the operating partition 110 to restart. The run partition 110, DFU partition 120, and switch partition 130 are all located in a persistent storage area for data.
The data persistent memory may be located in various non-volatile memory elements, such as elements based on EPROM, EEPROM, NOR FLASH, NAND FLASH, etc., memory technology. The current state of the art is that data permanent storage is based on NOR-Flash storage technology, while the address space is in the FLAT mode, i.e. the addresses of the program run are the same as the load addresses.
Fig. 2 is a process diagram of a prior art system 20 for updating firmware. The firmware update system 20 employs an overall domain differential packet update approach. Referring to FIG. 2, the entire BIN load field 210 is first differentially calculated and differential packets (not shown) are obtained. The differential packet is then pushed to a terminal device (not shown) for updating. Due to the limited memory space of the terminal device, a portion of the space of the additional DFU partition 220 is needed as temporary swap space 222 when the terminal device performs the differentiation and version merge before upgrade. The total space requirements of the actual DFU partition 220 (including the maximum BIN domain 221 and temporary swap space 222) will be greater than the space of the BIN load domain 210. Therefore, the whole domain differential packet update requires high storage capacity for the terminal device. DFU partition 220 is generally configured according to the space size of the entire BIN load domain 210 (including occupied address space 211 and free address space 212).
Fig. 3 is a process diagram of another prior art firmware update system 30. The system 30 for updating firmware employs a partial domain differential packet update. Referring to fig. 3, the BIN load domain 310 is first divided according to software functions, and the BIN load domain 310 is subdivided into a plurality of areas (F domains) such as FA and FB. Meanwhile, the maximum update area is evaluated to obtain a maximum F-domain 321. Then, the server (not shown) calculates only the F-domain (e.g., FA) where the update exists when performing the difference calculation. Thus, the partial-domain differential packet update reduces the space capacity requirement for DFU partition 320, with the space of DFU partition 320 being equal to maximum F-domain 321 plus temporary swap space 322.
The above prior art system for updating firmware has the following two problems: one is that the use of free areas (e.g., free area 232 and free area 332) of the running partitions (e.g., running partition 230 and running partition 330) is not justified. The idle area of the operation partition is reserved for version upgrade expansion, and is not used during normal operation of the terminal equipment, so that the waste of storage space is caused. Secondly, the space capacity of DFU partitions (e.g., DFU partition 220 and DFU partition 320) is not reasonably optimized and the space capacity requirements of the DFU partitions are to be further reduced.
In view of the above problems, the following embodiments of the present application describe a system for updating firmware, which can reduce the need for memory space of a terminal device, and can reduce the amount of data transmitted when updating firmware.
Fig. 4 is a process diagram of a system 40 for updating firmware according to an embodiment of the application. The system 40 for updating firmware is described below in conjunction with fig. 4. The firmware update system 40 includes a server 410 and a terminal device 420. The server 410 has a loading field 411. The load field 411 has a plurality of subfields 411a (e.g., M1, M2, … Mn), each subfield 411a being associated with a module of the firmware. The loading field 411 also has an extension 411b (e.g., IDLE1, IDLE2, … IDLEn) located at the end of at least a portion of the sub-field 411 a. The server 410 is configured to generate differential packets (not shown) based on the new version (e.g., M2) and the old version 430 (e.g., bin_v_a) of the sub-domain 411a to be updated. The terminal device 420 includes a device firmware update partition 421, and the terminal device 420 is configured to receive the differential packets from the server 410 and save them into the device firmware update partition 421.
In some embodiments, the terminal device 420 may be an internet of things terminal. The terminal of the Internet of things is equipment for connecting the sensing network layer and the transmission network layer in the Internet of things to collect data and send the data to the network layer. The terminal of the Internet of things is responsible for multiple functions of data acquisition, preliminary processing, encryption, transmission and the like. The terminal equipment of the internet of things can be divided into a context awareness layer, a network access layer, a network control layer and an application/service layer. Each layer has a corresponding relation with the control equipment at the network side. The internet of things terminal is often in various heterogeneous network environments and has the capability of sensing scene changes. For example, the terminal device senses the change of the environment through a Radio Frequency (RF) module or a sensor module of the front end, and decides the countermeasure to be taken through calculation. The internet of things terminal can be divided into a single function terminal and a general intelligent terminal according to the use expansibility, and can be divided into a data transparent transmission terminal and a non-data transparent transmission terminal according to the transmission path.
It should be appreciated that the subfields 411a of the loading fields 411 may have the same size or may have different sizes. The sizes of the subfields 411a may or may not be related to each other.
In an optimized embodiment of the present application, each sub-field 411a of the loading field 411 has an extension 411b at the end. In some embodiments of the present application, the module of firmware in the system 40 that updates firmware may be a Library (Library). A library is an ordered collection of information such as various standard programs, subroutines, files, and directories thereof that are available for use. It will be appreciated that the libraries of the firmware described above may be static libraries in the form of static links and dynamic libraries in the form of dynamic links.
In one embodiment of the present application, the capacity of the device firmware update partition 421 located in the terminal device 420 is associated with the largest-sized sub-domain among the plurality of sub-domains 411a of the loading domain 411 located in the server 410. It will be appreciated that the correlation may be a positive correlation, a negative correlation, or other manner of correlation. In an optimized embodiment of the present application, the capacity of the device firmware update partition 421 is equal to the largest sub-domain among the sub-domains 411a of the loading domain 411, but the embodiment of the present application is not limited thereto.
In one embodiment of the application, device firmware update partition 421 also includes temporary swap space 421b. In one example shown in fig. 4, device firmware update partition 421 may be divided into update partition 421a and temporary swap space 421b. Accordingly, the capacity of the update partition 421a is associated with the largest-sized subdomain among the plurality of subdomains 411a of the load domain 411.
In one embodiment of the application, terminal device 420 also includes a run-on partition 422, run-on partition 422 configured to receive update packages (not shown) from device firmware update partition 421.
In one embodiment of the application, the run partition 422 is partitioned in the same way as the load domain 411. In one example shown in fig. 4, the running partition 422 may have a plurality of sub-partitions 422a (e.g., M1, M2, … Mn), each sub-partition 422a may be associated with a module of firmware. The run partition 422 also has an extension 422b (e.g., IDLE1, IDEL2, … IDLEn) located at the end of at least a portion of the sub-partition 422a. In some embodiments of the present application, the module of the firmware may be a Library (Library) of firmware.
The extension 422b of the running partition 422 is used to store the newly added update package. For example, referring to fig. 4, the extension area IDLE2 of the sub-partition M2 of the operation partition 422 stores the above-described newly added update package. The updated update area 422c of the updated sub-partition M2 occupies a part of its extension area IDLE 2.
In one embodiment of the application, the server 410 is configured to generate the differential packet as follows: first, a new version (e.g., M2) and an old version 430 (e.g., bin_v_a) of the sub-field 411a to be updated are compared to determine an update region 440. Then, a difference packet is generated by performing a difference operation according to the new version update region 440 and the old version update region 430 (e.g., bin_v_a).
Referring to fig. 4, in some embodiments of the present application, the system 40 for updating firmware further includes a comparator 401 and a differentiator 402. The new version (e.g., M2) and the old version 430 (e.g., bin_v_a) of the sub-domain 411a to be updated in the loading domain 411 are passed through the comparator 401 to obtain the updated region 440. The new version of update region 440 and the old version of update region 430 (e.g., bin_v_a) pass through differentiator 402 to obtain a differential packet. In some examples, the new version of update region 440 may be marked by a start address (e.g., SADDR) and an end address (e.g., EADDR) of the update region 440.
In an embodiment of the present application, the system 40 for updating firmware may further include a switch partition 450. The swap partition 450 is a backup partition of a normal running version. When running partition 422 fails to boot normally or a boot exception occurs after an OTA update, switch partition 450 needs to be restored to running partition 422 to restart.
It should be noted that the running partition 422, the device firmware update partition 421, and the swap partition 450 may all be located in a persistent storage area. For example, a persistent storage area based on NOR FLASH and NAND FLASH, etc. The run partition 422, the device firmware update partition 421, and the swap partition 450 may be in different memories or may be located in different memory areas of the same memory.
It will be appreciated that the Memory (Memory) may be internal Memory (Memory), external Memory, or a combination of both. The memory may be a semiconductor memory unit including Random Access Memory (RAM), read Only Memory (ROM), and CACHE memory (CACHE). The external memory may be of various types such as a hard disk, a floppy disk, an optical disk, a USB flash disk, and the like.
The above embodiments of the present application provide a firmware updating system, which can reduce the requirement for the storage space of the terminal device, and can reduce the amount of data transmitted during firmware updating.
Another aspect of the present application proposes a server for updating firmware. The server for updating the firmware can reduce the requirement on the storage space of the terminal equipment and reduce the data quantity transmitted during updating the firmware.
Referring to fig. 4, the server 410 for updating firmware has a loading field 411. The load field 411 has a plurality of subfields 411a, each subfield 411a being associated with a module of the firmware. The loading field 411 also has an extension 411b located at the end of at least a portion of the sub-field 411 a. The server 410 is configured to generate differential packets based on the new version (e.g., M2) and the old version 430 (e.g., bin_v_a) of the subdomain 411a to be updated.
Another aspect of the present application proposes a terminal device. The terminal device has lower storage space requirement, and simultaneously, the data quantity transmitted during firmware updating can be reduced.
Referring to fig. 4, the terminal device 420 includes a device firmware update partition 421 and a run partition 422. The device firmware update section 421 is configured to hold the differential packet received from the above-described server 410, and generate an update packet from the differential packet.
Run partition 422 has a plurality of sub-partitions 422a. Each sub-partition 422a is associated with a module of firmware. The running partition 422 also has an extension 422b located at the end of at least a portion of the sub-partition 422a, the running partition 422 being configured to receive update packages from the device firmware update partition 421, the extension 422b being for storing newly added update packages.
Another aspect of the present application provides a method of updating firmware. The method for updating the firmware can reduce the requirement on the storage space of the terminal equipment and reduce the data quantity transmitted during updating the firmware.
FIG. 5 is a flow chart of a method of updating firmware according to an embodiment of the application. This process may be implemented in the system shown in fig. 4 or a variation thereof, for example, but is not limited thereto. Referring to fig. 5, the method for updating firmware includes the steps of:
in step 501, the loading field 411 is configured at the server 410. The load field 411 has a plurality of subfields 411a, each subfield 411a being associated with a module of the firmware. The loading field 411 also has an extension 411b located at the end of at least a portion of the sub-field 411 a.
At step 502, a differential packet is generated at the server 410 according to the new version and the old version 430 of the sub-domain 411a to be updated and sent.
In one embodiment of the present application, the step of generating the differential packet includes: comparing the new version and the old version 430 of the sub-field 411a to be updated to determine an update region 440; differential packets are generated by performing differential operations based on the new version update region 440 and the old version 430 update region 440.
In step 503, the differential packet is received at the terminal device 420 and stored in the device firmware update partition 421 of the terminal device 420.
In one embodiment of the application, the capacity of the device firmware update partition 421 is associated with the largest size subdomain 411a of the plurality of subdomains 411a of the load domain 411.
In an embodiment of the present application, the terminal device 420 includes an operation partition 422, and the method for updating firmware further includes: obtaining an update package at the device firmware update partition 421 according to the differential package; and send update packages to the running partition 422.
In one embodiment of the present application, the partition of the running partition 422 is the same as the loading domain 411, and the extension 411b of the running partition 422 is used to store the newly added update package.
The above embodiments of the present application provide a method of updating firmware. The method for updating the firmware can reduce the requirement on the storage space of the terminal equipment and reduce the data quantity transmitted during updating the firmware. Additional implementation details of the method of this embodiment may be found in the embodiment described with reference to fig. 4 and will not be further elaborated here.
The application uses specific words to describe embodiments of the application. Reference to "one embodiment," "an embodiment," and/or "some embodiments" means that a particular feature, structure, or characteristic is associated with at least one embodiment of the application. Thus, it should be emphasized and should be appreciated that two or more references to "an embodiment" or "one embodiment" or "an alternative embodiment" in various positions in this specification are not necessarily referring to the same embodiment. Furthermore, certain features, structures, or characteristics of one or more embodiments of the application may be combined as suitable.
While the application has been described with reference to the specific embodiments presently, it will be appreciated by those skilled in the art that the foregoing embodiments are merely illustrative of the application, and various equivalent changes and substitutions may be made without departing from the spirit of the application, and therefore, all changes and modifications to the embodiments are intended to be within the scope of the appended claims.

Claims (14)

1. A system for updating firmware, comprising:
a server having a load domain with a plurality of subfields, each subfield being associated with a module of the firmware, the load domain further having an extension located at the tail of at least a portion of the subfields, the server being configured to generate differentiation packets according to new and old versions of the subfields to be updated; and
the terminal equipment comprises an equipment firmware updating partition and an operation partition, wherein the terminal equipment is configured to receive the differential packet from the server and store the differential packet into the equipment firmware updating partition, the operation partition is configured to receive the updating packet from the equipment firmware updating partition, and the equipment firmware updating partition and the operation partition are independent from each other.
2. The system of claim 1, wherein a capacity of the device firmware update partition is associated with a largest-sized subzone of the plurality of subzones of the load domain.
3. The system of claim 1, wherein the device firmware update partition comprises a temporary swap space.
4. The system of claim 1, wherein the run partition is partitioned in the same manner as the load domain, and wherein an extension of the run partition is configured to store a newly added update package.
5. The system of claim 1, wherein the module of firmware is a library of the firmware.
6. The system of claim 1, wherein the server is configured to generate the differential packets as follows:
comparing the new version and the old version of the subdomain to be updated to determine an updated region; and
and carrying out differential operation according to the new version updating area and the old version updating area to generate the differential packet.
7. The system of claim 1, wherein the terminal device is an internet of things terminal.
8. A server for updating firmware, having a loading domain with a plurality of subfields, each subfield being associated with a module of the firmware, the loading domain further having an extension at the end of at least part of the subfields, the server being configured to generate differentiation packets according to new and old versions of the subfields to be updated.
9. A terminal device, comprising:
the device firmware updating partition is configured to store the differential packet received from the server and generate an updating packet according to the differential packet;
a run-on partition having a plurality of sub-partitions, each sub-partition associated with a module of the firmware, the run-on partition further having an extension located at the end of at least a portion of the sub-partitions, the run-on partition configured to receive update packages from the device firmware update partition, the extension for storing newly added update packages.
10. A method of updating firmware, comprising the steps of:
configuring a loading domain at a server, the loading domain having a plurality of subfields, each subfield being associated with a module of the firmware, the loading domain further having an extension located at a tail of at least a portion of the subfields;
generating differential packets according to the new version and the old version of the subdomain to be updated at the server, and sending the differential packets; and
receiving the differential packet at a terminal device and storing the differential packet into a device firmware update partition of the terminal device; wherein,
the terminal device also includes a run partition configured to receive an update package from the device firmware update partition, and the device firmware update partition and the run partition are independent of each other.
11. The method of claim 10, wherein a capacity of the device firmware update partition is associated with a largest-sized subzone of the plurality of subzones of the load domain.
12. The method as recited in claim 10, further comprising:
obtaining an update package according to the differential package in the device firmware update partition; and
and sending the update package to the running partition.
13. The method of claim 12, wherein the running partition is partitioned in the same manner as the loading domain, and wherein an extension of the running partition is used to store a newly added update package.
14. The method of claim 10, wherein the step of generating the differential packet comprises:
comparing the new version and the old version of the subdomain to be updated to determine an updated region; and
and carrying out differential operation according to the new version updating area and the old version updating area to generate the differential packet.
CN201910579235.3A 2019-06-28 2019-06-28 System and method for updating firmware Active CN110275728B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910579235.3A CN110275728B (en) 2019-06-28 2019-06-28 System and method for updating firmware

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910579235.3A CN110275728B (en) 2019-06-28 2019-06-28 System and method for updating firmware

Publications (2)

Publication Number Publication Date
CN110275728A CN110275728A (en) 2019-09-24
CN110275728B true CN110275728B (en) 2023-11-07

Family

ID=67963575

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910579235.3A Active CN110275728B (en) 2019-06-28 2019-06-28 System and method for updating firmware

Country Status (1)

Country Link
CN (1) CN110275728B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111045714B (en) * 2019-12-19 2022-03-01 歌尔股份有限公司 Firmware updating method and device, earphone and computer readable storage medium
CN113950118B (en) * 2021-10-14 2023-04-28 四川九州电子科技股份有限公司 Mesh-based software upgrading method

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101778376A (en) * 2009-12-31 2010-07-14 中兴通讯股份有限公司 Method and device for realizing wireless firmware update
CN103577202A (en) * 2012-07-23 2014-02-12 深圳市中兴移动通信有限公司 Software upgrading method and system
CN104932909A (en) * 2014-03-17 2015-09-23 中兴通讯股份有限公司 Terminal software upgrading method and device
CN105573780A (en) * 2015-12-08 2016-05-11 北京元心科技有限公司 Container based mobile terminal operation system upgrading method and apparatus
CN105812178A (en) * 2016-03-08 2016-07-27 青岛海信移动通信技术股份有限公司 Terminal upgrade method and terminal
CN106686578A (en) * 2016-12-28 2017-05-17 深圳天珑无线科技有限公司 Difference package generation method and apparatus
CN107273160A (en) * 2017-06-09 2017-10-20 青岛海信电器股份有限公司 A kind of method and device of edition upgrading
CN109558160A (en) * 2017-09-26 2019-04-02 阿里巴巴集团控股有限公司 Upgrade method, embedded system

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101778376A (en) * 2009-12-31 2010-07-14 中兴通讯股份有限公司 Method and device for realizing wireless firmware update
CN103577202A (en) * 2012-07-23 2014-02-12 深圳市中兴移动通信有限公司 Software upgrading method and system
CN104932909A (en) * 2014-03-17 2015-09-23 中兴通讯股份有限公司 Terminal software upgrading method and device
CN105573780A (en) * 2015-12-08 2016-05-11 北京元心科技有限公司 Container based mobile terminal operation system upgrading method and apparatus
CN105812178A (en) * 2016-03-08 2016-07-27 青岛海信移动通信技术股份有限公司 Terminal upgrade method and terminal
CN106686578A (en) * 2016-12-28 2017-05-17 深圳天珑无线科技有限公司 Difference package generation method and apparatus
CN107273160A (en) * 2017-06-09 2017-10-20 青岛海信电器股份有限公司 A kind of method and device of edition upgrading
CN109558160A (en) * 2017-09-26 2019-04-02 阿里巴巴集团控股有限公司 Upgrade method, embedded system

Also Published As

Publication number Publication date
CN110275728A (en) 2019-09-24

Similar Documents

Publication Publication Date Title
CN110275728B (en) System and method for updating firmware
CN112328435B (en) Method, device, equipment and storage medium for backing up and recovering target data
US8862915B2 (en) Gateway card, gateway device, method of controlling gateway card, and computer product
CN101765837B (en) Firmware retrieval across a network
US20070294685A1 (en) Program upgrade system and method for ota-capable portable device
CN100517270C (en) Semiconductor device having flash memory
GB2406932A (en) Method for dynamic memory management within an object-oriented program
EP1542129A2 (en) Flash memory and mapping control apparatus and method for flash memory
CN112000277B (en) Method, device and equipment for copying simplified backup file and readable storage medium
CN111124464A (en) Method and system for differential upgrade of embedded system and computer readable storage medium
WO2018145392A1 (en) Differential update method and device, terminal, storage medium, and processor
CN115774703A (en) Information processing method and device
CN106354718B (en) File management method and device of user identification module
CN114360619A (en) Test method, test device, terminal and storage medium
CN1258190C (en) Method for identifying integrated circuit
CN111124294B (en) Sector mapping information management method and device, storage medium and equipment
EP4107614A1 (en) Method for updating applications in cloud environments
CN110661903A (en) Cloud platform route management method and device
CN114443223A (en) Bare computer disk management method, device and medium
CN111722802B (en) Storage space allocation method, device and equipment for metadata LSA volume
CN107908500A (en) A kind of bad block identifying method and device
EP3407633B1 (en) A method of managing integrated circuit cards, corresponding card and apparatus
CN110717074B (en) Object persistence methods, apparatus, media and systems
KR20060095393A (en) Method and apparatus of application program dynamic loading for mobile phone
CN113448971A (en) Data updating method based on distributed system, computing node 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
GR01 Patent grant
GR01 Patent grant