- Wie unterscheiden sich Firmware und Gerätetreiber und wie hängen sie zusammen? Ich denke beide Steuergeräte?
- Ist die Firmware immer selbststartend, während der Treiber vom Betriebssystem ausgeführt / gebootet werden muss?
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.
quelle
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.
quelle
Jemand hat diese Frage kürzlich gestellt und gesagt:
Tatsächlich ist das SuperUser-
drivers
Tag wie folgt definiert:und das
firmware
Tag ist definiert: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 eindriver
auf einem Betriebssystem installiertes installiert .Fazit:
Firmware
Ermöglicht der Hardware, Aufgaben zu erledigen, unddrivers
ermöglicht der Software, mit der Hardware zu interagieren.quelle