Firmware is a software or program . It is used to run computing hardware ,devices or machines . Firmwares are set of instructions which are written for read-only memory or ROM of a computing device.
It is added in device at the time of manufacturing. It is used to run user programs on the device.
Modem and Router is a simple example to understand firmwares . In a Modem or Router has a ROM or read only -memory . And in this ROM a firmwares is added at time of manufacturing .
Basic difference between a software and firmwares is that, the user of computing device can install and uninstall software .But firmwares can’t uninstalled by end user .