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
- Verantwortlichkeiten des Kernels
- Workflow der Kernel-Entwicklung
- Überblick über unterstützte Embedded-Plattformen
2. Einrichten der Entwicklungsumgebung
- Vorbereitung des Entwicklungsarbeitsplatzes
- Konzepte der Cross-Kompilierung
- Installation erforderlicher Entwicklungstools
- Einrichtung des BeagleBone Black-Entwicklungsbrettboards
- Konfiguration der seriellen Konsole
- Starten des Zielgeräts
3. Beschaffen und Verstehen des Kernel-Quellcodes
- Kernel-Quellbaum
- Stable vs. LTS-Kernel (Long Term Support)
- Herunterladen der Kernel-Quellen
- Erkundung der Quellcode-Struktur
- Kernel-Dokumentation
- Verwalten von Kernel-Versionen
4. Konfigurieren, Kompilieren und Starten des Kernels
- Kernel-Konfiguration mit menuconfig
- Auswahl von Kernel-Features
- Cross-Kompilierung des Kernels
- Erstellen von Kernel-Images
- Installieren von Kernel-Modulen
- Bootloader-Übersicht
- Starten eines eigenen 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
- Bauen und Bereitstellen von Device Trees
6. Linux-Kernel-Module
- Modularchitektur des Kernels
- Bauen ladbarer Kernel-Module
- Laden und Entladen von Modulen
- Modulparameter
- Modulabhängigkeiten
- Kommunikation mit Kernel-Modulen
- Debugging-Techniken für Module
7. Debugging des Linux-Kernels
- Kernel-Logging mit printk()
- Nutzung von dmesg
- Dynamisches Debugging
- Analyse von Kernel-Panics
- Oops-Meldungen
- Debugging mit GDB
- Einfache Leistungsmetriken-Tools
8. Character-Gerätetreiber
- Linux-Gerätetreibermodell
- Character Devices (Zeichengeräte)
- Registrierung von Treibern
- Dateioperationen
- Lese- und Schreiboperationen
- IOCTL-Schnittstelle
- Speicherwaltung
- Treiberbereinigung
9. Treiberintegration und Hardwarezugriff
- Platform Devices und Platform Drivers
- GPIO-Programmierung
- Interrupt-Behandlung
- Timer und Deferred Work
- Zugriff auf Hardware-Register
- Umgang mit Memory-Mapped I/O
10. Versionskontrolle mit Git
- Git-Grundlagen
- Verwalten von Kernel-Quellcode
- Berzweigen und Zusammenführen (Branching and Merging)
- Erstellen von Patches
- Überprüfen von Änderungen
- Zusammenarbeit in der Kernel-Entwicklung
11. Praktische Kernel-Entwicklungsübungen
- Konfigurieren eines eigenen Kernels
- Bauen und Bereitstellen des Kernels
- Erstellen eines einfachen Kernel-Moduls
- Entwickeln eines grundlegenden Character-Gerätetreibers
- Anpassen von Device Tree-Dateien
- Debuggen von Kernel-Problemen am BeagleBone Black
12. Best Practices und Zusammenfassung
- Kernel-Coding-Stil
- Schreiben wartbarer Treiber
- Häufige Fallstricke in der Entwicklung
- Ressourcen zur Kernel-Dokumentation
- Workflow für Open-Source-Beiträge
- Aktualisierung der Schlüsselkonzepte
- Fragen und Antworten
- Weitere Schritte in der Linux-Kernel-Entwicklung
Voraussetzungen
Grundlegende Kenntnisse im Umgang mit einem GNU/Linux-System
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