Vielen Dank für die Zusendung Ihrer Anfrage! Eines unserer Teammitglieder wird Sie in Kürze kontaktieren.
Vielen Dank, dass Sie Ihre Buchung abgeschickt haben! Eines unserer Teammitglieder wird Sie in Kürze kontaktieren.
Schulungsübersicht
1. Einführung in den Linux-Kernel
- Überblick über Embedded Linux
- Architektur des Linux-Kernels
- User Space vs. Kernel Space
- Aufgaben des Kernels
- Workflow der Kernel-Entwicklung
- Überblick über unterstützte Embedded-Plattformen
2. Einrichten der Entwicklungsumgebung
- Vorbereitung des Entwicklungssystems
- Konzepte der Cross-Kompilierung
- Installation der erforderlichen Entwicklungstools
- Einrichten der BeagleBone-Black-Entwicklungsplatine
- Konfiguration der seriellen Konsole
- Starten des Zielgeräts
3. Beschaffen und Verstehen des Kernel-Quellcodes
- Linux-Kernel-Quellbaum
- Stabile vs. Long-Term-Support-Kernel
- Herkunft des Kernel-Quellcodes
- Erforschung der Quellcode-Struktur
- Kernel-Dokumentation
- Verwaltung der Kernel-Versionen
4. Konfigurieren, Kompilieren und Starten des Kernels
- Kernel-Konfiguration mit menuconfig
- Wahl der Kernel-Funktionen
- Cross-Kompilieren des Kernels
- Erstellen von Kernel-Images
- Installation von Kernel-Modulen
- Überblick über den Bootloader
- Starten eines benutzerdefinierten Kernels
5. Grundlagen des Device Trees
- Zweck des Device Trees
- Device Tree Source (DTS)-Dateien
- Device Tree Blob (DTB)
- Konzepte der Hardwarebeschreibung
- Anpassen von Device Tree-Dateien
- Erstellen und Bereitstellen von Device Trees
6. Linux-Kernel-Module
- Architektur von Kernel-Modulen
- Erstellen ladbarer Kernel-Module
- Laden und Entladen von Modulen
- Modulparameter
- Modulabhängigkeiten
- Interaktion mit Kernel-Modulen
- Techniken zur Fehlersuche in Modulen
7. Fehlersuche im Linux-Kernel
- Kernel-Logging mit printk()
- Nutzung von dmesg
- Dynamische Fehlersuche
- Analysierung von Kernel Panics
- Oops-Meldungen
- Fehlersuche mit GDB
- Grundlegende Tools zur Performance-Tracing
8. Zeichengerättreiber
- Linux-Gerättreibermodell
- Zeichengeräte
- Registrierung von Treibern
- Dateioperationen
- Lese- und Schreiboperationen
- IOCTL-Schnittstelle
- Speicherverwaltung
- Bereinigung des Treibers
9. Treiberintegration und Hardwarezugriff
- Plattformgeräte und -treiber
- GPIO-Programmierung
- Verarbeitung von Unterbrechungen (Interrupts)
- Timer und aufgeschobene Aufgaben (Deferred Work)
- Zugriff auf Hardware-Register
- Arbeit mit Memory-Mapped I/O
10. Versionskontrolle mit Git
- Git-Grundlagen
- Verwaltung des Kernel-Quellcodes
- Branching und Merging
- Erstellen von Patches
- Prüfung von Änderungen
- Kooperation bei der Kernel-Entwicklung
11. Praktische Laborübungen zur Kernel-Entwicklung
- Konfiguration eines benutzerdefinierten Kernels
- Erstellen und Bereitstellen des Kernels
- Erstellen eines einfachen Kernel-Moduls
- Entwicklung eines grundlegenden Zeichengerättreibers
- Anpassen von Device Tree-Dateien
- Fehlersuche bei Kernel-Problemen auf der BeagleBone Black
12. Best Practices und Zusammenfassung
- Kernel-Codestyle
- Schreiben von wartbaren Treibern
- Häufige Fehlerquellen in der Entwicklung
- Kernel-Dokumentationsressourcen
- Workflow für Open-Source-Beiträge
- Wiederholung der Kernkonzepte
- Fragen und Antworten
- Weitere Schritte für die Linux-Kernel-Entwicklung
Voraussetzungen
Grundlegende Vertrautheit mit der Nutzung eines GNU-Linux-Systems
14 Stunden
Erfahrungsberichte (2)
Das Wissen des Trainers. Er konnte alle meine Fragen beantworten, sogar Fragen zu unserer Plattform. Er half uns auch weiter, bis wir das Material vollständig verstanden hatten.
James O'Donnell - Tennant Company
Kurs - Embedded Linux Kernel and Driver Development
Maschinelle Übersetzung
I liked the hands-on nature of it.
Maurice Egan
Kurs - Embedded Linux Kernel and Driver Development
Maschinelle Übersetzung