In computers is firmware een term die vaak wordt gebruikt om de vaste, meestal kleine, programma's en/of datastructuren aan te duiden die intern verschillende elektronische apparaten aansturen. Typische voorbeelden van apparaten met firmware variëren van eindgebruikersproducten zoals afstandsbedieningen, computeronderdelen, geheugenkaarten, enz. Firmware is ook een relatieve term, aangezien de meeste embedded apparaten firmware op meer dan één niveau bevatten.
Firmware is te vinden op moederborden en in talloze elektronische modules, zowel draagbaar als stationair, waar software is ontworpen om permanent te zijn en niet routinematig te worden bijgewerkt. Firmware is de manier waarop software wordt opgeslagen in handhelds en andere apparaten zonder harde schijf. Het is veel compacter, robuuster en zuiniger dan een schijfstation. Veelvoorkomende redenen voor het updaten van firmware zijn het verhelpen van bugs of het toevoegen van functies aan het apparaat. Dit gebeurt meestal door een binair imagebestand van de fabrikant in het apparaat te laden volgens een specifieke procedure; dit is soms de bedoeling van de eindgebruiker. Gezien de snel veranderende omgeving op het gebied van software en netwerken is het van het grootste belang om voortdurend betrokken te zijn bij het
firmwareontwikkelingsproces . Dit is noodzakelijk om uw software af te stemmen op de behoeften van de markt. Engineers die werken aan de ontwikkeling van embedded systemen moeten ruime ervaring hebben met zowel hardware- als softwaresystemen. Eén enkele fout kan leiden tot enorme kosten voor het terugroepen en vervangen van de defecte producten door de fabrikant. Daarom moet de keuze van een ontwikkelproces voor embedded firmware met de nodige zorgvuldigheid en intelligentie worden uitgevoerd.