Allocating Compression-Based Firmware Over the Air
First Claim
1. Computer readable medium containing software instruction operable when executed for providing an image for use in a mobile device, the software instructions when executed performing a method comprising:
- selecting object files that include at least some code and some data for use by the mobile device;
generating components from the object files;
dividing a size of a selected one of the components by a size of a logical block to determine a number of logical blocks to allocate for the selected component;
rounding up the number of logical blocks to allocate for the selected component to an integer multiple of the size of the logical block;
establishing a unique address for the selected component based on the integer multiple of the size of the logical block; and
generating a memory layout including each unique address.
1 Assignment
0 Petitions
Accused Products
Abstract
Computer readable medium, a system, and a method for providing an image for use in a mobile device are provided. Object files are selected that include at least some code and some data for use by the mobile device. Components are generated from the object files. A size of a component is divided by a size of a logical block to determine a number of logical blocks to allocate for the component. The number of logical blocks to allocate for the component is rounded up to an integer multiple of the size of the logical block. A unique address is established for each component based on the integer multiple of the size of the logical block. A memory layout is generated including each unique address. Each component is loaded at its corresponding unique address to provide the image.
145 Citations
20 Claims
-
1. Computer readable medium containing software instruction operable when executed for providing an image for use in a mobile device, the software instructions when executed performing a method comprising:
-
selecting object files that include at least some code and some data for use by the mobile device; generating components from the object files; dividing a size of a selected one of the components by a size of a logical block to determine a number of logical blocks to allocate for the selected component; rounding up the number of logical blocks to allocate for the selected component to an integer multiple of the size of the logical block; establishing a unique address for the selected component based on the integer multiple of the size of the logical block; and generating a memory layout including each unique address. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for providing an image for use in a mobile device, comprising:
-
an image creation system comprising a processor programmed to select object files that include at least some code and some data for use by the mobile device, the processor further programmed to generate components from the object files; and the mobile device comprising a processor and a firmware-over-the-air engine, the firmware-over-the-air engine when executed by the processor on the mobile device divides a size of a selected one of the components by a size of a logical block to determine a number of logical blocks to allocate for the selected component, the firmware-over-the-air engine to round up the number of logical blocks to allocate for the selected component to an integer multiple of the size of the logical block and to establish a unique address for the selected component based on the integer multiple of the size of the logical block, the firmware-over-the-air engine further to generate a memory layout including each unique address and to load the components at its corresponding unique address to provide the image. - View Dependent Claims (12)
-
-
13. A method for updating an image for use in a mobile device, comprising:
-
selecting object files that include at least some code and some data for use by the mobile device; generating components from the object files; dividing a size of a selected one of the components by a size of a logical block to determine a number of logical blocks to allocate for the selected component; rounding up the number of logical blocks to allocate for the selected component to an integer multiple of the size of the logical block; creating a delta between the object files and original object files; forming at least one updated component from the delta and an original component; establishing a unique address for each updated component based on the integer multiple of the size of the logical block; generating a memory layout including each unique address; and loading each updated component at its corresponding unique address to provide an updated image. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
Specification