- 1. Einführung in Echtzeit-Linux
- Grundkonzepte: Was ist Echtzeitfähigkeit? Harte vs. weiche Echtzeitanforderungen
- Linux und Echtzeit: Vor- und Nachteile, typische Einsatzgebiete in der Industrie
- Architekturüberblick: Unterschiede zwischen Standard-Linux und Echtzeit-Varianten
- 2. Echtzeit-Linux-Varianten und Installation
- Vergleich verschiedener Lösungen: PREEMPT_RT, Xenomai, RTAI im Überblick
- Installation und Konfiguration: Schritt-für-Schritt-Anleitung für PREEMPT_RT
- Systemvoraussetzungen: Hardware-Anforderungen und Kompatibilitätsprüfung
- 3. Echtzeit-Fähigkeiten und Limitationen
- Latenzmessung: Tools und Methoden zur Performance-Analyse (cyclictest, latencytop)
- Typische Latenzwerte: Erwartbare Werte für verschiedene Hardware-Konfigurationen
- Störquellen und Minimierung: Unterbrechungen, Treiber, Stromsparmechanismen
- 4. Kernel-Konfiguration und Optimierung
- Kernel-Kompilierung: Spezifische Echtzeit-Optionen und deren Auswirkungen
- Boot-Parameter: Optimierte Einstellungen für geringe Latenzen
- CPU-Isolierung und Affinität: Zuteilung von Prozessorkernen für Echtzeit-Aufgaben
- 5. Scheduling und Prioritäten
- Echtzeit-Scheduler: SCHED_FIFO, SCHED_RR vs. Standard-Scheduler
- Prioritätsvergabe: Best Practices für die Zuteilung und Verwaltung
- Scheduling-Latenzen: Messung und Optimierung der Antwortzeiten
- 6. Entwicklung von Echtzeit-Anwendungen
- Programmiermodelle: Posix-Threads, Timer, Signale in Echtzeit-Umgebungen
- Speichermanagement: Besonderheiten bei Speicherzuweisung in Echtzeit
- Synchronisationsmechanismen: Mutexe, Semaphore und deren Echtzeit-Eigenschaften
- 7. Hardware-Zugriff und Treiber
- Userspace-I/O (UIO): Direkter Hardware-Zugriff aus Userspace
- Echtzeit-Treiberentwicklung: Besonderheiten bei der Treiberprogrammierung
- Interrupt-Handling: Behandlung von Hardware-Interrupts in Echtzeit
- 8. Debugging und Performance-Analyse
- Echtzeit-Debugging: Tools und Techniken für Fehlersuche (ftrace, perf)
- System-Monitoring: Überwachung von Latenzen und Ressourcennutzung
- Performance-Optimierung: Methoden zur kontinuierlichen Verbesserung
- 9. Praxisübung: Echtzeit-Messsystem
- Aufgabe: Aufbau eines einfachen Echtzeit-Messsystems mit GPIO-Zugriff
- Bonus: Latenzmessung und Optimierung des Systems
LernzieleDie Teilnehmer erlangen umfassende praktische Fähigkeiten im Einsatz von Echtzeit-Linux für embedded Anwendungen. Sie lernen verschiedene Echtzeit-Varianten zu installieren und zu konfigurieren, Latenzen zu messen und zu optimieren sowie Echtzeit-Anwendungen zu entwickeln. Nach dem Seminar können sie eigenständig Echtzeit-Linux-Systeme aufsetzen, performance-optimieren und in produktiven Umgebungen betreiben.
Zielgruppen- Embedded Linux-Entwickler
- Systemarchitekten für Echtzeit-Systeme
- IoT-Entwickler und Industrie 4.0-Spezialisten