|
Seminare
|
Seminarbeschreibung: Linux Treiberentwicklung
Linux Treiberentwicklung
Dieses Seminar führt in die Treiberentwicklung unter Linux ein. Es werden die notwendigen
Grundlagen gelegt, um eigene Kernel-Treiber zu schreiben.
Soweit dies möglich ist werden Beispiele anhand lauffähiger Codes demonstriert.
Themen:
- Shellskripte und Makefiles
- Buildvorgang für Linux Treiber
- Einfachste Treiber
- Initialisierung- und Cleanup-Funktionen
- Die GPL
- Modulbeschreibung
- Kernel-Symbole
- Logging über
printk()
- Parameterübergabe an Module
- Treiber für zeichenorientierte Geräte
- Treiber für blockorientierte Geräte
- Das /dev Verzeichnis und das Tool mknod
register_chdev() und die fops-Schnittstelle zum User-Space
- Dynamische Zuweisung der major-Nummer
- Der Umgang mit major Nummern ab Kernel 2.6
|
- Datenaustausch zwischen Kernel- und Userspace
- Die /proc-Schnittstelle zwischen Kernel- und Userspace
- Die
ioctl()-Kommandofunktion
- Race Conditions und Deadlocks
- Blockierende IO und asynchrone Benachrichtigung
- Kernel Timer
- I/O Ports und I/O Memory
- Ausblick:
- Daemons
- Userspace-Treiber
- Beispiele mit libusb
|
Das Seminar führt theoretisch und praktisch in die Entwicklung von Treibern unter Linux ein.
Nach den theoretischen Abschnitten werden praktische Übungen eingelegt, sodaß der
gelernte Stoff praktisch vertieft werden kann.
Zur Durchführung kann praktisch jede Linux Distribution verwendet werden, die die nötige
Entwicklungsumgebung enthält. Insbesondere können die Beispiele auch an einem Embedded
Linuxsystem erprobt werden. Wenn keine besondere Wunschkonfiguration existiert, kann eine
vorkonfigurierte virtuelle Maschine mit allen wesentlichen Tools eingesetzt werden.
Anfragen telefonisch unter: 0179-2292471
|
|