0

LFD435: Developing Embedded Linux Device Drivers

Ihre Termine

Datum Ort Preis
08.12.2025
-11.12.2025
München 2.374,05 €* Buchen

* Preise inkl. der gesetzlichen Mehrwertsteuer

Beschreibung

In dieser 4-tägigen Schulung erhalten Sie fundierte Kenntnisse über die Erstellung von Gerätetreibern sowie ein tiefgehendes Verständnis für den Linux-Kernel. Dabei erlernen Sie die Arbeit mit APIs und Treiberarten und vertiefen Ihr Wissen durch praxisnahe Übungen, beispielsweise Cross-Compiling auf ARM-Hardware. Dieser Kurs zeigt Ihnen nicht nur die wichtigsten Funktionen und Mechanismen der Gerätetreiberentwicklung, sondern bietet auch Einblicke in Kernel-Architekturen und Algorithmen. Leistungsumfang: inkl. Offizielle Schulungsumgebung (LAB) inkl. Verpflegung bei Präsenz zzgl. Offizielle Linux Foundation-Unterlage (digital, engl.) à 700 € netto pro Person zzgl. Prüfungsvoucher. Bei der Buchung ist ein zweiter Prüfungsversuch (Retake) kostenfrei inklusive, auf Wunsch separat erhältlich (345,00 €)

Inhalte

Einführung & Überblick:

  • Verwendung von git und Kernel-Versionen
  • Hardwareanforderungen und Cross-Compiler

Arbeiten mit OSS-Projekten:

  • Beitragen, Maintainer finden, Arbeitsabläufe verstehen
  • Geduld, langsame Verbesserung und Teamarbeit

Entwicklungstools:

  • Verschiedene Toolchains: Yocto, Buildroot, Linaro, etc.
  • QEMU zur Emulation und Entwicklung

Gerätetreiber & Speicherverwaltung:

  • Gerätetreiber für verschiedene Geräte und Ressourcenverwaltung
  • Virtueller/physischer Speicher, Slab-Caching, kmalloc, etc.

Interrupts & Fehlerbehandlung:

  • IRQs, asynchrone Interrupts und deren Handhabung
  • Direkter Speicherzugriff (DMA), I/O-Zuweisung

Speicherverwaltung:

  • Zuweisung von Seiten, Buddy-System und Speicherpools
  • Arbeiten mit Cache- und Slab-Methoden

Timer und Zeitmessungen:

  • Nutzung von Kernel-Timern, Messmethoden und Jiffies
  • High-/Low-Resolution Timer

Synchronisation und Race Conditions:

  • Spinlocks, Semaphore, RCU, Mutex und atomare Operationen

Spezialthemen:

  • Device Trees und deren Syntax
  • USB-Treiberentwicklung und Flash-Dateisysteme

Übertragung zwischen User-Space und Kernel-Space:

  • Speichermapping, Datenübertragung, Systemaufrufe

System- und Kernel-Architektur:

  • Unterschiede zwischen Monolithischen und Mikrokernen
  • Umgang mit Prozessen und Threads im Kernel

Kernel-Konfiguration und -Kompilierung:

  • Kompilieren und Erstellen von Kernel-Patches
  • Kernel-Quellcode, Makefiles, initrd

Voraussetzungen

Für eine erfolgreiche Teilnahme sollten Sie mit folgenden Themen vertraut sein:

  • Kernel-Schnittstellen und Techniken wie das Schreiben, Kompilieren sowie das Laden und Entladen von Modulen.
  • Anwendung von Synchronisationsfunktionen.
  • Grundlegendes Wissen über Speicherzuweisung und -verwaltung.

Zielgruppe

Die Schulung richtet sich an Programmierer und Entwickler, die ihre Kenntnisse in der Erstellung von Gerätetreibern für eingebettete Linux-Systeme ausbauen möchten.

Hinweise

09:00 bis 17:00 Uhr ( 4 Tage)

D