注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

My Unix World

不要迷恋Unix,Unix只是计算世界很小的一部分!

 
 
 

日志

 
 

【Copy】Firmware  

2008-12-11 15:14:02|  分类: L-Boot |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

In computing, firmware can have several meanings and is subject to loose usage.

Most commonly: a computer program that is embedded in and controls a hardware device. For example modern electronic appliances such as cell phones, digital cameras and DVD players often contain firmware which controls the device's basic operation. The firmware may reside in read only memory or flash memory inside the device. Firmware can sometimes be updated by the end user. 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.

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.

Origin

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 lower-level primitive commands which implemented the 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.

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

Examples of firmware include:

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

  评论这张
 
阅读(313)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017