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
- Unterschied zwischen User-Space und Kernel-Space
- Aufgaben des Kernels
- Arbeitsablauf bei der Kernel-Entwicklung
- Übersicht über unterstützte Embedded-Plattformen
2. Einrichtung der Entwicklungsumgebung
- Vorbereitung der Entwicklungsarbeitsstation
- Konzepte des Cross-Compilings
- Installation der erforderlichen Entwicklungstools
- Einrichtung der BeagleBone Black Entwicklerplatine
- Konfiguration der seriellen Konsole
- Start des Zielgeräts
3. Beschaffung und Verständnis des Kernel-Quellcodes
- Aufbau des Linux-Kernel-Quellbaums
- Stable-Kernel vs. Langzeitunterstützungskernel
- Herunterladen der Kernel-Quellen
- Durchsuchen der Quellcode-Struktur
- Kernel-Dokumentation
- Verwaltung von Kernel-Versionen
4. Konfiguration, Kompilierung und Booten des Kernels
- Konfiguration des Kernels mithilfe von menuconfig
- Auswahl relevanter Kernel-Funktionen
- Cross-Compilieren des Kernels
- Erstellung der Kernel-Images
- Installation der Kernel-Module
- Einführung in Bootloader
- Start eines benutzerdefinierten Kernels
5. Grundlagen des Device Trees
- Zweck des Device Trees
- Device Tree Source (DTS)-Dateien
- Device Tree Blob (DTB)
- Grundsätze der Hardwarebeschreibung
- Bearbeiten von Device-Tree-Dateien
- Erstellen und Bereitstellen von Device Trees
6. Linux-Kernel-Module
- Architektur von Kernel-Modulen
- Erstellung ladebarer Kernel-Module
- Laden und Entladen von Modulen
- Parameter von Modulen
- Abhängigkeiten zwischen Modulen
- Interaktion mit Kernel-Modulen
- Debugging-Techniken für Module
7. Debugging des Linux-Kernels
- Protokollierung mittels printk()
- Einsatz von dmesg
- Dynamisches Debugging
- Analyse von Kernel-Panics
- Auswertung von Oops-Meldungen
- Debugging mit GDB
- Einfache Werkzeuge zur Leistungsanalyse
8. Zeichen-Gerätetreiber
- Modell der Linux-Gerätetreiber
- Zeichenbasierte Geräte
- Registrierung von Treibern
- Dateioperationen
- Lese- und Schreibvorgänge
- IOCTL-Schnittstelle
- Speicherverwaltung
- Aufbereitung der Treiberumgebung nach Nutzung
9. Integration von Treibern und Hardware-Zugriff
- Plattform-Geräte und -Treiber
- Programmierung mit GPIOs
- Verarbeitung von Interrupts
- Einsatz von Timern und verzögerten Aufgaben
- Zugriff auf Hardware-Register
- Arbeiten mit memory-mapped I/O
10. Versionskontrolle mit Git
- Grundlagen von Git
- Verwaltung des Kernel-Quellcodes
- Erstellen und Zusammenführen von Branches
- Erstellung von Patches
- Überprüfen vorgenommener Änderungen
- Zusammenarbeit bei der Kernel-Entwicklung
11. Praktische Kernel-Entwicklungsübungen
- Konfiguration eines benutzerdefinierten Kernels
- Erstellung und Bereitstellung des Kernels
- Programmierung eines einfachen Kernel-Moduls
- Entwicklung eines grundlegenden Zeichen-Gerätetreibers
- Bearbeiten von Device-Tree-Dateien
- Debugging-Kernprobleme auf der BeagleBone Black Platine
12. Best Practices und Zusammenfassung
- Coding-Stil beim Kernel-Entwickeln
- Erstellung wartbarer Treiber
- Häufige Fehlerquellen bei der Entwicklung
- Ressourcen zur Kernel-Dokumentation
- Prozess des Beitrags zu Open-Source-Projekten
- Auffrischung der wichtigsten Konzepte
- Fragen und Antworten
- Nächste Schritte bei der Linux-Kernel-Entwicklung
Voraussetzungen
Grundsätzliche Kenntnisse im Umgang mit GNU/Linux-Systemen
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