Object ordering tool for facilitating generation of firmware update friendly binary image
First Claim
Patent Images
1. A system for generating updating information for updating code in an electronic device, the system comprising:
- a server including a processor and memory, the memory having stored thereon a first binary memory image comprising a first plurality of code objects wherein each of the plurality of code objects corresponds with a unique memory portion of a plurality of memory portions of the electronic device;
object ordering software executable on the processor, the object ordering software capable of determining an object order in which the first plurality of code objects occur in the first binary memory image according to their base address and configured to concentrate object ordering changes to a least number of sectors of the memory for minimizing a time it takes to update the information by configuring the object order with new objects being added to the end of the order, wherein the determining of object order is done based on memory layout and rules defined in a script file or scatter file;
generator software capable of generating difference information using the first binary image, wherein the difference information is generated by using the object order of the first plurality of code objects as a base to compare with an order in the updated plurality of code objects to determine objects not present and thereby considered to be difference information; and
wherein the generator employs the object order and the difference information in generating the updating information.
8 Assignments
0 Petitions
Accused Products
Abstract
An object ordering tool analyzes output from a linker to determine ordering of code objects in first and second firmware binary images. The tool produces a linker script file used by the linker to link the code objects of the second firmware binary image in a more optimal order for production of updating information used in the electronic device for updating firmware of the electronic device.
71 Citations
19 Claims
-
1. A system for generating updating information for updating code in an electronic device, the system comprising:
-
a server including a processor and memory, the memory having stored thereon a first binary memory image comprising a first plurality of code objects wherein each of the plurality of code objects corresponds with a unique memory portion of a plurality of memory portions of the electronic device; object ordering software executable on the processor, the object ordering software capable of determining an object order in which the first plurality of code objects occur in the first binary memory image according to their base address and configured to concentrate object ordering changes to a least number of sectors of the memory for minimizing a time it takes to update the information by configuring the object order with new objects being added to the end of the order, wherein the determining of object order is done based on memory layout and rules defined in a script file or scatter file; generator software capable of generating difference information using the first binary image, wherein the difference information is generated by using the object order of the first plurality of code objects as a base to compare with an order in the updated plurality of code objects to determine objects not present and thereby considered to be difference information; and wherein the generator employs the object order and the difference information in generating the updating information. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method of generating updating information for updating at least one of:
- firmware and software in an electronic device, the method comprising;
linking code objects for a first binary image according to their base address using a first set of linker information, the linking producing first object mapping information; linking code objects for a second binary image using a second set of linker information, the linking producing second object mapping information; analyzing the first object mapping information and the second object mapping information to determine object order for code objects in the second binary image wherein each of the code objects corresponds with a unique memory portion of the electronic device, wherein the determining of object order is done based on memory layout and rules defined in a script file or scatter file; concentrating object ordering changes to a least number of sectors of the memory for minimizing a time it takes to update the information; generating updated linker information for linking code objects in the second binary image wherein the linker information is generated by using the object order of the first plurality of code objects as a base to compare with an order in the updated plurality of code objects to determine objects not present and thereby considered to be difference information; linking the code objects in the second binary image using the second linker information, to produce a final binary image; and maintaining locality of references within individual sectors of the memory by adding new objects at an end of the final binary image. - View Dependent Claims (16, 17, 18, 19)
- firmware and software in an electronic device, the method comprising;
Specification