Firmware (česky často nepřekládáno, případně označováno jako mikroprogramové vybavení) je specifická kategorie softwaru, která slouží k nízkoúrovňovému ovládání konkrétního elektronického hardwaru. Můžeme si ho představit jako absolutní základní „mozek“ nebo „instinkt“ každého digitálního zařízení.
Zatímco běžný software (např. webový prohlížeč nebo textový editor) je navržen tak, aby interagoval s uživatelem a plnil široké spektrum abstraktních úloh, firmware je pevně svázán s fyzickým zařízením, ve kterém je nahrán. Bez firmwaru by hardware byl jen zbytečnou hromadou křemíku, plastu a kovu – vůbec by nevěděl, jak má zapnout své obvody, jak číst data ze senzorů nebo jak komunikovat s vnějším světem.
Slovo „firmware“ je složeninou slov firm (pevný, stálý) a ware (vybavení/zboží). Záměrně tak tvoří logický mezistupeň mezi Hardwarem (fyzickými komponentami, které nelze změnit) a Softwarem (programy, které lze snadno smazat a přepsat).
Historicky se firmware vypaloval do pamětí typu ROM (Read-Only Memory) nebo OTP (One-Time Programmable) přímo při výrobě v továrně a nebylo možné jej jakkoliv změnit. Pokud obsahoval chybu, musel se fyzicky vyměnit celý čip.
Dnes se firmware ukládá do přepisovatelných nevolatilních pamětí (paměti, které neztrácejí obsah po odpojení od napájení), nejčastěji do EEPROM nebo pamětí typu Flash. Díky tomu jej lze aktualizovat, i když je to proces mnohem riskantnější než instalace běžného softwaru.
Lidé si firmware nejčastěji spojují s počítači, ale ve skutečnosti se nachází téměř v každém moderním elektronickém zařízení:
Procesu přepsání starého firmwaru novější verzí se v IT hantýrce říká Flashing (z angl. flashování). Výrobci vydávají aktualizace ze tří hlavních důvodů:
Aktualizace firmwaru je kritický proces. Pokud je běžný program aktualizován a dojde k výpadku proudu, operační systém obvykle nahlásí chybu a vy program prostě přeinstalujete.
Pokud však vypadne napájení ve chvíli, kdy se přepisuje firmware (nebo je stažen soubor určený pro jiný model zařízení), zařízení po restartu nebude vědět, jak nastartovat. Z drahého přístroje se tak stane nefunkční těžítko (anglicky brick = cihla). Tento stav je bez specializovaného hardwarového vybavení v servisu často nevratný. Moderní prémiové systémy (jako lepší základní desky) to řeší funkcí Dual BIOS – obsahují dva čipy, a pokud se aktualizace prvního nezdaří, systém automaticky nabootuje ze záložního.
Tyto dva pojmy se často pletou, protože oba slouží k obsluze hardwaru. Je mezi nimi ale zásadní rozdíl:
| Vrstva | Charakteristika | Příklad | Fyzické uložení |
|---|---|---|---|
| Uživatelský Software | Vysoce abstraktní, interaguje s uživatelem. Snadno vyměnitelný. | Webový prohlížeč, MS Word | HDD / SSD počítače |
| Operační systém | Spravuje zdroje počítače (paměť, procesor) a zprostředkovává I/O operace. | Windows, Linux, Android | HDD / SSD počítače |
| Ovladač (Driver) | Softwarový modul v OS, který překládá požadavky systému pro konkrétní hardware. | NVIDIA GeForce Driver | HDD / SSD (složky OS) |
| Firmware | „Mozeček“ zařízení. Přijímá instrukce z ovladače a mechanicky/elektricky řídí hardware. | UEFI, firmware disku | Flash paměť na plošném spoji zařízení |
| Hardware | Fyzické elektronické a mechanické součástky. | Křemíkový čip, relé, tranzistory | Fyzická realita |