Dictionary Definition
firmware n : (computer science) coded
instructions that are stored permanently in read-only memory [syn:
microcode]
User Contributed Dictionary
English
Noun
firmware (uncountable)- Something in-between hardware and software. Like software, it is created from source code, but it is closely tied to the hardware it runs on.
- Software for embedded computers.
Translations
- Finnish: firmware
Extensive Definition
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 ROMs 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.
Origins
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 instructions for a processor, or configuration settings for a fixed-function device, gate array or programmable logic device.A common feature of firmware is that it can be
updated post-manufacturing, either electronically, or by replacing
a storage medium such as a socketed memory chip.
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
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
- System Software updates on Xbox, Xbox 360, PSP, PS3, DS and Wii.
- The Common Firmware Environment (CFE)
- Timing and control systems for Washing machines
- Cisco IOS.
Firmware hacking
Sometimes an unofficial new or modified version of a 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
References
firmware in Arabic: البرنامج الثابت
firmware in Bengali: ফার্মওয়্যার
firmware in Bosnian: Firmware
firmware in Catalan: Microprogramari
firmware in Czech: Firmware
firmware in Danish: Firmware
firmware in German: Firmware
firmware in Spanish: Firmware
firmware in Basque: Firmware
firmware in Persian: میانافزار
firmware in French: Micrologiciel
firmware in Galician: Firmware
firmware in Korean: 펌웨어
firmware in Indonesian: Firmware
firmware in Italian: Firmware
firmware in Hebrew: קושחה
firmware in Hungarian: Firmware
firmware in Dutch: Firmware
firmware in Japanese: ファームウェア
firmware in Low German: Firmware
firmware in Polish: Oprogramowanie wbudowane w
urządzenie
firmware in Portuguese: Firmware
firmware in Romanian: Firmware
firmware in Russian: Микропрограмма
firmware in Slovak: Firmware
firmware in Serbian: Фирмвер
firmware in Finnish: Firmware
firmware in Swedish: Firmware
firmware in Thai: เฟิร์มแวร์
firmware in Turkish: Donanım yazılımı
firmware in Chinese: 韌體