Firmueri

parapamje|204x204px|AverMedia RM-RH Remote control

Në kompjuter, **firmueri** është një klasë specifike e softuerit kompjuterik që siguron kontrollin e nivelit të ulët për harduerin specifik të një pajisjeje. Firmueri, si BIOS-i i një kompjuteri personal, mund të përmbajë funksionet bazë të një pajisjeje dhe mund të ofrojë shërbime të abstraksionit të harduerit për softuerët e nivelit më të lartë si sistemet operative. Për pajisjet më pak komplekse, firmueri mund të veprojë si sistemi i plotë operativ i pajisjes, duke kryer të gjitha funksionet e kontrollit, monitorimit dhe manipulimit të të dhënave. Shembuj tipikë të pajisjeve që përmbajnë firmuer janë sistemet e integruara (me softuer të integruar), pajisjet shtëpiake dhe për përdorim personal, kompjuterët dhe pajisjet periferike kompjuterike.

Firmueri mbahet në pajisjet e memories jo të paqëndrueshme si ROM, EPROM, EEPROM dhe memorie flash. Përditësimi i firmuerit kërkon që qarqet e integruara ROM të zëvendësohen fizikisht, ose EPROM ose memoria flash të riprogramohet përmes një procedure të veçantë. Disa pajisje memorie firmueri janë instaluar përgjithmonë dhe nuk mund të ndryshohen pas prodhimit. Arsyet e zakonshme për përditësimin e firmuerit përfshijnë rregullimin e gabimeve ose shtimin e veçorive.

Inxhinieri i sistemeve të integruara ose softuerit ndihmon në zhvillimin dhe dizajnimin e Firmware të personalizuar të besueshëm për komponentë të ndryshëm në industri të ndryshme.

## Historia 
Ascher Opler shpiku termin firmware në një artikull të 1967 Datamation. Në këtë artikull, Opler po i referohej një lloji të ri programi kompjuterik që kishte një qëllim të ndryshëm praktik dhe psikologjik nga programet tradicionale nga këndvështrimi i përdoruesit.

Ndërsa kompjuterët filluan të rriteshin në kompleksitet, u bë e qartë se programe të ndryshme duhej fillimisht të inicoheshin dhe të ekzekutoheshin për të siguruar një mjedis të qëndrueshëm të nevojshëm për ekzekutimin e programeve më komplekse sipas gjykimit të përdoruesit. Kjo kërkonte programimin e kompjuterit për t'i ekzekutuar ato programe automatikisht. Për më tepër, ndërsa kompanitë, universitetet dhe tregtarët donin t'u shisnin kompjuterë njerëzve të thjeshtë me pak njohuri teknike, automatizimi më i madh u bë i nevojshëm për t'i lejuar një përdoruesi të thjeshtë të ekzekutonte me lehtësi programet për qëllime praktike. Kjo shkaktoi një lloj softueri që një përdorues nuk do ta ekzekutonte me vetëdije, dhe çoi në softuer që një përdorues laik as nuk do ta dinte.

Fillimisht, ai nënkuptonte përmbajtjen e një dyqani kontrolli të shkruajtshëm (një memorie e vogël e specializuar me shpejtësi të lartë), që përmban mikrokod që përcaktonte dhe zbatonte grupin e udhëzimeve të kompjuterit dhe që mund të ringarkohej për të specializuar ose modifikuar udhëzimet që njësia qendrore e përpunimit (CPU ) mund të ekzekutohej. Siç u përdor fillimisht, firmware ishte në kontrast me harduerin (vetë CPU) dhe softuerin (udhëzimet normale që ekzekutohen në një CPU). Ai nuk ishte i përbërë nga udhëzimet e makinës CPU, por nga mikrokodi i nivelit më të ulët i përfshirë në zbatimin e udhëzimeve të makinës. Ai ekzistonte në kufirin midis harduerit dhe softuerit; pra emri firmware. Me kalimin e kohës, përdorimi popullor e zgjeroi fjalën firmware për të treguar çdo program kompjuterik që është i lidhur ngushtë me harduerin, duke përfshirë BIOS-in në PC, ngarkuesit me bootstrap në telefona ose sistemet e kontrollit për pajisje të thjeshta elektronike si furrat me mikrovalë, telekomandat ose pajisjet periferike të kompjuterit.

## Aplikacionet 
### Kompjuterët personalë 
Firmware ROM BIOS në një motherboard Baby AT

Në disa aspekte, komponentët e ndryshëm të firmuerit janë po aq të rëndësishëm sa sistemi operativ në një kompjuter që funksionon. Megjithatë, ndryshe nga shumica e sistemeve operative moderne, firmware rrallë ka një mekanizëm automatik të zhvilluar mirë të përditësimit të vetvetes për të rregulluar çdo problem funksionaliteti të zbuluar pas dërgimit të njësisë.
parapamje|316x316px|Kompjuter-pllakë amë
BIOS mund të përditësohet "manualisht" nga një përdorues nëpërmjet një programi të vogël të shërbimeve. Në të kundërt, firmware në pajisjet e ruajtjes masive (disqet e diskut, disqet optike, ruajtja e memories flash, p.sh. disku i gjendjes së ngurtë) përditësohet rrallë, edhe kur memoria flash (në vend të ROM, EEPROM) përdoret për firmuerin.

Shumica e pajisjeve periferike kompjuterike janë në vetvete kompjuterë me qëllime të veçanta. Pajisjet si printerët, skanerët, kamerat në internet dhe disqet USB flash kanë firmware të ruajtur brenda; disa pajisje mund të lejojnë gjithashtu përmirësimin në terren të firmuerit të tyre.

Disa pajisje periferike me kosto të ulët nuk përmbajnë më memorie jo të paqëndrueshme për firmware, dhe në vend të kësaj mbështeten në sistemin pritës për të transferuar programin e kontrollit të pajisjes nga një skedar disk ose CD.

### Produkte shtëpiake dhe për përdorim personal 
Që nga viti 2010, shumica e luajtësve portativë të muzikës mbështesin përmirësimet e firmuerit. Disa kompani përdorin përditësime të firmuerit për të shtuar formate të reja skedarësh të luajtshëm (kodekë). Karakteristika të tjera që mund të ndryshojnë me përditësimet e firmuerit përfshijnë GUI-në ose edhe jetëgjatësinë e baterisë. Shumica e telefonave celularë kanë një firmware mbi aftësinë për të përmirësuar firmware-in për pothuajse të njëjtat arsye; disa madje mund të përmirësohen për të përmirësuar marrjen ose cilësinë e zërit.

### Automobilat 
Që nga viti 1996, shumica e automobilave kanë përdorur një kompjuter në bord dhe sensorë të ndryshëm për të zbuluar problemet mekanike. Që nga viti 2010, automjetet moderne përdorin gjithashtu sisteme frenimi kundër bllokimit të kontrolluara nga kompjuteri (ABS) dhe njësi kontrolli të transmisionit të drejtuar nga kompjuteri (TCU). Shoferi mund të marrë gjithashtu informacione në vizë gjatë vozitjes në këtë mënyrë, si kursimi i karburantit në kohë reale dhe leximet e presionit të gomave. Tregtarët lokalë mund të përditësojnë shumicën e firmuerit të automjeteve.

## Shiko edhe 
* Hardueri
* Softueri

## Referime