Under Firmware (English firm, fixed ') is software that is embedded in electronic devices. It is usually stored in a flash memory, an EPROM, EEPROM or ROM and interchangeable by the user or only with special means or functions. The term derives from the fact that firmware is functionally integral with the hardware, which means that the one without the other is not available. It occupies an intermediate position between the hardware ( ie physical proportions of a device) a ( possibly the replaceable programs a device) and the software application.
When firmware is referred to both the operating software of various devices or components (eg, mobile phone, game console, remote control, hard drive, printer) as well as the basic software of a computer (eg, anchored in a flash memory BIOS in personal computers ), which is needed to load and run the operating system kernel of the actual operating system can.
Firmware is used for example in hard -disk recorders, DVD burners, DVD players, newer televisions, home appliances, digital cameras and their interchangeable lenses, receivers for digital radio, computer parts ( graphic cards, disk drives, etc.) and many other electronic devices. It is located also in embedded systems such as ADSL modems or mobile phones. In the modern automobile are typically 15 to 90 electronic control units ( eg ABS, ESP, ACC, airbags, engine control, speedometer, radio, air conditioning, parking aid or windows ), each of which contains its own firmware.
In general, the programmable content of microcontrollers is referred to as firmware.
It is in principle possible to map any functionality in hardware alone; and this hardware would work without any software and its use. In practice, however, the software has proven to be a layer of abstraction between man and hardware to be extremely useful. Software, the basic functions mapping as an abstraction layer, and thus this is available to the user, they are called in general operating system (OS ). However, the term BS is already inaccurate; including, for example, only one can understand the kernel of an operating system, or even just the kernel together with software packages. The term firmware refers basically a software. This can be:
- A complete operating system, eg OpenWrt. The reason why this program is referred to as firmware, and not as an operating system, is found in the fact that the storage is on flash memory, and that the storage capacity of flash chips is small;
- Software which reflects a part of the hardware, such as the firmware of a graph, network or a WLAN card
- Software that contains settings in the form of ( encrypted or non-encrypted ) parameters, such as the firmware of a coding map
- The complete software of a device ( which is displayed in the firmware): printers, home appliances, motor vehicles and other
- The fulfillment of all tasks of a proprietary operating system; Additional software can be used, such as smart phones, game consoles, storage servers, and other
- The provision of hardware-related functions in one unit, which allow loading and starting a separate operating system from a disk. For the PC this firmware is called BIOS. The operating system can also directly use firmware functions.
Original meaning: The term refers to firmware (fixed firm =) something between hardware and software, as already the name choice of the word suggests.
- There is firmware that is free of executable code and configuration of specialized hardware ( CPLDs, gate arrays ) will be used. After the respective chips are the OEM programmed for specific applications (previously burned ), has become of the firmware de facto hardware. In this type of end- user firmware updates are not common, as incorrect configuration in the worst case can lead (short-circuit the supply voltage) to the immediate destruction of the device. If called in contrast to machine language also Configware.
- From the perspective of a hardware designer a BIOS can thus be regarded a basal operating system and rather than software. The firmware in a computer configures the hardware ( glue logic or chip set ), so that the BIOS can be read from a data carrier (ROM) in the first place.
- An illustrative example: A package contains a circuit board with a jumper field, some jumpers, a manual and a CD. All these things are physically and thus first of all hardware. The drivers on the CD are software. The firmware is in this simple case from the jumper diagram in the manual ( computer science / software) and the inserted jumper ( Physics / hardware).
Update of firmware
Most firmware is written to a read only memory and hence can only be updated through the exchange of corresponding components. In current devices but it is becoming more common possible to replace the firmware on the software level. Flash memory or EEPROM can be erased using special procedures and rewritten. This process is colloquially called "flashing". The update enables troubleshooting and retrofitting of new features. If the upgrade - for example, by a power interruption while writing - fails, the device may become unusable: If the elementary functions for updating the firmware itself is deleted and not completely renewed, a working firmware can possibly only with special tools by the manufacturer will be restored.
In rare instances the firmware of computer accessories is not even stored in the device permanently, but is written during the boot process or when plugging the device into a RAM module that resides on the device. An update here is usually extremely easy because the firmware is simply stored as a file on the local file system of the computer and can be updated by overwriting the file. This variant is particularly WLAN cards (PCI or PCMCIA), as well as Wi-Fi adapters ( USB) often encountered. Also, the Linux kernel uses this method, among others, also in graphics cards, in order to invite free or custom firmware into devices. In many Linux distributions, you can install firmwares for devices (eg Wi-Fi chips, graphics cards ) via the package management system.
Origin of the word
The term " firmware " was coined by Ascher Opler 1967 in an article in the magazine Datamation. Initially so that the microcode in the writable microprogram memory of a microprocessor is referred to in a computer, where the instruction set of the main processor ( CPU ) is stored. The firmware could be reloaded to change the instruction set. Firmware was therefore not written in the machine code of the CPU, but in microcode. In the original sense firmware was clearly delineated by hardware ( the CPU itself ) and software ( the programs that run on the processor).
Later, the name for microcode was used, regardless of whether he was in RAM or ROM.
Thereafter, the term was broader again, for everything that is stored in ROM, such as processor machine instructions for the BIOS, boot loader, or other specialized programs.