(also embedded software, embedded system)
Firmware is a type of software that provides low-level control over the hardware it is embedded into. All digital devices have firmware. For complex devices, firmware may only contain basic functions and loading instructions. For simple devices, firmware may act as the entire operating system.
Firmware is installed in a special memory space within the hardware itself during the manufacturing process. Manufacturers typically do not allow end users to alter or delete firmware — doing so may void the device’s warranty and leave it inoperable. Nevertheless, a process called “flashing” lets users overwrite firmware in certain cases.
Levels of firmware
- Low-level firmware is stored on non-volatile memory chips that often cannot be rewritten or updated. Low-level firmware is considered to be intrinsic to the hardware itself.
- High-level firmware is stored on flash memory chips and can be updated.
- Subsystems are semi-independent parts of larger systems. Subsystems have their own microcode embedded in flash chips, CPUs, and LCD units.
Real firmware examples
BIOS: The Basic Input/Output System (BIOS) is PC firmware that is installed on a chip in the computer’s motherboard. BIOS holds the computer’s startup instructions and checks its hardware components during the boot sequence. BIOS also lets the operating system interact with peripherals.