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