Initialization and update of software and/or firmware in electronic devices
First Claim
Patent Images
1. A system for initializing a memory and updating software in an electronic device comprising:
- a generator for generating a software package for incorporation into a device memory of said electronic device;
a binary image creator for generating a binary pattern for writing into said device memory of said electronic device;
a layout preprocessor for implementing a memory layout specification into software code, mapping configuration parameters associated with said layout specification, and incorporating reserved buffer spacing for use by said generator;
a software repository for storing said software package or said binary pattern; and
a user interface for inputting said layout specification directly into said layout preprocessor.
3 Assignments
0 Petitions
Accused Products
Abstract
A system and method to effectively and efficiently update a version of firmware resident in a device memory is provided. A method of identifying one or more versions of firmware is provided by way of initializing a device memory with a known pattern. In addition, the amount of free unused memory space may be identified and calculated in a device memory. The system and method generates software update packages that are minimal in size providing cost benefit to a manufacturer and convenience to a user.
-
Citations
35 Claims
-
1. A system for initializing a memory and updating software in an electronic device comprising:
-
a generator for generating a software package for incorporation into a device memory of said electronic device;
a binary image creator for generating a binary pattern for writing into said device memory of said electronic device;
a layout preprocessor for implementing a memory layout specification into software code, mapping configuration parameters associated with said layout specification, and incorporating reserved buffer spacing for use by said generator;
a software repository for storing said software package or said binary pattern; and
a user interface for inputting said layout specification directly into said layout preprocessor. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method of updating software in a device memory of an electronic device comprising:
-
obtaining a memory layout specification;
processing said layout specification;
generating a software update package for loading into said electronic device; and
processing said update package within said electronic device to form a new image into said device memory. - View Dependent Claims (17, 19, 20)
-
-
18. The method of claim 116 wherein said obtaining layout specification is performed by way of input of data from a user through a user interface.
-
21. A method of identifying free space within a device memory of an electronic device comprising:
-
obtaining a memory layout specification;
generating one or more predetermined binary pattern(s) based on said memory layout specification; and
initializing said device memory with said binary pattern(s). - View Dependent Claims (22, 23, 24, 25)
-
-
26. A method of differentiating versions of one or more software modules stored in a device memory of an electronic device comprising:
-
initializing a device memory with one or more predetermined binary patterns;
loading one or more predetermined software modules onto said device memory;
providing free space for one or more software modules in said device memory; and
storing a memory image of result of said initializing, loading, and providing, into a software repository.
-
-
27. A method of minimizing shifting or relocation of software addresses and references within a device memory of an electronic device comprising providing free space between successive software modules to accommodate for future expansion.
-
28. A method of minimizing shifting of software addresses and references within a device memory of an electronic device comprising:
-
determining an amount of memory space required by one or more software modules resident in said electronic device;
determining total size of memory space available in device memory from a memory layout specification;
calculating an available free space;
grouping of said one or more software modules into one or more slots based on one or more factors; and
assigning a fraction of said available free space to one or more slots based on one or more parameters. - View Dependent Claims (29, 30, 31, 32, 33)
-
- 34. A system for creating a memory image for an electronic device comprising a layout preprocessor for introducing free buffer spaces between a plurality of software modules in said memory image.
Specification