WO1996002034A1 - Updating firmware - Google Patents

Updating firmware Download PDF

Info

Publication number
WO1996002034A1
WO1996002034A1 PCT/US1995/007872 US9507872W WO9602034A1 WO 1996002034 A1 WO1996002034 A1 WO 1996002034A1 US 9507872 W US9507872 W US 9507872W WO 9602034 A1 WO9602034 A1 WO 9602034A1
Authority
WO
WIPO (PCT)
Prior art keywords
recited
computer
card
firmware
microprocessor
Prior art date
Application number
PCT/US1995/007872
Other languages
French (fr)
Inventor
Richard J. Andreano
Jeffrey W. Hansen
Gary J. Kuehn
Original Assignee
Grumman Aerospace Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Grumman Aerospace Corporation filed Critical Grumman Aerospace Corporation
Publication of WO1996002034A1 publication Critical patent/WO1996002034A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Definitions

  • This invention generally relates to microprocessor- based systems, and more particularly to a method for updating the firmware of a microprocessor system which stores its firmware in a programmable memory.
  • microprocessor systems may be designed to perform a dedicated application or to fulfill a specific operational requirement. These systems are usually embodied within 2 printed circuit cards (also known as boards) adapted for installation into a personal computer (PC) , and for this reason have become known as "PC cards.” Examples of these types of systems include graphics accelerator boards, emulation boards, self-test diagnostic cards, adapter cards, and frame grabber cards designed to perform a variety of image processing functions.
  • PC cards personal computer
  • the "firmware" of a microprocessor system refers to control and application programs stored in a non-volatile memory which are used to drive a microprocessor to perform its dedicated application.
  • firmware will not be altered once fixed in a non-volatile memory by the manufacturer, but there are some exceptions.
  • Firmware must be updated, for example, whenever the microprocessor system is required to perform functions or fulfill requirements different from those originally intended, or to correct errors in the firmware which were not detected at the time of manufacture.
  • firmware of a microprocessor system is updated is a function of the particular type of non-volatile memory used to store the firmware.
  • Conventional microprocessor systems use erasable programmable read only memories (EPROMs) to perform this task.
  • EPROMs erasable programmable read only memories
  • the board embodying the system first must be removed from the personal computer in which it is installed.
  • the EPROM containing the system firmware then must be removed from the board by a skilled technician and either replaced with a new EPROM bearing the updated version of the firmware or subjected to a reprogra ⁇ uning process, which involves erasing the entire contents of the EPROM using ultraviolet light and reprogramming the EPROM using known methods.
  • the board containing the updated firmware must be reinstalled into the personal computer.
  • EEPROMs electrically erasable programmable read only memories
  • An EEPROM-type memory is preferable to an EPROM because the former may be updated without requiring a technician to remove the board. This advantage alone is enough to lower the cost and increase the efficiency of the updating process compared with EPROM-based systems. EEPROMs also can be selectively erased and demonstrate faster write times compared with EPROMs.
  • EEPROM electrically erasable read-only memory
  • the write times of EEPROMs are slow compared with other memory devices.
  • EEPROMs must be supported by independent, on-board power sources which consume board space and add to the cost of employing the system. The need for independent power sources makes EEPROM-based microprocessor systems potentially less reliable than those which utilize non-volatile mass storage devices which can operate off of the power supply of a personal computer.
  • U.S. Patent No. 5,195,130 to Weiss et al. discloses a method for reconfiguring a programmable gate array (PGA) chip to enable a telephone to communicate with a variety of service bureaus. Reconfiguring the PGA is made possible by downloading operating software from a host computer into a FLASH-EPROM in the telephone.
  • PGA programmable gate array
  • Microprocessor systems are different from PGA-based systems.
  • microprocessor systems can be programmed with appropriate firmware to perform a wide variety of functions. These systems generally are limited only by the imagination of the firmware designer.
  • PGA-based systems are hardware-based devices limited by the number of gates on the PGA chip. These systems therefore can perform comparatively fewer functions than microprocessor systems.
  • programming a microprocessor system is different from programming a PGA-based system.
  • the type of firmware used to drive a microprocessor system can be varying and diverse.
  • the software of a PGA-based system can only be of a type designed to reconfigure the gates of the PGA to perform its limited function, as in the case of the Weiss system where the operating software can only be of a type designed to facilitate communication between the Weiss telephone and the service bureaus.
  • SUMMARY OF THE INVENTION It is a principal objective of the present invention to provide a method for programming a microprocessor system to perform a wide range of functions, which method can be accomplished without having to remove the system from the personal computer in which it is installed, and further without realizing the drawbacks associated with systems that use conventional programmable memories.
  • a PC card embodying a microprocessor system whose firmware may be updated in accordance with the method of the present invention includes: 1) a microprocessor; 2) at least one FLASH memory chip; 3) a program loader; 4) an update module; and 5) a serial port for enabling the microprocessor to communicate with a peripheral unit.
  • a preferred embodiment of the method of the present invention involves: interrogating an on-board serial data port for the presence of a signal from a host computer; shifting control of an on-board program loader and update module to the host computer when such a signal is detected; downloading one or more computer programs from the host computer into the program loader; and updating, under the control of the update module, the firmware stored in the FLASH memories with the computer programs stored in the program loader.
  • Figure l is a diagram of a microprocessor board which includes at least one FLASH memory chip containing firmware which may be updated in accordance with the method of the present invention.
  • Figure 2 is a flow diagram detailing steps included within the method of the present invention.
  • the present invention is a method for programming the firmware of a microprocessor system which may be embodied within a PC card adapted for installation into embedded or industry standard architectures such as ISA, VME, or VXI.
  • the PC card preferably has a generic card configuration design including holes, rail guides, optional card ejectors, and a card connector which is either the right-angle or straight-pin-and-socket type.
  • the card connector also may be of a type which permits the PC card to reside in a bucket-and-motherboard environment, card stackable environment, or a stand-alone environment.
  • the PC card 8 includes an on ⁇ board microprocessor 1, at least one FLASH memory chip 2, a program loader 3, an update module 4, and a set of terminals (not shown) for communicating with other PC cards.
  • the card may also be equipped with at least one serial port 5 which enables it to communicate with a peripheral unit 7 through an RS-232 interface 6.
  • the use of an RS-232 channel advantageously allows the PC card to communicate with different types of peripherals independent of the operating system of the computer.
  • the peripheral may be a host computer system such as a Sun microcomputer, a VAX, or a personal computer.
  • Firmware for the microprocessor system is stored within the FLASH memory and may include application programs as well as any microprogram governing'the internal control of the microprocessor system, such as the Basic Input/Output System (BIOS) of the microprocessor.
  • BIOS Basic Input/Output System
  • the application and control programs stored in FLASH memory determine the specific functions and applications the card •will perform.
  • the PC card for example, may be programmed to serve as a processing unit for an avionic bus analyzer, a controller for portable maintenance aids for aircraft and other vehicles, a memory loader verifier, and a primary controller for all new organizational level test sets.
  • a preferred embodiment of the method of the present invention is carried out in accordance with a special control program stored in a portion of the FLASH memory which may or may not be subject to modification.
  • the microprocessor upon system initialization (i.e., when power is applied to the PC card) , interrogates the RS-232 serial porr on the PC card for the presence of a signal from an external host computer system. If no such signal is detected, the PC card performs its intended function by executing the firmware already stored in the FLASH memory of the PC card.
  • the host computer system is given control of the PC card program loader and update module.
  • the host computer system then downloads one or more computer programs into the program loader through the RS-232 serial port.
  • the update module seizes control of the program loader and updates the firmware in the FLASH memory by, one, erasing selected portions of the firmware in the FLASH memory and, two, replacing those portions with the one or more computer programs stored in the program loader.
  • control is given back to the PC card microprocessor.
  • a firmware update is warranted, for example, to change the specific applications or functions to be performed by the PC card, to correct errors contained within the firmware, or to enable the PC card to communicate with a variety of different peripheral units, a function that will be developed in greater detail infra.
  • a FLASH memory to store the firmware of the PC card is advantageous in several respects.
  • One important advantage is the ability to update the contents of a FLASH memory without ever having to disassemble the memory or the PC card from the system.
  • An update can be performed electronically without the assistance of a technician while the PC card remains installed in the system in an end item configuration. This substantially reduces the cost and time associated with the firmware update process.
  • the firmware stored in a FLASH memory may be updated independent of the operating system of the personal computer.
  • a FLASH memory may be selectively erased unlike EPROM-type memories.
  • FLASH memories have write times which are faster than conventional non-volatile, programmable read-only memory devices such as EEPROMs. And, FLASH memories are • more economical and reliable to use compared with conventional memories because they are able to operate from the system power.
  • a FLASH- memory-based PC card uses a microprocessor having built-in power management hardware under BIOS control, such as the Intel 386SL microprocessor set.
  • BIOS control such as the Intel 386SL microprocessor set.
  • Such a PC card may be used to support a low-cost dynamic random access memory (DRAM) for non-time critical applications, and for those scenarios that heavily burden ISA architectures real-time capabilities. Static random access memory (SRAM) may also be supported.
  • DRAM dynamic random access memory
  • SRAM Static random access memory
  • the present method may be used to update the firmware of a PC card installed in a stand-alone, rugged personal computer.
  • a rugged personal computer is a microcomputer in its most basic form. It consists of the minimum amount of hardware and software required to retain the capability of a personal computer.
  • Rugged personal computer systems for example, may contain only the motherboard of a personal computer and any PC boards which may be added onto the motherboard. No housing, hard drives, hard disks, or display monitors are included.
  • Rugged personal computer systems may be employed, for example, in an avionics system of a fighter aircraft.
  • a PC card containing firmware stored in a FLASH memory may be installed in the rugged personal computer to perform a dedicated application.
  • the method of the present invention then could be used to update the firmware of the PC card to enable the card to communicate with the variety of sub ⁇ systems in the avionics system.
  • the PC card could initially be loaded with firmware which would permit it to run a diagnostic program to test an electronics countermeasure sub-system of the aircraft.
  • a host computer may then be used to download new firmware into the FLASH memory which would allow for testing of an engine monitoring sub-system. Used in this fashion, the FLASH memory of the PC card emulates a hard disk for the rugged personal computer.
  • Uses of the method of the present invention also include stand-alone embedded applications such as portable data loggers, memory loader verifiers, and avionic bus monitors for use in and around aircraft.

