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
- Übersicht über Embedded Linux
- Architektur des Linux-Kernels
- Benutzerraum vs. Kernelraum
- Verantwortlichkeiten des Kernels
- Entwicklungsworkflow für Kernel
- Übersicht über unterstützte eingebettete Plattformen
2. Einrichten der Entwicklungsumgebung
- Vorbereitung der Entwicklungsarbeitsstation
- Konzepte der Querkompilierung
- Installation der erforderlichen Entwicklungswerkzeuge
- Einrichten des BeagleBone Black-Entwicklungsboards
- Konfiguration der seriellen Konsole
- Starten des Zielsystems
3. Beschaffen und Verstehen des Kernel-Quellcodes
- Linux-Kernel-Quellbaum
- Stabile vs. langzeitunterstützte Kernel
- Hermunterladen der Kernel-Quelltexte
- Untersuchen der Quellcode-Struktur
- Kernel-Dokumentation
- Verwaltung der Kernel-Versionen
4. Konfigurieren, Kompilieren und Starten des Kernels
- Kernel-Konfiguration mit menuconfig
- Auswahl der Kernel-Funktionen
- Querkompilieren des Kernels
- Erstellen von Kernel-Abbildungen
- Installieren von Kernel-Modulen
- Übersicht über Bootloader
- Starten eines benutzerdefinierten Kernels
5. Grundlagen des Device Tree
- Zweck des Device Tree
- Device Tree Source (DTS)-Dateien
- Device Tree Blob (DTB)
- Konzepte der Hardware-Beschreibung
- Anpassen von Device Tree-Dateien
- Erstellen und Ausrollen von Device Trees
6. Linux-Kernel-Module
- Architektur von Kernel-Modulen
- Erstellen von ladbaren Kernel-Modulen
- Laden und Entladen von Modulen
- Modulparameter
- Modulabhängigkeiten
- Interaktion mit Kernel-Modulen
- Techniken zur Fehlersuche in Modulen
7. Fehlersuche im Linux-Kernel
- Kernel-Protokollierung mit printk()
- Nutzung von dmesg
- Dynamische Fehlersuche
- Analyse von Kernel-Panics
- Oops-Nachrichten
- Fehlersuche mit GDB
- Grundlegende Leistungs-Verfolgungswerkzeuge
8. Zeichenorientierte Gerätetreiber
- Linux-Gerätetreibermodell
- Zeichenorientierte Geräte
- Registrierung von Treibern
- Dateioperationen
- Lesen- und Schreiboperationen
- IOCTL-Schnittstelle
- Speicherverwaltung
- Bereinigung von Treibern
9. Treiberintegration und Hardware-Zugriff
- Plattformgeräte und -treiber
- GPIO-Programmierung
- Interruptionen
- Timer und verzögerte Aufgaben
- Zugriff auf Hardware-Register
- Arbeit mit speichergemapperter E/A
10. Versionsverwaltung mit Git
- Grundlagen von Git
- Verwaltung des Kernel-Quellcodes
- Branching und Merging
- Erstellen von Patches
- Prüfung von Änderungen
- Zusammenarbeit bei der Kernel-Entwicklung
11. Praktische Laborarbeit zur Kernel-Entwicklung
- Konfigurieren eines benutzerdefinierten Kernels
- Erstellen und Ausrollen des Kernels
- Erstellen eines einfachen Kernel-Moduls
- Entwicklung eines grundlegenden zeichenorientierten Gerätetreibers
- Anpassen von Device Tree-Dateien
- Fehlersuche bei Kernel-Problemen auf BeagleBone Black
12. Best Practices und Zusammenfassung
- Codestyle für den Kernel
- Schreiben wartbarer Treiber
- Häufige Entwicklungsfehler
- Ressourcen der Kernel-Dokumentation
- Workflow für Open-Source-Beiträge
- Wiederholung der wichtigsten Konzepte
- Fragen und Antworten
- Nächste 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