Il firmware è una programmazione scritta nella memoria non volatile di un dispositivo hardware. La memoria non volatile è una forma di memoria statica ad accesso casuale il cui contenuto viene salvato quando un dispositivo hardware viene spento o perde la sua fonte di alimentazione esterna.
Il firmware, che viene aggiunto al momento della produzione, viene utilizzato per eseguire i programmi utente sul dispositivo e può essere considerato come il software che consente l'esecuzione dell'hardware. I produttori di hardware utilizzano il firmware incorporato per controllare le funzioni di vari dispositivi e sistemi hardware, proprio come il sistema operativo (OS) di un computer controlla la funzione delle applicazioni software. Il firmware può essere scritto in memoria di sola lettura (ROM), memoria di sola lettura programmabile cancellabile (EPROM) o memoria flash. Il firmware incorporato nei chip di memoria flash può essere aggiornato più facilmente del firmware scritto su ROM o EPROM, il che lo rende più adattabile.
Oggi, il firmware incorporato esiste in tutto, dagli smartphone ai dispositivi Internet of Things (IoT) che sono così semplici che potresti non immaginare che avessero il controllo del computer. Mentre il firmware in una lampadina intelligente potrebbe non richiedere aggiornamenti frequenti, potrebbe essere necessario aggiornare periodicamente il firmware su un termostato intelligente per rimanere compatibile con gli aggiornamenti del sistema operativo dello smartphone.
Gli aggiornamenti del firmware vengono spesso rilasciati per correggere bug, implementare nuove funzionalità e migliorare la sicurezza. Alcuni dispositivi compatibili con Internet verificano regolarmente la presenza di nuovo firmware e lo scaricano e installano automaticamente, mentre altri produttori di dispositivi richiedono che l'utente visiti il sito Web del produttore per scaricare gli aggiornamenti del firmware e installarli manualmente.