Skip to content
Home

Firmware: embedded software that controls hardware

Firmware is low-level software programmed into hardware devices to control operation, stored in non-volatile memory and updated by flashing or OTA. This article explains types, history, uses, and security considerations.

Firmware is the low-level software programmed into a hardware device that directs its basic functions. It sits between the physical circuitry and higher-level applications: without firmware many digital devices cannot initialize, configure, or manage their hardware. The term covers a range of code types and storage methods, from small microcontroller programs to complex boot firmware on computers.

Image gallery

3 Images

What firmware is and how it differs from other software

Firmware runs directly on a device’s processor or controller and is tied closely to that hardware. Unlike typical applications that run on an operating system, firmware often executes before an OS loads and may implement device drivers, initialization routines, configuration interfaces, or real-time control loops. It may be stored in mask ROM, EEPROM, or flash memory and can be permanent or updatable. For a concise technical definition see technical definition and for embedded examples see embedded systems.

Common types and components

  • BIOS/UEFI and bootloaders — firmware that starts a PC or system and hands control to an OS.
  • Microcontroller firmware — compact programs in appliances, sensors, and controllers.
  • Device firmware — routers, SSDs, cameras, and printers use firmware for core functions.
  • Embedded real-time firmware — code with strict timing constraints used in automotive or industrial systems.

Firmware typically contains a combination of initialization code, hardware abstraction layers, communication stacks, and persistent configuration data. Developers often write it in C or assembly and debug via hardware tools such as JTAG; see development tools for more.

History and evolution

Historically firmware meant fixed programs held in read-only memory. As memory technologies evolved (EPROM, EEPROM, flash), firmware became more flexible and user-updatable. Modern devices may store firmware on external flash chips or in partitioned areas of internal storage and support update mechanisms such as USB flashing or over-the-air (OTA) upgrades. Background on storage technologies can be found at memory technologies.

Updating and security considerations

Updating firmware — often called "flashing" — fixes bugs, adds features, or closes vulnerabilities. However, firmware-level flaws are serious because they run with high privileges and may persist past OS reinstallations. To mitigate risks, manufacturers use digitally signed firmware, secure boot chains, rollback protection, and hardware roots of trust. Attack techniques and hardening practices are discussed in resources at security overview and secure boot.

Practical importance and distinctions

Firmware is critical across consumer electronics, industrial controllers, networking gear, and vehicles. It differs from drivers and applications by being device-specific and often operating without a full operating system. Because firmware bridges hardware and higher-level software, maintaining it correctly is essential for reliability, interoperability, and security. For historical context and advanced topics such as reverse engineering, see advanced topics.

Questions and answers

Q: What is firmware?

A: Firmware is a computer program that is "embedded" in a hardware device and is an essential part of the hardware.

Q: What is another term for firmware?

A: Firmware is sometimes called embedded software.

Q: What is an example of firmware?

A: An example of firmware is a microcontroller, which is a part of the microprocessor that tells the microprocessor what actions to take.

Q: Can firmware be a larger program stored on flash memory?

A: Yes, firmware can be a larger program stored on flash memory.

Q: Can firmware also be uploaded onto existing hardware by a user?

A: Yes, firmware can also be uploaded onto existing hardware by a user.

Q: How is firmware related to hardware and software?

A: Firmware is somewhere between hardware and software, connecting the two worlds.

Q: What does it mean to say that firmware has no meaning without hardware?

A: It means that firmware is linked to a specific piece of hardware and cannot function without it.

Related articles

Author

AlegsaOnline.com Firmware: embedded software that controls hardware

URL: https://en.alegsaonline.com/art/34504

Share

Sources
  • pcsupport.about.com : "What is firmware"