Abstract

A method for programming a microprocessor system (1) embodied within a circuit board (8) adapted for installation into a computer is disclosed. Firmware of the microprocessor system is stored in a flash memory device (2). This firmware is updated with computer programs downloaded into the flash memory from a host computer system (7).

Description

UPDATING FIRMWARE
BACKGROUND OF THE INVENTION
1. Field of the Invention.
This invention generally relates to microprocessor- based systems, and more particularly to a method for updating the firmware of a microprocessor system which stores its firmware in a programmable memory.
2. Description of the Related Art.
In addition to their use as general purpose computers, microprocessor systems may be designed to perform a dedicated application or to fulfill a specific operational requirement. These systems are usually embodied within 2 printed circuit cards (also known as boards) adapted for installation into a personal computer (PC) , and for this reason have become known as "PC cards." Examples of these types of systems include graphics accelerator boards, emulation boards, self-test diagnostic cards, adapter cards, and frame grabber cards designed to perform a variety of image processing functions.
The "firmware" of a microprocessor system refers to control and application programs stored in a non-volatile memory which are used to drive a microprocessor to perform its dedicated application. As a general rule, microprocessor system firmware will not be altered once fixed in a non-volatile memory by the manufacturer, but there are some exceptions. Firmware must be updated, for example, whenever the microprocessor system is required to perform functions or fulfill requirements different from those originally intended, or to correct errors in the firmware which were not detected at the time of manufacture.
How the firmware of a microprocessor system is updated is a function of the particular type of non-volatile memory used to store the firmware. Conventional microprocessor systems use erasable programmable read only memories (EPROMs) to perform this task. In order to update the firmware of an EPROM-based microprocessor system, the board embodying the system first must be removed from the personal computer in which it is installed. The EPROM containing the system firmware then must be removed from the board by a skilled technician and either replaced with a new EPROM bearing the updated version of the firmware or subjected to a reprograπuning process, which involves erasing the entire contents of the EPROM using ultraviolet light and reprogramming the EPROM using known methods. Finally, the board containing the updated firmware must be reinstalled into the personal computer.
There are a number of drawbacks associated with updating firmware stored in an EPROM. First, the need for a technician to perform the update makes the process a costly and time-consuming endeavor. Second, the updating process is mired with inefficiencies because of limitations inherent in EPROM-type memories. For example, EPROMs have long write times and are unable to be selectively updated. All of these drawbacks make the EPROM less than ideal for storing the firmware of a microprocessor system.
Other systems, such as the one disclosed in U.S. Patent No. 5,210,854 to Beaverton et al., use electrically erasable programmable read only memories (EEPROMs) to store firmware. An EEPROM-type memory is preferable to an EPROM because the former may be updated without requiring a technician to remove the board. This advantage alone is enough to lower the cost and increase the efficiency of the updating process compared with EPROM-based systems. EEPROMs also can be selectively erased and demonstrate faster write times compared with EPROMs.
Using an EEPROM to store the firmware of a microprocessor system is not without its own drawbacks. The write times of EEPROMs are slow compared with other memory devices. Also, EEPROMs must be supported by independent, on-board power sources which consume board space and add to the cost of employing the system. The need for independent power sources makes EEPROM-based microprocessor systems potentially less reliable than those which utilize non-volatile mass storage devices which can operate off of the power supply of a personal computer.
Another patent, U.S. Patent No. 5,195,130 to Weiss et al., discloses a method for reconfiguring a programmable gate array (PGA) chip to enable a telephone to communicate with a variety of service bureaus. Reconfiguring the PGA is made possible by downloading operating software from a host computer into a FLASH-EPROM in the telephone.
Microprocessor systems are different from PGA-based systems. For example, microprocessor systems can be programmed with appropriate firmware to perform a wide variety of functions. These systems generally are limited only by the imagination of the firmware designer. In contrast, PGA-based systems are hardware-based devices limited by the number of gates on the PGA chip. These systems therefore can perform comparatively fewer functions than microprocessor systems.
Also, programming a microprocessor system is different from programming a PGA-based system. The type of firmware used to drive a microprocessor system can be varying and diverse. In contrast, the software of a PGA-based system can only be of a type designed to reconfigure the gates of the PGA to perform its limited function, as in the case of the Weiss system where the operating software can only be of a type designed to facilitate communication between the Weiss telephone and the service bureaus.
In view of the drawbacks associated with the methods and systems discussed above, a need exists for a method for programming a microprocessor system to perform a wide variety of functions, and more specifically for a method for updating the firmware of a microprocessor system, which method can be accomplished without having to remove the memory chip containing the firmware from its board and without realizing the disadvantages associated with systems which use conventional programmable memory devices. SUMMARY OF THE INVENTION It is a principal objective of the present invention to provide a method for programming a microprocessor system to perform a wide range of functions, which method can be accomplished without having to remove the system from the personal computer in which it is installed, and further without realizing the drawbacks associated with systems that use conventional programmable memories.
It is another objective of the present invention to provide a method for updating the firmware of a microprocessor system which can be accomplished independent of the operating system of the personal computer in which it is installed.
It is another objective of the present invention to provide a method for updating the firmware of a microprocessor system which can be accomplished without requiring any assistance from a skilled technician.
It is another objective of the present invention to provide a PC card which stores firmware in a memory device which does not require removal in order to be updated and which does not realize the disadvantages associated with conventional programmable memories.
The foregoing and other objectives of the invention are achieved by storing the firmware of a microprocessor system in one or more on-board FLASH memory devices which, because they are able to operate from the power supply of a personal computer, are more economical and reliable to use than conventional non-volatile programmable read-only memory devices. FLASH memory systems are more desirable to use than conventional non-volatile programmable memory systems because they demonstrate faster write times.
A PC card embodying a microprocessor system whose firmware may be updated in accordance with the method of the present invention includes: 1) a microprocessor; 2) at least one FLASH memory chip; 3) a program loader; 4) an update module; and 5) a serial port for enabling the microprocessor to communicate with a peripheral unit.
A preferred embodiment of the method of the present invention involves: interrogating an on-board serial data port for the presence of a signal from a host computer; shifting control of an on-board program loader and update module to the host computer when such a signal is detected; downloading one or more computer programs from the host computer into the program loader; and updating, under the control of the update module, the firmware stored in the FLASH memories with the computer programs stored in the program loader. BRIEF DESCRIPTION OF THE DRAWINGS
Figure l is a diagram of a microprocessor board which includes at least one FLASH memory chip containing firmware which may be updated in accordance with the method of the present invention.
Figure 2 is a flow diagram detailing steps included within the method of the present invention.
DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention is a method for programming the firmware of a microprocessor system which may be embodied within a PC card adapted for installation into embedded or industry standard architectures such as ISA, VME, or VXI.
The PC card preferably has a generic card configuration design including holes, rail guides, optional card ejectors, and a card connector which is either the right-angle or straight-pin-and-socket type. The card connector also may be of a type which permits the PC card to reside in a bucket-and-motherboard environment, card stackable environment, or a stand-alone environment.
Referring to Figure 1, the PC card 8 includes an on¬ board microprocessor 1, at least one FLASH memory chip 2, a program loader 3, an update module 4, and a set of terminals (not shown) for communicating with other PC cards. The card may also be equipped with at least one serial port 5 which enables it to communicate with a peripheral unit 7 through an RS-232 interface 6. The use of an RS-232 channel advantageously allows the PC card to communicate with different types of peripherals independent of the operating system of the computer. As will be explained, the peripheral may be a host computer system such as a Sun microcomputer, a VAX, or a personal computer.
Firmware for the microprocessor system is stored within the FLASH memory and may include application programs as well as any microprogram governing'the internal control of the microprocessor system, such as the Basic Input/Output System (BIOS) of the microprocessor. The application and control programs stored in FLASH memory determine the specific functions and applications the card •will perform. The PC card, for example, may be programmed to serve as a processing unit for an avionic bus analyzer, a controller for portable maintenance aids for aircraft and other vehicles, a memory loader verifier, and a primary controller for all new organizational level test sets.
A preferred embodiment of the method of the present invention is carried out in accordance with a special control program stored in a portion of the FLASH memory which may or may not be subject to modification. Referring to Figure 2, under the control of this program, the microprocessor, upon system initialization (i.e., when power is applied to the PC card) , interrogates the RS-232 serial porr on the PC card for the presence of a signal from an external host computer system. If no such signal is detected, the PC card performs its intended function by executing the firmware already stored in the FLASH memory of the PC card.
If, however, a signal is detected, the host computer system is given control of the PC card program loader and update module. The host computer system then downloads one or more computer programs into the program loader through the RS-232 serial port. The update module seizes control of the program loader and updates the firmware in the FLASH memory by, one, erasing selected portions of the firmware in the FLASH memory and, two, replacing those portions with the one or more computer programs stored in the program loader. When the update is complete, control is given back to the PC card microprocessor.
A firmware update is warranted, for example, to change the specific applications or functions to be performed by the PC card, to correct errors contained within the firmware, or to enable the PC card to communicate with a variety of different peripheral units, a function that will be developed in greater detail infra.
The use of a FLASH memory to store the firmware of the PC card is advantageous in several respects. One important advantage is the ability to update the contents of a FLASH memory without ever having to disassemble the memory or the PC card from the system. An update can be performed electronically without the assistance of a technician while the PC card remains installed in the system in an end item configuration. This substantially reduces the cost and time associated with the firmware update process.
There are other significant advantages associated with storing firmware in FLASH memories. The firmware stored in a FLASH memory, for example, may be updated independent of the operating system of the personal computer. A FLASH memory may be selectively erased unlike EPROM-type memories. FLASH memories have write times which are faster than conventional non-volatile, programmable read-only memory devices such as EEPROMs. And, FLASH memories are more economical and reliable to use compared with conventional memories because they are able to operate from the system power.
Additional power savings may be realized if a FLASH- memory-based PC card uses a microprocessor having built-in power management hardware under BIOS control, such as the Intel 386SL microprocessor set. Use of such a microprocessor is advantageous because its power management features may be extended to on-board and off- board peripherals. Such a PC card, for example, may be used to support a low-cost dynamic random access memory (DRAM) for non-time critical applications, and for those scenarios that heavily burden ISA architectures real-time capabilities. Static random access memory (SRAM) may also be supported.
Specific uses for the method of the present invention are contemplated. For example, the present method may be used to update the firmware of a PC card installed in a stand-alone, rugged personal computer. (For purposes of this specification, a rugged personal computer is a microcomputer in its most basic form. It consists of the minimum amount of hardware and software required to retain the capability of a personal computer. Rugged personal computer systems, for example, may contain only the motherboard of a personal computer and any PC boards which may be added onto the motherboard. No housing, hard drives, hard disks, or display monitors are included.)
Rugged personal computer systems may be employed, for example, in an avionics system of a fighter aircraft. A PC card containing firmware stored in a FLASH memory may be installed in the rugged personal computer to perform a dedicated application. The method of the present invention then could be used to update the firmware of the PC card to enable the card to communicate with the variety of sub¬ systems in the avionics system. For example, the PC card could initially be loaded with firmware which would permit it to run a diagnostic program to test an electronics countermeasure sub-system of the aircraft. A host computer may then be used to download new firmware into the FLASH memory which would allow for testing of an engine monitoring sub-system. Used in this fashion, the FLASH memory of the PC card emulates a hard disk for the rugged personal computer.
Uses of the method of the present invention also include stand-alone embedded applications such as portable data loggers, memory loader verifiers, and avionic bus monitors for use in and around aircraft.
Other modifications and variations to the invention will be apparent to those skilled in the art from the foregoing disclosure. Thus, while only certain embodiments of the invention have been specifically described herein, it will be apparent that numerous modifications may be made thereto without departing from the spirit and scope of the invention.

Claims

WHAT IS CLAIMED IS:
1. A method for programming a microprocessor system to perform at least one predetermined function, said system being embodied within a circuit board having a communication means attached therero for communicating with a peripheral unit, said method comprising the steps of: providing at least one FLASH memory device on said circuit board containing firmware of the microprocessor system; interrogating the communication means for the presence of a signal from said peripheral unit when the system is initialized; and receiving a computer program through said communication means from said peripheral unit when said signal is detected, said computer program replacing at least a portion of the firmware stored in said at least one
FLASH memory to cause said system to perform said function.
2. The method recited in claim 1, further comprising the steps of: providing a memory on said board for receiving the computer program from the peripheral unit when said signal is detected by the microprocessor; and providing an update module for erasing at least a portion of the firmware contained in said at least one FLASH memory and writing in its place the computer program in said memory.
3. The method recited in claim l, wherein said circuit board is adapted for installation into a personal computer having an ISA architecture.
4. The method recited in claim 3, wherein programming of the microprocessor system occurs independent of an operating system of the computer.
5. The method recited in claim 3, wherein programming of the microprocessor system is accomplished while said circuit board remains installed in an end item configuration.
6. The method recited in claim 1, wherein said circuit board embodying the microprocessor system is adapted for installation into a stand-alone, rugged computer.
7. The method recited in claim 1, wherein said circuit board embodying the microprocessor system is adapted for installation into a stand-alone embedded system.
8. The method recited in claim 1, wherein said communication means includes a serial port coupled to an RS-232 interface.
9. The method recited in claim 1, wherein said peripheral unit is a host computer system.
10. The method recited in claim 1, wherein said computer program is a built-in-test program having diagnostic control.
11. The method recited in claim 1, wherein said computer program enables said system to operate as a processing unit for an avionic bus analyzer.
12. The method recited in claim 1, wherein said computer program is BIOS firmware.
13. The method recited in claim 1, wherein said circuit board includes a microprocessor having built-in power management control.
14. The method recited in claim 3, wherein said circuit board includes a connecting means for connecting said board to a motherboard of said personal computer.
15. The method recited in claim 3, wherein said circuit board includes a connecting means for connecting said board to other PC cards in a card-stackable fashion.
16. In a microprocessor system of the type which is embodied within a circuit board adapted for installation into a computer, said circuit board having a port affixed thereto for communicating with a host computer, wherein the improvement comprises: at least, one FLASH memory on said circuit board for storing firmware of the microprocessor system, said firmware being updated with a computer program downloaded from said host computer when a signal indicating the presence of the host computer is detected by said system.
17. The system recited in claim 16, further comprising: a buffer for storing the computer program received from said host computer; and an update module for rewriting selected portions of the firmware in said at least one FLASH memory with the computer program stored in said buffer.
18. The system recited in claim 16, wherein the firmware update occurs independent of an operating system of the computer.
19. The system recited in claim 16, wherein said firmware update occurs while said circuit board remains installed in an end item configuration in said computer.
20. The system recited in claim 16, wherein said computer system is a stand-alone, rugged computer.
21. The system recited in claim 16, wherein said computer is an embedded computer.
22. The system recited in claim 16, wherein said port is a serial port coupled to an RS-232 interface.
23. The system recited in claim 16, wherein said computer program is a built-in-test program having diagnostic control.
24. The system recited in claim 16, wherein said computer program enables said system to operate as a processing unit for an avionic bus analyzer.
25. The system recited in claim 16, wherein said computer program is BIOS firmware.
26. The system recited in claim 16, wherein said circuit board includes a microprocessor having built-in power management control.
27. The system recited in claim 16, wherein said circuit board includes a connecting means for connecting said board to a motherboard of said personal computer in a card- stackable fashion.
28. The system recited in claim 16, wherein said circuit board includes a connecting means for connecting said board to other PC cards in a card-stackable fashion.
29. A PC card adapted for installation into a computer, said card comprising: a microprocessor; a port in communication with a peripheral unit; a buffer memory in communication with said port; at least one FLASH memory device for storing firmware for driving said microprocessor to perform a predetermined function, said firmware being updated with a computer program downloaded into said buffer memory from said peripheral unit when a signal sent by the peripheral unit is detected by the microprocessor through said port, said update occurring independent of an operating system of said computer.
30. A PC card as recited in claim 29, further comprising: an update module for rewriting the firmware stored in said at least one FLASH memory with the computer program stored in said buffer memory.
31. The PC card recited in claim 29, wherein the firmware update is accomplished while the card is installed in the computer in an end item configuration.
32. The PC card recited in claim 29, wherein said computer is a stand-alone, rugged personal computer.
33. The PC card recited in claim 29, wherein said computer is an embedded computer.
34. The PC card recited in claim 29, wherein said port is a serial port coupled to an RS-232 interface.
35. The PC card recited in claim 29, wherein said peripheral unit is a host computer system.
36. The PC card recited in claim 29, wherein said computer program is a built-in-test program having diagnostic control.
37. The PC card recited in claim 29, wherein said predetermined function is to serve as a processing unit for an avionic bus analyzer.
38. The PC card recited in claim 29, wherein said computer program is BIOS firmware.
39. The PC card recited in claim 29, wherein said microprocessor has a built-in power management control which may be extended to on-board and off-board peripherals.
40. The PC card recited in claim 29, further comprising: a connecting means for connecting said board to a motherboard of said personal computer.
41. The PC card recited in claim 29, further comprising a connecting means for connecting said board to other PC cards in a card stackable fashion.
PCT/US1995/007872 1994-07-08 1995-07-03 Updating firmware WO1996002034A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US27217494A 1994-07-08 1994-07-08
US08/272,174 1994-07-08

