Embedded Linux Kernel and Driver Development
Ziele
In dieser 5-tägigen Schulung "Embedded Linux Kernel and Driver Development" lernen Sie den Einsatz von Kconfig und die Erstellung sowie das Laden und Testen von Kernel-Modulen. Das Debugging wird anhand von printk und Derivaten, dmesg sowie der Verwendung von GDB mit Qemu behandelt. Sie erhalten einen umfassenden Einblick in die Funktionsweise von Kernel-Treibern, das Inspektionsverfahren mit procfs (alt) und sysfs (neu) sowie System Calls. Des Weiteren lernen Sie die Handhabung von Character-, Block- und Net-Devices sowie die Datei-Schnittstelle via Device-Nodes kennen.
Die Speicherverwaltung umfasst den virtuellen und physikalischen Adressraum, die Memory-Management-Unit (MMU) und das Speicherschutzkonzept. Sie lernen den Aufbau des Kernel-Speichers und den Datenaustausch zwischen Userspace-Kernel und Memory-Mapping kennen. Der Zugriff auf Hardware wird anhand von IO-Ports und IO-Memory sowie Interrupts erläutert. Das Scheduling und SMP beinhaltet die Definition von 'sleep', Aufgaben des Kernel-Timers, Tasklets, Workqueues und Kernel-Threads sowie die Synchronisierung mit Spinlock und Mutex.
Abschließend werden Upstreaming-Themen wie Code-Style, die Zusammenarbeit mit der Community und mögliche Lizenzmodelle behandelt. Nach Abschluss des Kurses sind Sie in der Lage, das Kernel-Build-System zu nutzen, Kernel-Treiber zu erstellen und zu verwalten, die Speicherverwaltung zu verstehen und auf Hardware zuzugreifen. Zudem werden Sie mit den Grundlagen des Schedulings und SMP vertraut und wissen, wie Sie effektiv mit der Community zusammenarbeiten können.
Zielgruppe
- Linux-Programmierer
Voraussetzungen
Für eine optimale Teilnahme am Kurs empfehlen wir folgende Vorkenntnisse:
- Kenntnisse in der Linux-Systemprogrammierung
- Fundierte Kenntnisse in der C-Programmierung
Lernmethodik
Die Schulung bietet Ihnen eine ausgewogene Mischung aus Theorie und Praxis in einer erstklassigen Lernumgebung. Profitieren Sie vom direkten Austausch mit unseren projekterfahrenen Trainern und anderen Teilnehmern, um Ihren Lernerfolg zu maximieren.
Agenda
Kernel-Build-System
- Kconfig
- Module bauen, laden, testen
Debugging
- printk und Derivate, dmesg
- console/earlycon
- GDB mit Qemu
Gerätetreiber
- Aufbau und Funktionsweise von Kernel-Treibern
- Inspektion: procfs (alt) und sysfs (neu)
- System Calls
- Character-, Block- und Net-Devices
- Datei-Schnittstelle via Device-Nodes
- Modul-Parameterisierung
Speicher-Verwaltung
- Virtueller und physikalischer Adressraum
- Memory-Management-Unit (MMU), Speicherschutzkonzept
- Aufbau des Kernel-Speichers
- Datenaustausch: Userspace-Kernel, Memory-Mapping
Zugriff auf Hardware
- IO-Ports und IO-Memory
- Interrupts
Scheduling und SMP
- Sleep: Was heißt 'sleep' und wann ist es erlaubt?
- Tasks: Kernel-Timer, Tasklet, Workqueue, Kernel-Thread
- Synchronisierung: Spinlock, Mutex
Upstreaming
- Code-Style
- Kooperation mit der Community
- Mögliche Lizenzmodelle
Open Badge - Ihr digitaler Kompetenznachweis
Durch die erfolgreiche Teilnahme an einem Kurs bei IT-Schulungen.com erlangen Sie nicht nur Fachkenntnisse und Fähigkeiten, sondern bekommen zusätzlich zu Ihrem Teilnahmezertifikat ein Open Badge als digitalen Nachweis Ihrer Kompetenz.
Sie können diesen in Ihrem persönlichen und kostenfreien Mein IT-Schulungen.com Konto abrufen. Ihre verdienten Badges lassen sich problemlos in sozialen Netzwerken integrieren und weitergeben.
Kurz vor Durchführung
Termin | Standort | Aktion |
---|---|---|
21.10. - 25.10.2024 | Hamburg | |
04.11. - 08.11.2024 | München | |
16.12. - 20.12.2024 | Köln | |
13.01. - 17.01.2025 | Nürnberg |