Pour expliquer plus en détail ce qu'est le firmware.
Le micrologiciel est un code qui s'exécute sur du matériel très spécifique, ce qui signifie que ses codes opérationnels sont spécifiques au matériel pour lequel il est écrit, il peut s'agir d'une famille de puces ou d'interfaces ou destiné à un seul élément.
C'est essentiellement ce que fait le firmware;
A des instructions câblées pour un processeur donné à entreprendre et à exécuter, cela s'appelle un "bootstrap". Quels sont les ordinateurs les plus démarrables dans leur BIOS?
Initialisez ledit matériel via les instructions du firmware.
Charger / monter la table de saut.
Rendre accessible l'accès aux registres d'un appareil donné.
Remettez le contrôle à la routine de sortie une fois que le BIOS a été utilisé après un démarrage à froid (hors tension) ou à chaud (un redémarrage normal ou une broche de réinitialisation a été utilisé).
La plupart des BIOS (micrologiciels) sont conçus pour un chipset spécifique à l'esprit et extraient toutes les fonctions de ceux-ci et étoffent toutes les données que quelque chose pourrait être attaché à une ligne de bus donnée dans un ordinateur ou un périphérique intégré.
Les disques durs sont un bon exemple d'une solution de stockage qui est en soi un périphérique embarqué, qui a également un BIOS et une forme de firmware sur une puce.
Essentiellement, tout micrologiciel est un tas d'instructions qu'un autre processeur fait pour obtenir des fonctionnalités d'un tel appareil. C'est un logiciel qui est chargé dans un appareil physique, en cas de coupure de courant, il sera là lorsque l'appareil retrouvera du courant.
Techniquement, vous pouvez utiliser n'importe quel langage de programmation ou de script pour créer des fichiers binaires. Il vous suffit de savoir comment fonctionne le processeur que vous allez cibler, les codes opérationnels réels, le registre interne (sans parler de leur destination), d'apprendre les systèmes de nombres binaires et hexadécimaux et comment créer un assembleur qui peut enregistrer votre code en langage assembleur. Une fois cela terminé, vous pouvez charger un autre programme de le convertir en binaire, puis l'enregistrer en tant que fichier .bin ou .hex.
Si vous voulez savoir comment Ada, C, C ++, D et d'autres langages de programmation convertissent leurs "jetons" qui sont leur code natif qui est découpé en pseudo-codes d'opération en langage machine. Il y a plusieurs livres que je vous recommande de lire, certains sont assez élémentaires et sont centrés sur des processeurs très spécifiques mais c'est bon à apprendre. Je vais vous donner un livre pour le moment, parce que je ne veux pas vous noyer, vous ou quiconque, en lisant ces informations.
- Création d'un compilateur avec «C» par Charles N. Fischer et Richard J. LeBlanc, Jr.
- Visitez ce site, il est basé sur le chipset x86 trouvé sur le PC IBM;
http://www.laynetworks.com/assembly%20tutorials.htm
C'est l'introduction à la programmation en langage assembleur sur PC au tout début. Il parle de la gestion des interruptions (interruptions matérielles et logicielles) et de nombreux autres sujets, il explique plus en détail ce que fait réellement un BIOS et comment l'utiliser.
Contrairement au langage d'assemblage et au langage machine, vous pouvez vous en sortir avec beaucoup plus en Ada, C, C ++, D, si vous ne connaissez pas les spécificités de votre matériel. En assembleur et en langage machine, si vous ne savez pas ce que vous faites, quelque chose de mauvais se produira ou le code ne fonctionnera pas. Je préfère ce dernier cas, ne fonctionne pas contre quelque chose de mauvais.
Remarque: À propos de la réponse ci-dessus, à propos de la RAM flash, il n'y a rien de tel, il y a des ROM flash mais pas de RAM flash. Les mémoires flash ROM contiennent le micrologiciel, les RAM qui sont sauvegardées par batterie ou condensateur, ou ont une autre mémoire flash flash qui contient des paramètres pour les options du BIOS que vous avez définies.
Il y a un code dans le firmware sur la façon de stocker ou d'effacer la mémoire de données (par rapport à la mémoire du programme / firmware lui-même), s'il s'agit d'une ROM flash ou d'une puce RAM. Sur les PC, si votre mot de passe BIOS est altéré ou si vous ne vous en souvenez pas (ou si quelqu'un vous embrouille), vous pouvez ouvrir le boîtier et trouver les deux broches appelées "CMOS CLR / CMOS CLEAR / BIOS RESET / BIOS RST", court-circuiter ces deux broches ensemble efface également la mémoire, tout ce que vous devez faire après cela est d'appuyer sur le bouton de réinitialisation, lorsque les deux broches sont toujours en court-circuit. Cela efface le mot de passe et vous permet un accès complet au BIOS de votre PC (en supposant que vous avez un ordinateur plus récent à partir des années 1990).
Sur les nouveaux PC, vous avez une mémoire flash pour le firmware et vous avez une SRAM alimentée par batterie (n'a pas besoin d'être constamment actualisée comme les puces DRAM, elle est basée sur une technologie plus ancienne).