* the computer program in a read-only memory (ROM) integrated circuit (a hardware part number or other configuration identifier is usually used to represent the software);
* the erasable programmable read-only memory (EPROM) chip, whose program may be modified by special external hardware, but not by [a general purpose] application program.
Source: Federal Standard 1037C.
* the electrically erasable programmable read-only memory (EEPROM) chip, whose program may be modified by special electrical external hardware (not the usual optical light), but not by [a general purpose] application program.
EEPROMS are now (as of 2006) fast, large & cheap enough to compete with floppy disks, small hard disks and small CD-ROMs. The most popular form of firmware then, without any need for battery supports, are the "Flash Disks", which are usually inserted into various digital devices and used for storage.
[edit]
Origins
The term "firmware" was originally coined to indicate a functional replacement for hardware on low cost microprocessors.
Note that firmware for many devices can now be updated without the need for additional hardware, often through the use of vendor-provided software.
In practical terms, firmware updates can improve the performance and reliability, indeed even the basic available functionality of a device, and many devices benefit from regular firmware updates. One of the most common devices to have regular firmware updates are recording devices such as optical media writers (DVD, CD, Bluray), as media technologies extend, so firmware updates ensure hardware is kept up to date and compatible.
[edit]
Firmware and device drivers
Most devices attached to modern systems are special-purpose computers in their own right, running their own software. Some of these devices store that software ("firmware") in a ROM within the device itself. Over the years, however, manufacturers have found that loading the firmware from the host system is both cheaper and more flexible. As a result, much current hardware is unable to function in any useful way until the host computer has fed it the requisite firmware. This firmware load is handled by the device driver.
[edit]
Examples
Examples of firmware include:
* The BIOS found in IBM-compatible Personal Computers;
* The EFI, found on Itanium systems, Intel-based Mac OS X machines, and as a secondary bootloader (which runs after the traditional BIOS) on x64 PCs;
* The operating system on a router, such as the Linksys WRT54G
* Open Firmware, used in computers from Sun Microsystems and Apple Computer;
* ARCS, used in computers from Silicon Graphics;
* RTAS (Run-Time Abstraction Services), used in computers from IBM;
* EPROM chips used in the Eventide H-3000 series of digital music processors.
* The Common Firmware Environment (CFE).