Antworten:
Firmware ist die Software, die auf dem Gerät ausgeführt wird. Ein Treiber ist die Software, die Ihrem Betriebssystem die Kommunikation mit dem Gerät mitteilt. Nicht alle Geräte verfügen über Firmware - nur Geräte mit einem gewissen Grad an Intelligenz.
Ich bin mir nicht ganz sicher, was du meinst ... im Allgemeinen hat Firmware nichts mit "Booten" zu tun ... Ich denke, Sie fragen sich vielleicht, ob Geräte mit Firmware immer die Firmware auf dem Gerät installiert haben. oder wird es nach dem Booten geladen. Wenn Sie danach fragen, lautet die Antwort nein ...
In den meisten Fällen ist auf Geräten mit Firmware die Firmware in das Gerät programmiert (entweder mit einem ROM-Chip oder einem programmierbaren ROM-Chip). Bei einigen Geräten wird die Firmware jedoch zum Zeitpunkt der Initialisierung in das Gerät geladen. Ich kann mir einige Netzwerkkarten und Webcams vorstellen, die so funktionieren, aber ich bin mir sicher, dass es auch andere gibt.
only devices with some level of intelligence have firmware
? Ich würde sagen, es ist umgekehrt, einfache (elektronische) Geräte haben möglicherweise keine Betriebssysteme, aber Firmware.
Die Firmware implementiert Details auf niedriger Ebene, die für den Betrieb der Hardware erforderlich sind, und stellt eine API / ABI auf einer höheren Ebene bereit. Ein Gerätetreiber stellt einen Adapter zwischen dem Betriebssystem und der von der Firmware bereitgestellten API / ABI bereit.
Die moderne Definition oder allgemeine Verwendung von Firmware hat nichts mit einer bestimmten Softwarefunktionalität zu tun. Firmware ist einfach Software, die in nichtflüchtigen Halbleiterspeichern (z. B. PROM, EEPROM oder Flash) und nicht in einem Massenspeicher wie einer Festplatte gespeichert ist. Die gespeicherte Software kann eine monolithisch verknüpfte Binärdatei sein oder aus Lade-, Kernel- und Anwendungsmodulen bestehen. (OTOH Ich habe einige TV-Tunerkarten für PCs gesehen, für die der Linux-Kernel "Firmware" laden muss, um die Initialisierung abzuschließen.)
Der Ursprung des Begriffs hat mit prozessorgesteuerter Logik im Vergleich zu festverdrahteter Logik zu tun. Software, die auf Festplatten gespeichert ist, kann leicht geändert und aktualisiert werden. Überarbeitungen und Aktualisierungen der festverdrahteten Logik erforderten die Neugestaltung und den Austausch der Karte oder des Moduls. Der Mittelweg war ein Prozessor, der Software zur Steuerung der Hardware ausführte. Die Software wurde genannt Firma ware den Mittelweg zwischen reflektieren weicher Ware im Vergleich zu hart verdrahteter Logik. Ursprünglich wurde die Firmware in ROM-, PROM- oder EPROM-Chips gespeichert, um die Modularität der Platine aufrechtzuerhalten. Die Weiterentwicklung von EEPROM und Flash-Chips ermöglichte interne und integrierte Updates der Firmware.
Da Prozessoren (und Peripheriegeräte) immer kleiner und billiger wurden und weniger Strom verbrauchten, erweiterten sich die Möglichkeiten, sie in alle Arten von Geräten / Appliances einzubetten. Damit die Software für den Betrieb dieser Geräte robust und sicher ist, wird die Software nicht auf einer Festplatte, sondern in Flash-Speicherchips gespeichert. es macht das Gerät auch kleiner und viel billiger. Der Begriff Firmware wurde erweitert und umfasst nun alle Softwareprodukte in Geräten / Appliances mit eingebetteten Prozessoren, auch wenn einige Teile des gespeicherten Codes keine Beziehung zum Ersetzen der festverdrahteten Logik haben könnten.
Jemand hat diese Frage kürzlich gestellt und gesagt:
Firmware ist eine Kombination aus persistentem Speicher, Programmcode und den darin gespeicherten Daten. Typische Beispiele für Geräte, die Firmware enthalten, sind eingebettete Systeme wie Ampeln, Verbrauchergeräte, Digitaluhren, Computer, Computerperipheriegeräte, Mobiltelefone und Digitalkameras. Die in diesen Geräten enthaltene Firmware liefert das Steuerprogramm für das Gerät.
Tatsächlich ist das SuperUser- drivers
Tag wie folgt definiert:
Ein Treiber, auch Gerätetreiber oder Softwaretreiber genannt, ist eine Software, mit der übergeordnete Computerprogramme mit einem Hardwaregerät interagieren können. Wenn ein Computerprogramm eine Interaktion mit einem bestimmten Hardwaregerät anfordert, verarbeitet der Treiber Anweisungen und gibt die Übersetzung zwischen dem Gerät und dem den Treiber aufrufenden Computerprogramm aus.
und das firmware
Tag ist definiert:
Im Allgemeinen ist der Unterschied zwischen Software und Firmware die Ebene, auf der sie mit der Hardware interagiert. Firmware interagiert auf sehr niedriger Ebene der Hardware, während Software auf hoher Ebene interagiert. Die Firmware steuert im Allgemeinen das grundlegende Timing, die Steuerung und die Funktionalität der Hardware.
Ursprünglich dachte ich, dass firmware
das direkt auf dem Chip oder Board installiert wurde und dort lebte, weshalb es "geflasht" werden muss, während man ein driver
auf einem Betriebssystem installiertes installiert .
Fazit:
Firmware
Ermöglicht der Hardware, Aufgaben zu erledigen, und drivers
ermöglicht der Software, mit der Hardware zu interagieren.