Free
Message: Firmware

Firmware

posted on Jul 01, 2009 07:17PM

Firmware

From Wikipedia, the free encyclopedia

Jump to: navigation, search
A typical firmware controlled device, a television remote control

Firmware is a term sometimes used to denote the fixed, usually rather small, programs that internally control various electronic devices. Typical examples range from end-user products such as remote controls or calculators, through computer parts and devices like harddisks, keyboards, TFT screens or memory cards, all the way to scientific instrumentation and industrial robotics. Also more complex consumer devices, such as mobile phones, digital cameras, synthesizers, etc., contain firmware to enable the device's basic operation as well as implementing higher level functions.

Naturally, there is no strict, or well defined, boundaries between firmware and software, both are quite loose descriptive terms. However, firmware is typically involved with very basic low-level operations in a device, without which the device would be completely non-functional. Firmware is also a relative term, as most embedded devices contain firmware at more than one level. Subsystems such as LCD modules, flash chips, communication controllers etc, have their own (usually fixed) program code and/or microcode, regarded as 'part of the hardware' by the higher level firmware.

Simple firmware typically reside in ROM or OTP/PROM, while more complex firmware often employ flash memory to allow for updates. Common reasons for updating firmware include fixing bugs or adding features to the device. Doing so usually involves loading a binary image file provided by the manufacturer into the device, according to a specific procedure; this is sometimes intended to be done by the end user.

Contents

[hide]

[edit] Origin of the term

The term "firmware" was coined by Ascher Opler in a 1967 Datamation article.[1] Originally it meant the microcode contents of a writable control store (a specialized small area of RAM memory), which defined and implemented the machine instruction set of a computer's CPU. The firmware could be reloaded if needed to specialize or modify the computer's instruction set. As originally used firmware was contrasted with hardware (the CPU itself) and software (programs which ran on the CPU). It was not composed of CPU machine instructions, but of lower-level microcode involved in the implementation of machine instructions. It existed on the boundary of hardware and software, thus the term firmware.

Later the term was broadened to include any microcode, whether in RAM or ROM.

Still later, the term was again broadened in popular usage to denote anything ROM-resident, including processor machine instructions for BIOS, bootstrap loaders, or specialized applications.

[edit] Firmware today

Firmware has evolved to mean almost any programmable content of a hardware device, not only machine code for a microprocessor, but also configurations and data for application-specific integrated circuits, programmable logic devices, etc. Although modern devices that can be updated with new firmware typically employ semi-automatic methods, sometimes a storage medium, such as a socketed ROM, must be replaced (which was a typical procedure until the mid 1990s).

[edit] Computer peripherals

Most computer peripherals are indeed special-purpose computers. While external devices have firmware stored internally, modern computer peripheral cards typically have large parts of the firmware loaded by the host system at start-up, as this is more flexible. Such hardware may therefore be unable to function fully until the host computer has fed it the requisite firmware, often via the card's specific device driver (or, more exactly, a subsystem within a device driver package). Modern device drivers may also expose a direct user interface for configuration in addition to the fundamental operating system calls/interfaces and/or application program interfaces at the programming-level.

[edit] Firmware challenges in PCs

In some respects, the various firmware components are as important as the operating system in a working computer. However, unlike most modern operating systems, firmware rarely has a well evolved mechanism for updating itself to fix functionality issues that are detected after the unit is shipped.

The BIOS is fairly easy to update in a modern PC; devices like video cards or modems often rely on firmware dynamically loaded by a device driver and may thus be transparently updated through the operating system update mechanisms. In contrast, firmware in storage devices is rarely updated; mechanisms for detecting firmware versions and updating them are not standardized. These devices therefore tend to have a higher rate of functionality issues, compared to other parts of a modern computer system.[citation needed]

[edit] Portable music players

Some companies use firmware updates to add new playable file formats (encodings); Iriver added the Ogg format this way, for instance. Other features that may change with firmware updates are the GUI and even the battery life. Most modern music players support firmware upgrades.

[edit] Mobile phones

Most mobile phones have a firmware upgradable capability for much the same reasons as above, but some may even be upgraded to enhance reception or sound quality.

Share
New Message
Please login to post a reply