oop-trainer.de

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