Publications (1)

Publication Number Publication Date
WO1996002034A1 true WO1996002034A1 (en) 1996-01-25

Family

ID=23038722

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1995/007872 WO1996002034A1 (en) 1994-07-08 1995-07-03 Updating firmware

Country Status (3)

Country Link
IL (1) IL114316A0 (en)
TW (1) TW271478B (en)
WO (1) WO1996002034A1 (en)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998007098A1 (en) * 1996-08-13 1998-02-19 Integrated Silicon Solution, Inc. Digital media
WO1998021652A1 (en) * 1996-11-15 1998-05-22 Cirrus Logig, Inc. Self-booting mechanism to allow dynamic system configuration and diagnostic
EP0844556A2 (en) * 1996-11-26 1998-05-27 Murata Kikai Kabushiki Kaisha Software updating method
US5877975A (en) * 1996-08-13 1999-03-02 Nexcom Technology, Inc. Insertable/removable digital memory apparatus and methods of operation thereof
DE19813508A1 (en) * 1998-03-26 1999-09-30 Agta Record Ag Control method for operating automatically driven panels, such as doors, gates, windows, etc.
GB2351377A (en) * 1995-12-29 2000-12-27 Wyse Technology Inc Method of updating the operating characteristics or a terminal
US6311165B1 (en) 1998-04-29 2001-10-30 Ncr Corporation Transaction processing systems
EP1156417A2 (en) * 2000-05-01 2001-11-21 Ricoh Company, Ltd. Method and apparatus for multi-function processing capable of performing a program dowloading using a common single connection, and a medium storing the method
EP1233608A1 (en) * 2001-02-15 2002-08-21 Ricoh Company, Ltd. Data control apparatus, data control method thereof and image forming apparatus
DE10146609A1 (en) * 2001-09-21 2003-04-10 Abb Patent Gmbh Bus component device has a sub-divided integrated flash memory, so that operating system and application programs can be altered, expanded or corrected without disconnection of the device from the bus
DE10146611A1 (en) * 2001-09-21 2003-04-10 Abb Patent Gmbh Bus component device has a sub-divided flash memory that allows in-situ updating of the component operating system without the device being disconnected from the network bus
DE10141894A1 (en) * 2001-08-28 2003-06-26 Siemens Ag Device for use in bus systems
US7047283B1 (en) * 1999-06-09 2006-05-16 Samsung Electronics Co., Ltd. Apparatus and method of upgrading program of firmware board
US8079021B2 (en) 1995-12-29 2011-12-13 Wyse Technology Inc. Method and apparatus for display of windowing application programs on a terminal
DE19655235B4 (en) * 1995-12-29 2015-07-30 Wyse Technology, Inc. A method of updating a terminal operating system of a terminal and displaying window information of a windowing application program
CN105809229A (en) * 2014-12-31 2016-07-27 深圳市硅格半导体有限公司 system Memory card and memory card batch production system

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103324492A (en) * 2012-03-20 2013-09-25 鸿富锦精密工业(深圳)有限公司 Method for updating firmware of BIOS (basic input/output system) and electronic device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5321840A (en) * 1988-05-05 1994-06-14 Transaction Technology, Inc. Distributed-intelligence computer system including remotely reconfigurable, telephone-type user terminal

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5321840A (en) * 1988-05-05 1994-06-14 Transaction Technology, Inc. Distributed-intelligence computer system including remotely reconfigurable, telephone-type user terminal

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19655235B4 (en) * 1995-12-29 2015-07-30 Wyse Technology, Inc. A method of updating a terminal operating system of a terminal and displaying window information of a windowing application program
GB2351377A (en) * 1995-12-29 2000-12-27 Wyse Technology Inc Method of updating the operating characteristics or a terminal
GB2351377B (en) * 1995-12-29 2001-02-07 Wyse Technology Inc Method and apparatus for display of windowing application programs on a terminal
US8079021B2 (en) 1995-12-29 2011-12-13 Wyse Technology Inc. Method and apparatus for display of windowing application programs on a terminal
US8904362B2 (en) 1995-12-29 2014-12-02 Wyse Technology L.L.C. Method and apparatus for display of windowing application programs on a terminal
US5815426A (en) * 1996-08-13 1998-09-29 Nexcom Technology, Inc. Adapter for interfacing an insertable/removable digital memory apparatus to a host data part
US5877975A (en) * 1996-08-13 1999-03-02 Nexcom Technology, Inc. Insertable/removable digital memory apparatus and methods of operation thereof
US6026007A (en) * 1996-08-13 2000-02-15 Integrated Silicon Solution, Inc. Insertable and removable high capacity digital memory apparatus and methods of operation thereof
US6175517B1 (en) 1996-08-13 2001-01-16 Integrated Silicon Solution, Inc. Insertble and removable digital memory apparatus
WO1998007098A1 (en) * 1996-08-13 1998-02-19 Integrated Silicon Solution, Inc. Digital media
US5878257A (en) * 1996-11-15 1999-03-02 Cirrus Logic, Inc. Self-booting mechanism to allow dynamic system configuration and diagnostic
WO1998021652A1 (en) * 1996-11-15 1998-05-22 Cirrus Logig, Inc. Self-booting mechanism to allow dynamic system configuration and diagnostic
EP0844556A2 (en) * 1996-11-26 1998-05-27 Murata Kikai Kabushiki Kaisha Software updating method
EP0844556A3 (en) * 1996-11-26 2003-09-10 Murata Kikai Kabushiki Kaisha Software updating method
DE19813508A1 (en) * 1998-03-26 1999-09-30 Agta Record Ag Control method for operating automatically driven panels, such as doors, gates, windows, etc.
US7912914B2 (en) 1998-04-29 2011-03-22 Ncr Corporation Transaction processing systems
US7545816B1 (en) 1998-04-29 2009-06-09 Ncr Corporation Transaction processing systems maintenance
US6311165B1 (en) 1998-04-29 2001-10-30 Ncr Corporation Transaction processing systems
US7047283B1 (en) * 1999-06-09 2006-05-16 Samsung Electronics Co., Ltd. Apparatus and method of upgrading program of firmware board
EP1156417A3 (en) * 2000-05-01 2002-07-10 Ricoh Company, Ltd. Method and apparatus for multi-function processing capable of performing a program dowloading using a common single connection, and a medium storing the method
EP1156417A2 (en) * 2000-05-01 2001-11-21 Ricoh Company, Ltd. Method and apparatus for multi-function processing capable of performing a program dowloading using a common single connection, and a medium storing the method
US7038798B2 (en) 2000-05-01 2006-05-02 Ricoh Company, Ltd. Method and apparatus for multi-function processing capable of performing a program downloading using a common single connection, and a medium storing the method
EP1233608A1 (en) * 2001-02-15 2002-08-21 Ricoh Company, Ltd. Data control apparatus, data control method thereof and image forming apparatus
US7839527B2 (en) 2001-02-15 2010-11-23 Ricoh Company, Ltd. Data control apparatus, data control method thereof and image forming apparatus
US7271927B2 (en) 2001-02-15 2007-09-18 Ricoh Company, Ltd. Data control apparatus, data control method thereof and image forming apparatus
DE10141894A1 (en) * 2001-08-28 2003-06-26 Siemens Ag Device for use in bus systems
DE10146611A1 (en) * 2001-09-21 2003-04-10 Abb Patent Gmbh Bus component device has a sub-divided flash memory that allows in-situ updating of the component operating system without the device being disconnected from the network bus
DE10146609A1 (en) * 2001-09-21 2003-04-10 Abb Patent Gmbh Bus component device has a sub-divided integrated flash memory, so that operating system and application programs can be altered, expanded or corrected without disconnection of the device from the bus
CN105809229A (en) * 2014-12-31 2016-07-27 深圳市硅格半导体有限公司 system Memory card and memory card batch production system
CN105809229B (en) * 2014-12-31 2018-08-03 深圳市硅格半导体有限公司 Storage card and storage card volume production system

