Systems and methods for revising permanent ROM-based programming
First Claim
1. An analyte monitoring device, comprising:
- a processor adapted to execute application software; and
a non-transitory computer readable medium, including;
a non-transitory read-only memory (ROM) with a permanently coded memory layout, the ROM having a function lookup data structure and a first function stored thereon, the function lookup data structure comprising an identifier for the first function and a first address of where the first function is stored; and
a non-transitory writable memory having a revision lookup data structure stored thereon,wherein the non-transitory computer readable medium comprises a program that, when executed, causes the processor to perform;
(a) copying the function lookup data structure including the identifier from the ROM to the writable memory;
(b) referencing the revision lookup data structure, wherein the revision lookup data structure can include the identifier for the first function and a second address of where a replacement function for the first function is stored; and
(c) if the identical identifier for the first function is present in the revision lookup data structure upon referencing the revision lookup table, then replacing the first address of the first function in the function lookup data structure with the second address of the replacement function.
1 Assignment
0 Petitions
Accused Products
Abstract
An application program stored in a ROM includes a function lookup data structure in which functions called by the application program have identifiers and memory addresses at which the function is located and can be executed. Upon startup, the function lookup data structure is copied to a RAM as a revised lookup data structure and is compared to a revision lookup data structure also written to that RAM or elsewhere. If the revision lookup data structure contains replacement functions having the same function identifiers but new memory addresses, these new memory addresses are written over the existing addresses in the revised lookup data structure for those replacement functions. The application program refers to the revised lookup data structure to find and execute the functions; thus the original application program on the ROM can continue to be used with revised functions.
-
Citations
19 Claims
-
1. An analyte monitoring device, comprising:
-
a processor adapted to execute application software; and a non-transitory computer readable medium, including; a non-transitory read-only memory (ROM) with a permanently coded memory layout, the ROM having a function lookup data structure and a first function stored thereon, the function lookup data structure comprising an identifier for the first function and a first address of where the first function is stored; and a non-transitory writable memory having a revision lookup data structure stored thereon, wherein the non-transitory computer readable medium comprises a program that, when executed, causes the processor to perform; (a) copying the function lookup data structure including the identifier from the ROM to the writable memory; (b) referencing the revision lookup data structure, wherein the revision lookup data structure can include the identifier for the first function and a second address of where a replacement function for the first function is stored; and (c) if the identical identifier for the first function is present in the revision lookup data structure upon referencing the revision lookup table, then replacing the first address of the first function in the function lookup data structure with the second address of the replacement function. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. An integrated circuit controlled by an application program to process signals, the integrated circuit comprising:
-
a processor; a non-transitory read-only memory (ROM) with a permanently coded memory layout in which is stored a data processing application program, an original function lookup data structure, and a plurality of original functions, wherein the original function lookup data structure includes an identifier for each of the original functions and a memory address at which each of the original functions is located; and a non-transitory writable memory in which is stored a revision lookup data structure that includes identifiers and memory addresses for any replacement functions for the original functions, wherein all identifiers for replacement functions are identical to all identifiers for original functions which they are respectively replacing and wherein replacement functions have different memory addresses from the memory addresses of the original functions they are replacing; wherein the processor is programmed to; (a) copy the original function lookup data structure, including the identifier for each of the original functions, from the ROM to the writable memory as a revised function lookup data structure; (b) compare the revision lookup data structure to the revised function lookup data structure to determine if the revision lookup data structure includes a change to the original function lookup data structure that was copied to the writable memory as the revised function lookup data structure; (c) if the revision lookup data structure includes a change to the original function lookup data structure copied to the writable memory as the revised lookup data structure, incorporate the change into the revised function lookup data structure and run the data processing application program using the revised function lookup data structure to locate and execute functions when such are called by the data processing application program; and (d) if the revision lookup data structure does not include a change to the original function data structure copied to the writable memory as the revised lookup data structure, access the ROM to load and run the data processing application program using the revised function lookup data structure as it was copied from the original function lookup data structure on the ROM to locate and execute functions when such are called by the data processing application program. - View Dependent Claims (16, 17, 18, 19)
-
Specification