Home
» Wiki
»
What is Firmware? How is Firmware different from Software?
What is Firmware? How is Firmware different from Software?
What is firmware?
Firmware is a program written into the non-volatile memory of a hardware device. Volatile memory is a form of static random access memory whose contents are retained when the hardware device is turned off or loses external power.
Firmware is installed directly into a piece of hardware during manufacturing. It is used to run user programs on the device and can be thought of as the software that enables the hardware to run.
Firmware is the foundation of the software stack that computer hardware uses for basic operations and running applications.
Hardware manufacturers use embedded firmware to control the functionality of various hardware systems and devices, much like a computer's operating system controls the functionality of software applications. Firmware can be written to read-only memory (ROM), erasable programmable read-only memory (EPROM), or flash memory.
American computer scientist Ascher Opler coined the term firmware in a 1967 issue of Datamation. He used the term to describe a type of microprogram that sits between hardware and software.
Today, embedded firmware exists in everything from smartphones to Internet of Things (IoT) devices . It is often included in devices that are not traditionally considered capable of being controlled by a computer.
Why are firmware updates important and how do they work?
Firmware updates are often released to fix bugs, prevent firmware hacking, implement new features, improve security, or interact with new media. Firmware updates include code that tells the hardware how to operate in a new or modified way.
Some examples of firmware updates include:
CD burners are capable of burning a new type of disc.
The router receives an update that improves its performance and stability.
A motherboard manufacturer releases a BIOS update that enables the motherboard to support a new processor. BIOS is motherboard software.
Some Internet-connected devices regularly check for new firmware and automatically download and install it. Other device manufacturers require users to visit the manufacturer's website to manually download and install firmware updates. Manufacturers release updates on a regular basis.
The frequency of firmware updates will vary depending on the device. The firmware in a smart light bulb may not need to be updated as often. However, the firmware on a smart thermostat may need to be updated periodically to maintain compatibility with smartphone operating system updates. Smartphones often automatically upgrade their firmware with software updates so that the phone stays functional and the user does not have to manually update the firmware to coincide with the software updates. The process of updating firmware remotely by downloading the upgrades from a service provider is sometimes referred to as over-the-air firmware.
Over-the-air updates are a common way for IoT devices to upgrade their firmware.
Many electronic devices also require the device to be turned on while updating firmware to avoid corrupting the update. Corrupting the device's firmware can affect some devices or cause them to malfunction.
Types of firmware
There are many types of technology-specific Firmware, but generally all firmware can be classified into three types based on the level of hardware integration.
Low-level firmware . Low-level firmware is considered an intrinsic part of the device's hardware. It is typically stored on volatile, read-only chips like ROM and therefore cannot be rewritten or updated. Devices containing low-level firmware have one-time programmable memory.
High-level firmware . High-level firmware allows for updates and is often more complex than low-level firmware. In computers, high-level firmware resides on flash memory chips.
Subsystem firmware . Subsystem firmware is often part of an embedded system. It is similar to high-level firmware in that it can be updated and is more complex than low-level firmware. An example is the server power subsystem, which is a piece of server hardware that functions semi-independently of the server.
Applications of firmware
Firmware is found in many types of computing devices, including complex devices and devices that are not typically considered computing devices. Some real-world applications of firmware include:
Personal Computers . A personal computer's firmware - BIOS or Unified Extensible Firmware Interface (UEFI) - is embedded on a small memory chip on the computer's motherboard. A computer's peripherals, such as graphics and video cards, also contain firmware.
Storage devices . USB drives, hard drives, and other portable storage devices contain basic firmware that allows them to work with a computer.
Mobile devices . Cell phones, tablets, laptops, and other mobile devices all contain firmware that allows the hardware to work with different software.
Cars . Cars contain many embedded systems, sensors, and small computers containing firmware that allow them to perform designated tasks.
Home appliances . Dishwashers and washing machines are among the appliances that contain firmware. Firmware helps the machine communicate with the computer and is used to configure the machine's settings and control its operations.
Smart card . Smart card has instructions embedded in a chip that provides the basic functionality of the card as well as authentication and encryption.
Difference between firmware and software
Although some people consider firmware to be a type of software, there is a difference between the two concepts.
Firmware
Firmware is software that provides basic instructions for a machine that allow the hardware to operate and communicate with other software running on the device. Firmware provides low-level control over the hardware of a device. For this reason, it is sometimes referred to as “software for hardware.” Another distinguishing feature is that firmware is often not designed to be user-friendly.
Software
Software is designed for users to interact with to complete specific tasks. It sits on top of firmware, which is abstracted from hardware and uses firmware to communicate with the underlying hardware. Software is more complex and is not tied to the underlying hardware.
Examples of software include computer programs such as operating systems. Word processing, online meeting, and music player applications are also examples of software. A software program can usually be changed without replacing hardware components, while firmware usually cannot.
Firmware embedded in flash memory chips can be updated more easily than firmware written to ROM or EPROM. As flash memory plays a larger role in the enterprise, administrators must learn about the different types of flash memory and their use cases.