wie man Treiber programmiert?

8

Ich möchte Treiber in C in Linux os codieren, obwohl ich denke, dass es sehr schwierig ist. Kann ich Hinweise dazu bekommen, wie ich anfangen soll oder welche Bücher ich folgen soll? Treiber können von meinem USB-Anschluss zur Grafikkarte sein !!

Ich weiß, wo ich nach Büchern suchen kann, ich möchte wissen, mit welchem ​​Grundwissen ich anfangen soll. Benötige ich Hardware-Kenntnisse und welche speziellen Bücher sind gut für Anfänger wie mich?

    
Hick 10.06.2009, 13:55
quelle

8 Antworten

19

Beginnen Sie mit Linux-Gerätetreiber von Rubini und Corbet, veröffentlicht von O'Reilly.

Es ist auch als kostenloser PDF-Download verfügbar.

    
Roddy 10.06.2009 14:00
quelle
7

"Linux Device Drivers" (das O'Reilley Buch) von Rubini und Corbet ist das definitive Buch für Linux Gerätetreiber.

Cool! siehe die kostenlose PDF-Version in Roddys Antwort & amp; kristinas Kommentar!

    
Doug T. 10.06.2009 13:59
quelle
5

Mehrere Texte:

Stephen Johnson 10.06.2009 16:05
quelle
4

versuche amazon !! Dort gibt es viele Bücher für Fahrer. einige haben Proben 2 !!

    
eduffy 10.06.2009 13:58
quelle
3

Bevor Sie mit der Entwicklung von Treibern beginnen, sollten Sie zunächst außergewöhnliche C-Kenntnisse und wahrscheinlich etwas Linux-Kernel-Know-how erwerben. Das Entwickeln von Treibern ist nicht trivial und könnte Sie abschrecken, wenn Sie es nicht gewohnt sind, auf niedriger Ebene zu programmieren.

Ich würde Die Programmiersprache C empfehlen, wenn Sie meiner Meinung nach nicht an C gewöhnt sind , der Primer auf C, wenn Sie etwas Programmierhintergrund haben.

    
tr9sh 10.06.2009 15:27
quelle
2

Treiber unterscheiden sich je nach Gerät stark in ihrer Komplexität. USB-Treiber sind auf der einfachen Seite des Spektrums; GPU-Treiber sind massiv komplex und selbst die Autoren dieser Treiber wissen normalerweise nicht alles, was sie tun. Meine Empfehlung wäre, sich auf Treiber für Hardware zu konzentrieren, die Ihnen persönlich am Herzen liegen, anstatt zu versuchen, ein Alleskönner zu sein. es wird auf lange Sicht einfacher sein.

Die Antworten aller anderen auf Dokumentationsquellen und verschiedene Dinge, die Sie lesen können, sind genau richtig und Sie sollten wirklich eine davon akzeptieren.

Viele der komplexeren Treibergemeinschaften haben ihre eigenen domänenspezifischen Informationen. Wenn Sie einen GPU-Treiber schreiben möchten, haben die DRI / DRM- und Mesa-Communities eigene Wikis und Mailinglisten, die Ihnen sehr helfen, sowie ihre eigene Dokumentation. Ссылка ist ein guter Startplatz, ebenso wie Ссылка .

Hoffe, das hilft!

    
Corbin 13.03.2011 19:47
quelle
1

Sie haben hier ein wirklich gutes Beispiel

Ссылка

    
Night Walker 28.08.2009 15:02
quelle
0

Sehen Sie sich die Quelltexte der aktuellen Treiber an. Ich habe meinen USB-Rndis-Treiber geschrieben, indem ich nur die Kommentare über den Codes gelesen habe.

Holen Sie sich die Kernelquelle und schauen Sie sich das Verzeichnis / drivers an. USB-Treiber befinden sich im USB-Verzeichnis, USB-Treiber zum Netzwerk sind jedoch in / net / usb enthalten.

Sie können viel lernen, indem Sie die Kommentare lesen.

    
ercu 02.08.2009 20:05
quelle

Tags und Links