LFD430 Entwicklung von Gerätetreibern für Linux-Systeme

In diesem Kurs erlernen Sie die Entwicklung von Gerätetreibern für Linux-Systeme und entwickeln ein grundlegendes Verständnis des Linux-Kernels.

Sie lernen folgendes kennen:

  • Verschiedene Arten von Gerätetreibern in Linux
  • Geeignete APIs zur Verbindung der Geräte (Hardware und Software) mit dem Kernel
  • Erforderliche Module und Methoden zur Entwicklung und zum Debuggen von Linux-Treibern
  • Und vieles mehr

Die im Kurs vermittelten Inhalte lassen sich auf alle großen Linux-Distributionen anwenden.

Voraussetzungen

Dieser Kurs richtet sich an alle, die lernen wollen, wie man Gerätetreiber für Linux entwickelt. Die Teilnehmer sollten solide C-Programmierkenntnisse haben und mit den wichtigsten Linux-Dienstprogrammen und Text-Editoren vertraut sein.

Kenntnisse der wesentlichen Kernel-Schnittstellen und Techniken, wie dem Compilieren und Schreiben bzw. Load und Unload von Modulen, die Anwendung von Synchronisationsfunktionen sowie die Grundlagen von Speicherzuweisung und -verwaltung wie im Kurs Linux-Systemprogrammierung vermittelt.

Inhalt

  • Einführung
  • Überblick
  • Gerätetreiber
  • Module und Gerätetreiber
  • Speicherverwaltung und -zuweisung
  • Zeichenorientierte Geräte
  • Kernel-Funktionen
  • Übertragung zwischen User- und Kernel-Space
  • Interrupts und Exceptions
  • Zeitmessungen
  • Kernel-Timer
  • ioctls
  • Unified Device Model und sysfs
  • Firmware
  • Schlafen und Warteschlangen
  • Interruptbehandlung: verzögerte Funktionen und Benutzer-Treiber
  • Hardware-I/O
  • PCI
  • Plattform-Treiber **
  • Gerätebäume **
  • Direct Memory Access (DMA)
  • Netzwerk-Treiber I: Grundlagen
  • Netzwerk-Treiber II: Datenstrukturen
  • Netzwerk-Treiber III: Senden und Empfangen
  • Netzwerk-Treiber IV: Ausgewählte Themen
  • USB-Treiber
  • Power-Management
  • Block-Treiber

** Diese Abschnitte können entweder zum Teil oder in vollem Umfang abgehandelt werden. Sie beinhalten z.B. Hintergrundinformationen, spezielle Themen oder fortgeschrittene Themen. Je nach Erfahrungsstand der Teilnehmergruppe oder zeitlichen Gegebenheiten entscheidet der Kursleiter, ob und welchem Umfang diese Abschnitte behandelt werden.

Kurszeiten

Wer möchte, reist bis 22 Uhr am Vortag an und nutzt den Abend bereits zum Fachsimpeln am Kamin oder im Park.

An den Kurstagen dann von 9-18 Uhr (mit 2 Kaffee- und 1 Mittagspause) etwa 60% Schulungen und 40% Übungen. Selbstverständlich arbeitet jeder Teilnehmer am von uns gestellten Notebook oft parallel zum Referenten mit.

Anschließend Abendessen und Angebote für Fachsimpeln, Ausflüge uvm. Wir schaffen eine Atmosphäre, in der Fachleute sich ungezwungen austauschen. Wer das nicht will, wird zu nichts gezwungen und findet auch jederzeit Ruhe.