En informatique, un micrologiciel (ou firmware en anglais) est un logiciel qui est intégré dans un composant matériel (en anglais hardware).
Le micrologiciel peut résider:
Dans la plupart des cas ce logiciel gère le fonctionnement local du système électronique.
D'une manière générale, le micrologiciel cumule les avantages du logiciel, dont la souplesse est maximale puisqu'il est aisé de le modifier, et du matériel, dont le coût mais aussi la souplesse sont moindres. Cette organisation apparaît clairement dans les noms en anglais: soft > firm > hard (-ware). Dans ce contexte, quand on oppose logiciel et l'anglicisme 'firmware' (qui est un type de logiciel) on considère que " logiciel " signifie " logiciel de haut niveau exécuté par le CPU ". De son côté, le micrologiciel interagit avec des composants matériels qui ne peuvent plus être modifiés une fois fabriqués, ce qui réduit la nécessité de le mettre à jour.
L'utilisateur final n'a d'ordinaire pas accès directement au micrologiciel mais peut parfois le modifier par l'installation de mises-à-jour (MaJ logicielle) pour profiter d'améliorations mineures ou de corrections de bogues. Pour cela il faut que le micrologiciel réside dans certains types de mémoires ROM " reprogrammables ", le plus souvent il s'agit de d'EEPROMs ou, ces derniers temps, de mémoire flash (c'est-à-dire des EEPROMs rapides).
En français, on utilise parfois et encore l'expression " logiciel interne " ou " logiciel embarqué " ou encore " logiciel d'exploitation " pour parler de micrologiciel.
On peut noter une petite subtilité de terminologie dans le monde du PC dont les programmes des BIOS sont exécutés par le CPU x86 (ex : code de gestion de la carte mère, d'une carte vidéo ou SCSI) alors que les micrologiciels restent uniquement locaux aux périphériques et sont exécutés par le matériel qu'ils contiennent (ex : lecteur DVD IDE ou SCSI, employant des micro-contrôleurs ou circuits de diverses familles).
Les deux cas sont parfois réunis, par exemple lorsque la ROM d'un périphérique contient le BIOS x86 ainsi que le micrologiciel destiné à son circuit propre, le BIOS déclenchant le chargement et l'exécution du micrologiciel.
Accessoirement cela permet de mesurer le degré d'indépendance d'un périphérique vis-à-vis du type de machine hôte car toute extension munie d'un BIOS pour PC n'est utilisable que sur une machine de ce type alors que celles qui n'emploient qu'un micrologiciel sont indépendantes de la machine hôte. C'est par exemple le cas des lecteurs/graveurs CD/DVD IDE, qui sont conformes à la norme ATAPI donc fonctionnent sur toute machine IDE (PC, Mac...))