Firmware

Firmware, pronunțat [ pron.  firm-uăr ]   , este un termen de origine englezească ce denotă programe speciale, de mici dimensiuni, care asigură comanda și controlul unor aparate și dispozitive de o oarecare complexitate ("inteligență"). Acestea acoperă o gamă foarte largă; exemple tipice sunt camere foto digitale, calculatoare, CD-playere, DVD-playere sau MP3-playere, routere, telefoane mobile, aparate de navigare rutieră, console de jocuri video, precum și componente ca discuri dure, tastaturi sau monitoare.

Firmware-ul simplu este stocat, în mod tipic, în memorii de tip ROM sau OTP/PROM, în timp ce un firmware mai complex necesită memorii de tip flash, pentru a permite actualizări. 

În general, firmware-ul are la dispoziție o memorie relativ mică și este specializat exclusiv pentru aparatul în care este înglobat.

Generalități
Deseori firmware-ul unui aparat mai mult sau mai puțin inteligent este un secret de fabricație, utilizatorii normali ai aparatului respectiv neprimind posibilitatea să-l citească. Însă unele aparate stochează firmware-ul în memorii de tip memorie flash, care permit utilizatorilor să îl înlocuiască din când în când cu o versiune mai nouă, cu greșeli reparate, funcțiuni suplimentare, noi, sau cu algoritmi mai eficienți. Desigur însă că noile funcțiuni pot aduce cu sine și noi greșeli.

Firmware-ul se mai numește și microprogram sau microcod, pe englezește microcode, prescurtat μcode (scris cu litera grecească μ = miu), sau, în lipsa literei μ, scris în engleză uneori și mcode, dar chiar și ucode (datorită asemănării grafice a literei grecești "μ" cu litera latină "u", deși nu este nicio altă legătură între ele).

În unele domenii, în loc de firmware sau microcod se spune și "software", ceea ce creează potențial pentru neînțelegeri, softul fiind în general programul sau programele unui calculator sau aparat programabil.

A nu se confunda nici cu driver-ul, care este software pentru un calculator, situat ca funcționalitate între sistemul de operare și componentele hardware ale calculatorului respectiv.

"Hacking" de firmware
Este vorba de versiuni de firmware modificate (în unele cazuri prin violarea acordului de licențiere) de obicei de către părți terțe. Modificările constau deseori în adăugarea de funcții suplimentare, activarea unor funcții ținute ascunse de către producător, sau și corectarea unor "bug"-uri (erori). Utilizarea unor astfel de versiuni de firmware se face pe propria răspundere a cumpărătorului, deoarece în general conduce la pierderea garanției și a dreptului de a primi la nevoie ajutor (suport) din partea producătorului. Din punct de vedere tehnic poate induce eventuale funcționări greșite, de exemplu dacă nu este respectată o anume procedură de instalare, sau dacă este folosit un fișier cu modificări de firmware gândit pentru un alt tip/model de echipament.
Majoritatea versiunilor de firmware modificate au la bază software liber sau Open source.

Exemple de firmware-uri modificate:
 region free pentru unitățile DVD pentru computer
 modificarea fonturilor subtitrării (mărime, background, culoare) pentru playere DVD 
 DD-WRT, OpenWrt, Tomato pentru router-ele fără fir (wireless)

Referințe

Firmware
Sisteme înglobate
Anglicisme