What does Firmware mean?
Firmware is a type of software that is etched directly into a piece of hardware. It operates without going through APIs, the operating system, or device drivers—providing the needed instructions and guidance for the device to communicate with other devices or perform a set of basic tasks and functions as intended.
Without firmware, the most basic of devices would not function. That is why it is often stored on a Read-Only Memory (ROM) chip, ensuring it does not get erased by accident, all while remaining as close as possible to the metal of the device.
Firmware comes in various complexities and can be found in simple devices, like keyboards and hard drives, to more complex ones, like graphics cards and Basic Input/Output System (BIOS).
In Android operating systems, the firmware is different depending on the manufacture, that is, it is the operating software is device-specific.
When a device is powered on, firmware is the first part to run and starts sending instructions to the device's processor to execute. If the device is as simple as a keyboard, the firmware does not stop working as there is no software to replace it. However, in more complex devices, such as PCs, laptops, and tablets, there are often multiple firmware sets that interact to achieve a common goal; load the operating system.
Regardless of the type of device, firmware can only work with a basic or low level, binary language known as machine language. While the firmware's code could be written in a high level language for ease and versatility, it needs to be translated into a low level language before getting etched into the device.
The same firmware cannot run on processors it was not designed for, as different processors can only identify certain instructions. If a device’s firmware were to get corrupted—during an update, for example—it cannot be fixed, as there is no way to communicate with the machine to install a replacement.
Techopedia explains Firmware
Originally, firmware was strictly written on ROM chips. That allowed it to be cheap to manufacture and ensured it did not get deleted or tampered with.
Programmable Read-Only Memory (PROM) chips were also used and allowed for a wider array of firmware. But using ROM and PROM to store firmware means that when a device's firmware becomes outdated, it cannot be updated, only replaced.
Firmware differs from drivers in that firmware is what instructs the device how to operate and the driver is the software that acts as a messenger between the operating system and the hardware.
As technology advanced more rapidly, firmware started becoming outdated sooner, before the hardware got worn down. Manufacturers then switched to using Erasable Programmable Read-Only Memory (EPROM) chips, which allowed for firmware updates. But since EPROM chips were expensive to manufacture and time-consuming to program and update, firmware eventually evolved to flash memory chips, as they are cheap and easy to write and rewrite on.
Depending on where it is stored and the complexity of its functionality, firmware has three levels:
1. Low Level Firmware: This level of firmware is stored on non-volatile memory chips such as ROM, PROM—also known as One-Time Programmable (OTP) memory—and Programmable Logic Array (PLA) structures. Because low level firmware is often stored on read-only chips that cannot be rewritten or updated, it is considered an intrinsic part of the hardware.
2. High Level Firmware: This firmware is used with flash memory chips to allow for updates. It often has more complex instructions than low level firmware, making it closer to software than hardware.
3. Subsystems: A subsystem is a device or unit that is a semi-independent part of a larger system. Because this firmware level has its microcode embedded in flash chips, CPUs, and LCD units, and is similar to high level firmware, it often resembles its own device.
BIOS, modems, and video cards are usually made to be easy to update as their technology rapidly evolves. But firmware in storage devices, like hard drives and USB flash drives, often gets overlooked. That is because storage device's functionality is limited and straightforward, making it unnecessary to update them as often.
Firmware is an integral piece of the tech puzzle. It is what makes the computer "go." Without it, hardware devices wouldn't know how to do their job.