System for extending functionality of a digital ROM using RAM/ROM jump tables and patch manager for updating the tables
First Claim
1. An extensible digital system comprising:
- an imaging device for capturing and converting images to a digital data set;
a first memory, for providing data and commands;
a control application stored in said first memory and including a plurality of routines for providing functionality to said imaging device;
original function pointers stored in said first memory, for calling said routines;
a second memory, for storing data and commands, and for storing digital data sets generated by said imaging device;
at least one extension stored in said second memory for providing additional functionality for said imaging device;
working function pointers stored in said second memory, for calling said routines and said extension;
a symbol file stored in said second memory for updating said working function pointers;
a patch manager stored in said first memory for copying said original function pointers to said working function pointers for generating a symbol table from said symbol file and storing said symbol table in said second memory and for updating said working function pointers, said symbol table being disposable after said working function pointers have been updated; and
a processing unit coupled to said first and second memories for processing said routines, said extension, and said patch manager.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for extending the functionality of a digital system is disclosed. The system includes a read-only memory (ROM) for storing an extendible control application, a processing unit for executing the code stored in ROM, an imaging device for capturing optical images and converting them to digital code, random-access memory (RAM) for providing working memory for the processing unit and storage for files and images, an input-output (I/O) device for receiving user input and communicating with a host computer to transfer images and files, and an optional removable memory for providing storage for images and a means for introducing extensions into the system. The ROM image includes a patch manager and function pointers which, together, permit the redirection of the program execution sequence. New pieces of code (extensions) can, through such redirection, be incorporated into the original, non-modifiable control application, to supplement or replace routines of the original control application.
-
Citations
17 Claims
-
1. An extensible digital system comprising:
-
an imaging device for capturing and converting images to a digital data set; a first memory, for providing data and commands; a control application stored in said first memory and including a plurality of routines for providing functionality to said imaging device; original function pointers stored in said first memory, for calling said routines; a second memory, for storing data and commands, and for storing digital data sets generated by said imaging device; at least one extension stored in said second memory for providing additional functionality for said imaging device; working function pointers stored in said second memory, for calling said routines and said extension; a symbol file stored in said second memory for updating said working function pointers; a patch manager stored in said first memory for copying said original function pointers to said working function pointers for generating a symbol table from said symbol file and storing said symbol table in said second memory and for updating said working function pointers, said symbol table being disposable after said working function pointers have been updated; and a processing unit coupled to said first and second memories for processing said routines, said extension, and said patch manager. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method for creating an extensible digital system, comprising the steps of:
-
providing an imaging device for generating digital image sets; storing an extendible control application including a plurality of routines in a first memory to provide functionality to said imaging device; storing original function pointers into said first memory for calling said routines; providing a second memory, for storing data and commands, and for storing digital image sets generated by said imaging device; storing an extension into said second memory to provide additional functionality to said imaging devices; storing working function pointers into said second memory, for calling said routines and said extension; storing a symbol file into said second memory, for updating said working function pointers; storing a patch manager into said first memory, for copying said original function pointers to said working function pointers, for generating a symbol table from said symbol file and storing said symbol table in said second memory, and for updating said working function pointers, said symbol table being disposable after said working function pointers have been updated; and incorporating said extension into said control application to provide a fully functional extended system. - View Dependent Claims (15)
-
-
16. An extensible digital system comprising:
-
imaging means for capturing and converting images to a digital data set; first memory means, for providing data and commands, including a control application having a plurality of routines for providing functionality to said imaging means, and original pointing means for calling said routines; second memory means, for storing data and commands, and for storing said digital data set, including at least one extension for providing additional functionality for said digital system and working pointing means for calling said routines and said extension, and a symbol file for updating said working pointing means; patching means stored in said first memory means, for copying said original pointing means to said working pointing means, for generating a symbol table from said symbol file and storing said symbol table in said second memory means, and for updating said working pointing means, said symbol table being disposable after said working pointing means has been updated; and processing means, coupled to said first and second memory means, for processing said routines, said extension, and said patching means. - View Dependent Claims (17)
-
Specification