La maggior parte dei programmi deve essere caricata dalla memoria di massa alla RAM per poter essere eseguita. Il problema è che quando accendi un computer, la RAM è vuota, quindi usando l'approccio di cui sopra, saresti bloccato - non ci sarebbe nessun programma nella RAM, eppure hai bisogno di un programma da qualche parte per caricare programmi nella RAM. Il firmware è un modo per risolvere questo problema. Un programma memorizzato nel firmware è "non volatile" - questo significa che non scompare quando si spegne l'alimentazione. E i programmi possono essere eseguiti direttamente dal firmware - non hanno bisogno di essere prima caricati nella RAM. Per questo motivo i computer contengono un programma nel firmware, chiamato BIOS, che si avvia automaticamente quando il computer viene acceso. Il BIOS viene poi usato per caricare il sistema operativo nella RAM.
Il firmware viene usato anche in altri contesti. Supponiamo di avere (per esempio) un router per la connessione a internet. Di regola, i router non hanno una memoria di massa - invece, il programma di controllo del router è contenuto nel firmware.
Un terzo esempio, naturalmente, è un telefono cellulare. Il tuo cellulare non è collegato a un disco rigido, e potrebbe non avere una scheda SD - quindi come si avvia il cellulare quando lo accendi? La risposta è che il sistema operativo (Android o iOS) è contenuto nel firmware, quindi è presente all'avvio. Infatti, quando si installa un'app, questa viene aggiunta al firmware del cellulare, quindi l'app sarà ancora disponibile anche se si spegne e si riaccende il telefono.