In computing, firmware is a computer program that is embedded in a hardware device, for example a microcontroller. It can also be provided on flash memory or as a binary image file that can be uploaded onto existing hardware by a user.

As its name suggests, firmware is somewhere between hardware and software. Like software, it is a computer program which is executed by a microprocessor or a microcontroller. But it is also tightly linked to a piece of hardware, and has little meaning outside of it.


The term "firmware" was originally used for micro-programs written for microsequencers such as AMD29xx.Later on, it was coined to indicate a functional replacement for hardware on low-cost microprocessors.

Evolved firmware uses

Firmware has evolved to mean the programmable content of a hardware device, which can consist of machine language for a microprocessor, or configuration settings for a fixed-function device or programmable logic device. Many, though not all, devices have firmware that can be updated after manufacturing. This is usually done electronically in modern systems, however sometimes the storage medium containing the firmware, such as a socketed ROM, must be replaced.

Firmware may expose an externally accessible interface. For example, in some modem implementations the firmware is not directly accessible, but is part of a combination of hardware and firmware that responds to commands from the host system.

Firmware has traditionally been stored in ROM; however cost and performance requirements have driven component vendors to adopt various replacements, including non-volatile media such as EEPROM and Flash, or SRAM solutions, such as the firmware loaded by an operating system device driver, as described below.

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.

Firmware in many devices can now be updated without the need for additional hardware, often through the use of vendor-provided software.

Firmware support challenges in PCs

In some respects firmware is as much a software component of a working system as the operating system. However, unlike most modern operating systems, firmware rarely has a well evolved mechanism for updating itself to fix bugs and addressing functionality issues that are detected after the unit is shipped.

The easiest firmware to update is typically the system boot-related firmware, such as the BIOS in PCs. Some devices, such as video adapters and modems, frequently rely on firmware that is loaded dynamically by the operating system device driver, and thus is updated through the operating system update mechanisms entirely transparent to the user.

In contrast, storage device firmware is rarely updated with the same consistency as other parts of the system. Further, the mechanisms for detecting firmware versions and updating them are not standardized. As a result, these devices tend to have a significantly higher percentage of firmware-driven functionality issues, as compared to other parts of a modern computer system.


Examples of firmware include:
* The BIOS found in IBM-compatible Personal Computers;
* The platform code found on Itanium systems, Intel-based Mac OS X machines, and many Intel desktop boards is EFI compliant firmware;
* 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 iPod's control menus
* The Common Firmware Environment (CFE)
* Timing and control systems for Washing machines
* Cisco IOS.

Firmware hacking

Sometimes an unofficial new or modified version of firmware is created by third parties to provide new features or unlock hidden functionality. Examples include Rockbox for digital audio players, CHDK for Canon digital cameras, and OpenWRT for wireless routers, as well as many homebrew projects for gaming consoles. These can often unlock general purpose computing functionality in previously limited devices (e.g., running Doom on iPods). Most firmware hacks are free and open source software as well.

These hacks usually take advantage of the firmware update facility on many devices to install or run themselves. Some, however, must resort to exploits in order to run, because the manufacturer has attempted to lock the hardware to stop it from running unlicensed code.

See also

* ROM image
* LinuxBIOS
* Microcode
* Binary blob


Wikimedia Foundation. 2010.

Look at other dictionaries:

  • Firmware — Saltar a navegación, búsqueda Una visión típica de la arquitectura de computadores como una serie de capas de abstracción: hardware, firmware, ensamblador, kernel, sistema operativo y aplicaciones …   Wikipedia Español

  • firmware — firm‧ware [ˈfɜːmweə ǁ ˈfɜːrmwer] noun [uncountable] COMPUTING instructions to computers that are stored on chip S so that they can be done much faster, and cannot be changed or lost: • In order to download firmware from their website, you will… …   Financial and business terms

  • firmware — FÍRMUĂR/ s. n. (inform.) microprograme elementare stocate în organele de memorie ale unui calculator, care nu se şterg, constituind pentru sistemele moderne o sursă indestructibilă deja elaborată. (< engl. firmware) Trimis de raduborza,… …   Dicționar Român

  • firmware — software which resides in a less transient part of the computer s memory than a hard or floppy disk. Practical Law Dictionary. Glossary of UK, US and international legal terms. 2010 …   Law dictionary

  • firmware — 1968, from FIRM (Cf. firm) (adj.) + ending from SOFTWARE (Cf. software) …   Etymology dictionary

  • firmware — (izg. fȉrmvēr) m DEFINICIJA inform. mikroprogram pohranjen u memoriji kompjutera (ROM) koji upravlja radom unesenog softvera ETIMOLOGIJA engl …   Hrvatski jezični portal

  • firmware — ► NOUN Computing ▪ permanent software programmed into a read only memory …   English terms dictionary

  • firmware — [fʉrm′wer΄] n. a computer program stored on a ROM chip …   English World dictionary

  • Firmware — Unter Firmware (von engl. „firm“ = fest) versteht man Software, die in elektronische Geräte eingebettet ist. Sie ist zumeist in einem Flash Speicher, einem EPROM, EEPROM oder ROM gespeichert und durch den Anwender nicht oder nur mit speziellen… …   Deutsch Wikipedia

  • Firmware — Un firmware, parfois appelé micrologiciel, ou plus rarement logiciel interne ou logiciel embarqué, est un ensemble d instructions et de structures de données qui sont intégrées dans du matériel informatique que ce soit un ordinateur, un disque… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”