Si vous avez déjà tâté des ROM personnalisées ou installé manuellement une mise à jour de l’OS Android, vous avez peut-être rencontré le terme « firmware ». Lors du flashage d’une mise à jour de l’OS, le logiciel doit être construit pour un firmware ou un matériel spécifique au périphérique. Cette différence explique en partie pourquoi il peut être si long de déployer la dernière version d’Android sur tous les appareils.
Ce n’est pas immédiatement clair, mais il existe une distinction essentielle entre le firmware et le logiciel, ce dernier étant probablement un terme beaucoup plus familier. En un mot, le micrologiciel se trouve très près du matériel, tandis que le logiciel se trouve au-dessus du micrologiciel. Il y a un peu plus que cela, et certains domaines où il y a de la place pour un petit croisement. Explorons donc un peu plus en profondeur le firmware par rapport au logiciel.
Firmware par rapport au logiciel
Le firmware et le logiciel sont tous deux des bribes de code exécutées sur le matériel à l’intérieur de votre téléphone et d’autres gadgets. La distinction clé est ce qu’ils sont conçus pour faire, où ils sont enregistrés, et comment ils sont faciles à mettre à jour et à modifier.
Le logiciel est généralement considéré comme un programme ou un morceau de code conçu pour l’interaction avec l’utilisateur. C’est le « niveau supérieur » du code qui permet aux utilisateurs de faire ce dont ils ont besoin. Il peut s’agir d’une application sur votre smartphone, d’un widget sur l’écran d’accueil et, juste en dessous, du système d’exploitation Android lui-même. Les logiciels sont généralement écrits dans un langage de haut niveau, tel que Java, avec beaucoup de bibliothèques et de fonctions préfabriquées pour faciliter le développement.
Les logiciels – des applications interactives qui s’exécutent sur le matériel d’un appareil
Les logiciels s’exécutent sur le CPU et d’autres processeurs principaux, en utilisant la RAM et le stockage flash pour enregistrer et charger des données. Un autre point clé est que les logiciels peuvent être modifiés sans avoir à ajuster le matériel, ce qui rend leur mise à jour simple. À quelques exceptions près, les logiciels sont conçus pour être aussi agnostiques que possible vis-à-vis du matériel.
Le micrologiciel, en comparaison, n’est pas conçu pour que l’utilisateur puisse interagir directement avec lui. Au lieu de cela, c’est le « plus bas niveau » caché du code qui fonctionne sur votre appareil. Bien que, à proprement parler, il puisse y avoir différents niveaux de microprogrammes, tout comme nous pouvons considérer différents niveaux de logiciels. Plutôt que de s’exécuter sur l’unité centrale principale, les microprogrammes s’exécutent souvent sur de plus petits processeurs dédiés à des éléments matériels. Par exemple, il peut s’agir d’un contrôleur de mémoire pour un lecteur de mémoire flash. Les micrologiciels sont généralement écrits dans un langage de bas niveau, comme le C, avec peu de support de bibliothèque, car le code est hautement adapté aux appareils individuels.
Micrologiciel – code de bas niveau qui contrôle et configure le matériel spécifique d’un appareil
Le micrologiciel est le code qui configure la façon dont le matériel doit fonctionner et assure ses fonctions de base. C’est l’épine dorsale essentielle qui garantit que le matériel fonctionne et peut être accessible par des logiciels de niveau supérieur. Le matériel qui exécute son propre micrologiciel comprend les puces de mémoire flash, les processeurs et les écrans. Il peut être un peu plus difficile de mettre à jour un micrologiciel, car les logiciels qui s’exécutent au-dessus en dépendent. C’est pourquoi vous n’avez pas besoin de redémarrer votre téléphone après la mise à jour d’une application, mais devrez le faire lors de l’installation d’une mise à jour majeure de la version d’Android.
Faire fonctionner votre smartphone
La bataille firmware contre logiciel se déroule à l’intérieur de votre smartphone. En fait, les deux sont essentiels pour que tout fonctionne bien. Vous n’interagirez jamais directement avec le firmware, mais il remplit un certain nombre de fonctions importantes.
Le firmware à l’intérieur de votre smartphone comprend le code exécuté à l’intérieur du module caméra. Celui-ci gère la collecte des images et les premiers traitements, avant de transmettre les données au FAI et aux autres composants de traitement. De même, l’écran aura également son propre microprocesseur minuscule, complet avec un firmware, pour gérer les données de couleur, la luminosité, le gamma et d’autres paramètres. Même le processeur a son propre micrologiciel sous la forme d’un noyau de bas niveau pour optimiser la planification des tâches, les vitesses d’horloge et la consommation d’énergie.
Le logiciel du smartphone comprend le système d’exploitation Android, puis les apps fonctionnant par-dessus. Ainsi, toutes vos applications sont des logiciels, y compris Facebook, Chrome, Gmail et le Play Store.
Comme vous pouvez le voir, vous interagirez régulièrement avec les logiciels de votre appareil, les mettrez à jour, en ajouterez et en supprimerez. Les micrologiciels restent fermement en arrière-plan.