Firmware

From Wikipedia, the free encyclopedia

Jump to: navigation, search
A microcontroller, like this PIC18F8720, is controlled by firmware stored inside in flash memory.
A microcontroller, like this PIC18F8720, is controlled by firmware stored inside in flash memory.

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 computer. But it is also an intimate and vital part of a piece of hardware, and has little meaning outside of that particular hardware.

Contents

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.

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, HD DVD, Blu-ray), as media technologies extend, so firmware updates ensure hardware is kept up to date and compatible.

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 can — but is not required to — 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.

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.

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:

Advanced Search
Included Web Search Engines


Safe Search

close

Top Matching Results

Occasionally Search.com will highlight specialized results that are based on the context of your query. Examples of specialized results include specific links to news, images, or video.

Top Matching Results may highlight information from other Search.com pages, content from the CNET Network of sites, or third party content. The listings are based purely on relevance. Search.com does not receive payment for listings in this section but our partners that provide this data may get paid for listing these products.

Sponsored Links

This section contains paid listings which have been purchased by companies that want to have their sites appear for specific search terms and related content. These listings are administered, sorted and maintained by a third party and are not endorsed by Search.com.

Search Results

Search.com sends your search query to several search engines at one time and integrates the results into one list which has been sorted by relevance using Search.com's proprietary algorithm. You can customize the list of search engines included in your metasearch from the preferences.

The search engines that are used in your metasearch may allow companies to pay to have their Web sites included within the results. To view the Paid Inclusion policy for a specific search engine, please visit their Web site. Search.com does not accept payment or share revenue with any search engine partner for listings in this section.