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.
Dauer 14 Stunden
Schulungsübersicht
1. Einführung in den Linux-Kernel
- Überblick über eingebettetes Linux
- Architektur des Linux-Kernels
- User Space vs. Kernel Space
- Aufgaben des Kernels
- Workflow der Kernel-Entwicklung
- Überblick über unterstützte eingebettete Plattformen
2. Einrichten der Entwicklungsumgebung
- Vorbereitung des Entwicklungswirkplatzes
- Grundlagen des Cross-Compilings
- Installation der erforderlichen Entwicklungstools
- Einrichten der BeagleBone Black-Entwicklungsplatine
- Konfiguration der seriellen Konsole
- Start des Zielgeräts
3. Beschaffung und Verständnis der Kernel-Quellcode
- Linux-Kernel-Quellcodebaum
- Stabile vs. Langzeit-Support-Kerne
- Herkunft der Kernel-Quellen
- Untersuchung der Quellcode-Struktur
- Kernel-Dokumentation
- Verwaltung der Kernel-Versionen
4. Konfiguration, Kompilierung und Start des Kernels
- Kernel-Konfiguration mit menuconfig
- Auswahl der Kernel-Funktionen
- Cross-Compilierung des Kernels
- Erstellung von Kernel-Images
- Installation von Kernel-Modulen
- Überblick über den Bootloader
- Start eines benutzerdefinierten Kernels
5. Grundlagen des Device Tree
- Zweck des Device Tree
- Device Tree Source (DTS)-Dateien
- Device Tree Blob (DTB)
- Begriffe zur Hardware-Beschreibung
- Anpassung von Device-Tree-Dateien
- Erstellung und Deployment von Device Trees
6. Linux-Kernel-Module
- Architektur von Kernel-Modulen
- Erstellung ladbarer Kernel-Module
- Laden und Entladen von Modulen
- Modulparameter
- Modulabhängigkeiten
- Wechselwirkung mit Kernel-Modulen
- Debugging-Techniken für Module
7. Debugging des Linux-Kernels
- Kernel-Logging mit printk()
- Nutzung von dmesg
- Dynamisches Debugging
- Analysen von Kernel Panics
- Oops-Meldungen
- Debugging mit GDB
- Grundlegende Werkzeuge zur Leistungsanalyse (Tracing)
8. Charaktergeräte-Treiber
- Linux-Gerätetreiber-Modell
- Charaktergeräte
- Registrierung von Treibern
- Dateioperationen
- Lese- und Schreiboperationen
- IOCTL-Schnittstelle
- Speicherverwaltung
- Bereinigung des Treibers (Cleanup)
9. Treiberintegration und Hardware-Zugriff
- Plattform-Geräte und -Treiber
- GPIO-Programmierung
- Unterbrechungsbearbeitung (Interrupts)
- Timer und verzögerte Arbeitsaufgaben
- Zugriff auf Hardware-Register
- Arbeiten mit Memory-mapped I/O
10. Versionskontrolle mit Git
- Git-Grundlagen
- Verwaltung des Kernel-Quellcodes
- Branching und Merging
- Erstellung von Patches
- Prüfung von Änderungen
- Zusammenarbeit bei der Kernel-Entwicklung
11. Praktische Übungen zur Kernel-Entwicklung
- Konfiguration eines benutzerdefinierten Kernels
- Erstellung und Deployment des Kernels
- Anlegen eines einfachen Kernel-Moduls
- Entwicklung eines einfachen Charaktergeräte-Treibers
- Anpassung von Device-Tree-Dateien
- Debugging von Kernel-Problemen auf der BeagleBone Black
12. Best Practices und Zusammenfassung
- Coding-Stil für den Kernel
- Schreibung pflegbarer Treiber
- Häufige Stolpersteine in der Entwicklung
- Ressourcen zur Kernel-Dokumentation
- Workflow für Beiträge zur Open-Source-Community
- Wiederholung der zentralen Konzepte
- Fragen und Antworten
- Weitere Schritte in der Linux-Kernel-Entwicklung
Voraussetzungen
Grundlegende Vertrautheit mit der Nutzung eines GNU/Linux-Systems
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