Electronic devices often have some permanently installed software that controls basic functions of the hardware. This software is called firmware and is usually stored in non-volatile memories, such as EPROM or Flash memory. Firmware assumes an intermediary role between the hardware and software – including potential future upgrades of the software. Some firmware (such as the BIOS on a PC) does the job of booting up a computer by initialising the hardware components and loading the operating system. But firmware isn’t just for traditional computers. Many other devices have firmware installed, such as printers and smartphones.
Until relatively recently, it was rarely possible to change, replace or update firmware. Even when it was possible, it involved replacing hardware components. But now, modern devices support updates at the software level.
This is how new functions for modern devices are made available and also how software malfunctions and equipment issues are fixed. The firmware is upgraded or replaced with a different version through special software which rewrites the non-volatile memory.
Significant problems may arise when an error occurs during the firmware update. In the worst-case scenario a device can be left completely useless, because the elementary hardware functions can no longer be performed. Such errors can occur, for example, when an unexpected power interruption happens during the update.