La mayoría de los programas deben cargarse desde el almacenamiento masivo a la RAM para poder ejecutarse. El problema es que, cuando se enciende un ordenador, la RAM está vacía, por lo que si se utiliza el enfoque anterior, estaría atascado – no habría ningún programa en la RAM, y sin embargo se necesita un programa en algún lugar con el fin de cargar programas en la RAM. El firmware es una forma de resolver este problema. Un programa almacenado en el firmware es «no volátil», lo que significa que no desaparece cuando se apaga. Además, los programas pueden ejecutarse directamente desde el firmware: no es necesario cargarlos primero en la RAM. Por eso los ordenadores contienen un programa en el firmware, llamado BIOS, que se inicia automáticamente cuando se enciende el ordenador. La BIOS se utiliza entonces para cargar el sistema operativo en la RAM.
El firmware también se utiliza en otros contextos. Suponga que tiene (por ejemplo) un router para conectarse a Internet. Por regla general, los routers no vienen con almacenamiento masivo – en su lugar, el programa de control para el router se mantiene en el firmware.
Un tercer ejemplo, por supuesto, es un teléfono móvil. Tu móvil no está conectado a un disco duro, y puede que no tenga una tarjeta SD – entonces, ¿cómo se inicia el móvil cuando lo enciendes? La respuesta es que el sistema operativo (Android o iOS) se mantiene en el firmware, por lo que está presente en el arranque. De hecho, cuando se instala una aplicación, ésta se añade al firmware del móvil, por lo que la aplicación seguirá estando disponible aunque se apague y se vuelva a encender el teléfono.