Als je ooit hebt gedobberd in aangepaste ROM’s of het handmatig installeren van een Android OS-update, ben je misschien de term ‘firmware’ tegengekomen. Bij het flashen van een OS-update, moet de software worden gebouwd voor apparaat-specifieke firmware of hardware. Dit verschil is een deel van de reden waarom het zo lang kan duren om de nieuwste versie van Android naar alle apparaten uit te rollen.
Het is niet meteen duidelijk, maar er is een cruciaal onderscheid tussen firmware en software, waarvan de laatste waarschijnlijk een veel bekendere term is. In een notendop, firmware zit heel dicht bij hardware, terwijl software bovenop de firmware zit. Maar er komt nog iets meer bij kijken, en er zijn gebieden waar er ruimte is voor een beetje cross-over. Laten we firmware en software eens nader bekijken.
Firmware en software
Firmware en software zijn stukjes code die op de hardware van uw telefoon en andere gadgets worden uitgevoerd. Het belangrijkste onderscheid is wat ze moeten doen, waar ze worden opgeslagen, en hoe gemakkelijk ze zijn bij te werken en te veranderen.
Software wordt over het algemeen beschouwd als een programma of stuk code dat is ontworpen voor interactie met de gebruiker. Het is de “top level” van de code die gebruikers in staat stelt om wat ze nodig hebben om. Dit kan een app op uw smartphone zijn, een home screen widget, en net daaronder zelfs het Android OS zelf. Software wordt meestal geschreven in een taal op hoog niveau, zoals Java, met veel bibliotheken en kant-en-klare functies om de ontwikkeling te vergemakkelijken.
Software – interactieve toepassingen die worden uitgevoerd op de hardware van een apparaat
Software draait op de CPU en andere hoofdprocessoren, waarbij gebruik wordt gemaakt van RAM en flashopslag om gegevens op te slaan en te laden. Een ander belangrijk punt is dat software kan worden gewijzigd zonder dat hardware hoeft te worden aangepast, waardoor het eenvoudig kan worden bijgewerkt. Op enkele uitzonderingen na, is software ontworpen om zo hardware-agnostisch mogelijk te zijn.
Firmware, ter vergelijking, is niet ontworpen om direct door een gebruiker te worden gebruikt. In plaats daarvan is het het verborgen “laagste niveau” van de code die op uw apparaat draait. Hoewel er strikt genomen verschillende niveaus van firmware kunnen zijn, net zoals er verschillende niveaus van software kunnen zijn. In plaats van op de hoofd-CPU, draait firmware vaak op kleinere processoren die speciaal voor bepaalde hardware zijn ontworpen. Dit kan bijvoorbeeld een geheugencontroller zijn voor een flashgeheugenschijf. Firmware wordt meestal geschreven in een taal op laag niveau, zoals C, met weinig ondersteuning van bibliotheken, aangezien de code sterk is toegesneden op individuele apparaten.
Firmware – low-level code die de specifieke hardware van een apparaat bestuurt en configureert
Firmware is code die configureert hoe hardware moet werken en die voorziet in de basisfuncties ervan. Het is de essentiële ruggengraat die ervoor zorgt dat hardware werkt en toegankelijk is voor software op hoger niveau. Hardware met eigen firmware zijn onder meer flash-geheugenchips, CPU’s en beeldschermen. Het kan wat lastiger zijn om firmware bij te werken, omdat software die erop draait ervan afhankelijk is. Daarom hoeft u uw telefoon niet opnieuw op te starten na het updaten van een app, maar wel wanneer u een grote Android-versie-update installeert.
Uw smartphone aan de praat houden
De strijd tussen firmware en software woedt binnenin uw smartphone. In feite zijn de twee essentieel om alles soepel te laten verlopen. Je hebt nooit direct contact met de firmware, maar deze voert een aantal belangrijke functies uit.
Firmware in je smartphone omvat code die in de cameramodule draait. Deze handelt beeldverzameling en vroege verwerking af, alvorens gegevens door te geven aan de ISP en andere verwerkingscomponenten. Ook het beeldscherm heeft zijn eigen kleine microprocessor, compleet met firmware, om kleurgegevens, helderheid, gamma en andere instellingen te verwerken. Zelfs de CPU heeft zijn eigen firmware in de vorm van een low-level kernel om de taakplanning, kloksnelheden en stroomverbruik te optimaliseren.
Smartphone software omvat het Android-besturingssysteem en vervolgens de apps die daar bovenop draaien. Dus al uw apps zijn software, waaronder Facebook, Chrome, Gmail en de Play Store.
Zoals u kunt zien, zult u regelmatig communiceren met, updaten, toevoegen en verwijderen van software van uw apparaat. Firmware blijft stevig op de achtergrond.