Also Published As

Publication number Publication date
IL114316A0 (en) 1995-10-31
TW271478B (en) 1996-03-01

Similar Documents

Publication Publication Date Title
WO1996002034A1 (en) Updating firmware
US20080033609A1 (en) Automotive diagnostic and tuning system
US5835760A (en) Method and arrangement for providing BIOS to a host computer
US7363484B2 (en) Apparatus and method for selectively mapping proper boot image to processors of heterogeneous computer systems
US6834384B2 (en) Methods and apparatus for upgrading firmware in an embedded system
US5471674A (en) Computer system with plug-in override of system ROM
Hallinan Embedded Linux primer: a practical real-world approach
US6889340B1 (en) Use of extra firmware flash ROM space as a diagnostic drive
CN110879720B (en) Configurable server and method for configuring functions of server
US6944867B2 (en) Method for providing a single preloaded software image with an ability to support multiple hardware configurations and multiple types of computer systems
US20080086631A1 (en) Flash memory controller controlling various flash memory cells
US5987536A (en) Computer system having flash memory bios which can be accessed while protected mode operating system is running
JPH0764770A (en) Microcontroller apparatus provided with remotely writable eprom and writing method
CN104123153A (en) Apparatus and method for firmware upgrade using USB
US6519698B1 (en) Method for saving system configuration information to shorten computer system initialization time by checking the state of a chassis intrusion detection circuit
US9058257B2 (en) Persistent block storage attached to memory bus
US5257380A (en) Initialization routine in an EEPROM
US20120117308A1 (en) Data protection device and method thereof
US6636962B1 (en) Self-initializing chipset
US20030233536A1 (en) Automatic selection of firmware for a computer that allows a plurality of process types
CN100498710C (en) Method for reading and electing read only memory program code on self-storing mechanism
CN111752623A (en) Display configuration method and device, electronic equipment and readable storage medium
CN113849230A (en) Server starting method and device, electronic equipment and readable storage medium
US20030084257A1 (en) Flash emulator
US6629317B1 (en) Method for providing for programming flash memory of a mailing apparatus

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CA JP KR SG

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FR GB GR IE IT LU MC NL PT SE

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
122 Ep: pct application non-entry in european phase