The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.
The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.
Patent No.:
Date of Patent:
Oct. 15, 1996
Filed:
Mar. 16, 1993
Mark Nash, Lyons, CO (US);
Mark Jedrzejewski, Ft. Collins, CO (US);
Hewlett-Packard Company, Palo Alto, CA (US);
Abstract
Firmware updates for embedded systems are accomplished by using PROM in favor of conventional ROM, dividing the PROM into pages zero, one, two, etc., that can each contain an entire version of the embedded system. Pages of PROM are addressable by MSB address bits that originate from a circuit that selects page zero upon power-up, and that is responsive to a command in the firmware of the embedded system to increment the value of the MSB address bits. Upon initial fabrication, a product containing the embedded system has entirely unprogrammed PROM. An initial embedded system is zapped into page zero when the product is tested after being turned on for the first time. Replacement versions can be zapped into successive pages as the need arises. Each version includes an initialization routine and its own Get Next Page (GNP) bit. If a version is superseded by another, the old version indicates this by a GNP bit that gets programmed on the old page at the same time the replacement version is zapped into the new page. When that GNP bit is checked by its initialization routine the page selecting MSB address bits are incremented and the micro-processor executing the embedded system is reset; it now runs the initialization routine of the replacement version on the next page, which if not itself replaced, eventually branches out of the initialization routine to the main code of the replacement embedded system.