What does firmware do?Many modern products large and small contain computers and implement their functionality with software. For example, the firmware embedded in a washing machine may include algorithms for using the mechanical elements of the machine to efficiently wash different types of clothing under different load conditions.
Why is firmware updated?Firmware is commonly updated to fix bugs, improve product functionality and patch security vulnerabilities. In some cases, firmware adds unwanted features or changes a product in a way that is perceived negatively by users. For example, a firmware update may add new restrictions to a product or introduce security fixes that decrease the speed and performance of the product.
How is firmware updated?There are several ways that firmware is commonly updated:HostSome firmware needs to be connected to a host to receive an update. For example, a technician may connect a laptop to a vehicle to update its firmware.MediaIf a device accepts media such as an sd card this may be used to update firmware. For example, a game card for a game console may update the firmware of the console before the game can be played.Operating SystemsA device may be updated by an operating system. This can be either a manual or automatic process. For example, an operating system may push out weekly updates that include new firmware for devices such as a touchscreen. NetworkIn some cases, a device may be able to connect to back to the manufacturer to update itself. For example, a television set that is connected to wifi may be able to update itself over the network. This may be a manual or automatic process.
What is bricking?Bricking is when a firmware update fails rendering a product useless. In some cases, manufacturers provide updates that assume instructions will be followed with precision under ideal conditions. Firmware updates are notorious for bricking devices based on minor human or technical errors. It is possible to design firmware updates using reliability engineering techniques that make bricking unlikely.
Firmware vs DriversA driver is software that is used to integrate a device. The most common example is a driver that is used to integrate hardware with an operating system. Firmware is installed on the device itself. Drivers may be managed by external software such as an operating system.
Firmware vs Operating SystemOperating systems are foundational software systems for using hardware. They are similar to firmware but support a large number of devices and a broad range of functionality. Firmware is often specific to the hardware and functionality of a device.
Firmware vs Embedded SystemsAn embedded system is a product that contains a computer. Firmware is the software used on an embedded system.
Firmware vs Internet of ThingsThe internet of things is a class of embedded systems that can connect to the internet to extend their functionality. This allows firmware to be updated and managed remotely by a service provider.
Proprietary software contained inside a product that is necessary to its functionality.
Software used by embedded systems.