Firmware

Edit · View history

Firmware

Firmware is a class of computer software that provides low-level control for a device's specific hardware. It is typically stored in non-volatile memory such as Read-only memory (ROM), Flash memory, or EEPROM, allowing it to persist even when power is removed. Unlike regular Software that can be easily modified by the user, firmware is closely tied to the hardware it controls and is often supplied by the device manufacturer. Common examples include the BIOS or UEFI in personal computers, the operating code in Embedded systems, and the control programs in network routers, digital cameras, and Microcontroller-based appliances.

History and Development

Early computing systems stored firmware in mask-programmed ROM, which could not be altered after manufacture. The introduction of programmable read-only memory (PROM) and erasable programmable read-only memory (EPROM) allowed manufacturers to update firmware during production or in the field. The advent of Flash memory in the 1990s made it practical for end users to upgrade firmware, enabling devices to receive bug fixes, security patches, and new features without hardware replacement. Today, many devices support over-the-air (OTA) firmware updates, a standard feature in Internet of things (IoT) devices and smartphones.

Characteristics

Firmware occupies an intermediate position between hardware and software. It is stored in memory that behaves as Hardware from the perspective of the operating system, but its content is programmable. Key characteristics include: