Le micrologiciel est le logiciel qui s'exécute sur l'appareil. Un pilote est le logiciel qui indique à votre système d'exploitation comment communiquer avec l'appareil. Tous les appareils n'ont pas de micrologiciel - seuls les appareils avec un certain niveau d'intelligence.
Je ne sais pas exactement ce que vous voulez dire ... de manière générale, le micrologiciel n'a rien à voir avec le "démarrage" ... Je pense que ce que vous demandez est peut-être que les micrologiciels ont toujours le micrologiciel installé sur le périphérique, ou est-il chargé après le démarrage. Si c'est ce que vous demandez, la réponse est non ...
Le plus souvent, les appareils avec micrologiciel ont le micrologiciel programmé dans l'appareil (soit avec une puce ROM, soit avec une puce ROM programmable), mais il y a certains appareils où le micrologiciel est chargé dans l'appareil au moment de l'initialisation. Je peux penser à certaines cartes réseau et webcams qui fonctionnent de cette façon, mais je suis sûr qu'il y en a d'autres aussi.
only devices with some level of intelligence have firmware
? Je dirais que c'est l'inverse, les appareils (électroniques) simples peuvent ne pas avoir de système d'exploitation mais avoir un firmware.Le micrologiciel implémente les détails de bas niveau nécessaires au fonctionnement du matériel et fournit une API / ABI à un niveau supérieur. Un pilote de périphérique fournit un adaptateur entre le système d'exploitation et l'API / ABI exposés par le micrologiciel.
la source
La définition moderne ou l'utilisation courante du micrologiciel n'a rien à voir avec une fonctionnalité logicielle spécifique. Le micrologiciel est simplement un logiciel qui est stocké dans des puces de mémoire à semi-conducteur non volatile (par exemple, PROM, EEPROM ou flash) plutôt qu'un périphérique de stockage de masse tel qu'un disque dur. Le logiciel stocké peut être un binaire lié monolithique ou se composer de modules de chargement, de noyau et d'application. (OTOH J'ai vu des cartes tuner TV pour PC qui nécessitent le chargement de "firmware" par le noyau Linux pour terminer l'initialisation.)
L'origine du terme a à voir avec la logique contrôlée par processeur par rapport à la logique câblée. Les logiciels stockés sur les disques durs peuvent être facilement modifiés et mis à jour. Les révisions et mises à jour de la logique câblée ont nécessité une refonte et un remplacement de la carte ou du module. Le terrain d'entente était un processeur exécutant un logiciel pour contrôler le matériel. Le logiciel a été appelé cabinet Ware pour refléter le milieu entre doux articles par rapport dur logique câblée. À l'origine, le micrologiciel était stocké dans des puces ROM, PROM ou EPROM afin de maintenir la modularité de la carte. L'avancement de l'EEPROM et des puces flash a permis des mises à jour en circuit et à bord du firmware.
Au fur et à mesure que les processeurs (et périphériques) devenaient plus petits, moins chers et moins gourmands en énergie, les possibilités de les intégrer dans chaque type d'appareil / appareil s'étoffaient. Afin de rendre le logiciel pour faire fonctionner ces appareils robuste et sécurisé, le logiciel est stocké dans des puces de mémoire flash plutôt que sur un disque dur; cela rend également l'appareil plus petit et beaucoup moins cher. Le terme micrologiciel a été élargi pour englober tous les logiciels des appareils / appareils dotés de processeurs intégrés, même si certaines parties du code stocké n'ont aucun lien avec le remplacement de la logique câblée.
la source
Quelqu'un a récemment posé cette question en disant:
En fait, la
drivers
balise SuperUser est définie:et, la
firmware
balise est définie:À l'origine, je pensais que
firmware
c'était installé sur la puce ou la carte directement et y vivais, c'est pourquoi il doit être "flashé", tandis que vous installeriez undriver
au-dessus d'un système d'exploitation.Conclusion:
Firmware
permet au matériel de "faire" des choses etdrivers
autorise le logiciel à interagir avec le matériel.la source