Edocti
Fortgeschrittene technische Ausbildung für den modernen Softwareingenieur
Edocti Training

RTOS und Echtzeitprogrammierung in der Praxis

Fortgeschritten
28 h
4.9 (105 Bewertungen)

Geplante Sessions

Beginn: 03.11.2026 , 4 Tage
Live online Bestätigt DE ● Instructor-led
€ 550 Anmelden
RTOS und Echtzeitprogrammierung in der Praxis

RTOS in der Praxis: Entwerfen, implementieren und testen Sie RTOS-basierte Anwendungen auf realer Hardware unter Verwendung von QNX.

Erarbeiten Sie sich tiefgreifendes Wissen zu Schedulern, Multithreading, Synchronisationsmechanismen und präziser Zeitverwaltung.

Bauen Sie extrem zuverlässige IPC-Pipelines auf und lernen Sie, Latenz, Jitter und den Determinismus Ihres Codes exakt zu beurteilen.

Praktische Erfahrung sammeln: Profitieren Sie von ~70 % Hands-on-Labs, in denen Sie direkt mit der Momentics-IDE und BeagleBone-Targets arbeiten.

Nutzen: Sie erlangen die Fähigkeit, harte Echtzeitkonzepte und strenge Timing-Anforderungen in kritischen Produktivsystemen sicher anzuwenden.

Für wen: Konzipiert für C/C++-Entwickler, die hochkomplexe, harte Echtzeitprojekte (z. B. Automotive, Industrieautomation) anstreben.

Der Kurs bietet zudem optionale Deep-Dives zu Scheduling-Theorie, Performance-Tracing, Multicore-Affinität und strengen Safety-Standards (z. B. MISRA).

Fähigkeiten, die Sie lernen werden

RTOS-Architektur Task-Scheduling Multithreading & Sync POSIX IPC QNX Momentics Multicore-Optimierung Latenz-Kontrolle Hardware Deployment

Curriculum

Praktische RTOS‑Einführung

  • Zeitgetriggerte Embedded‑Systeme
  • Einführung in RTOS
  • Scheduler: Haupttechniken; Priority Inheritance; Stack‑Sharing
  • Einfache Scheduler‑Implementierungen zum Verständnis von Datenstrukturen und Context Switching
  • Grundregeln für Echtzeitanwendungen (Dos and Don'ts)

Das erste QNX‑Projekt

  • Producer–Consumer mit Timeout‑Garantien in Momentics implementieren
  • Ausführen, auf das Target kopieren, debuggen, profilieren
  • Grundlegende QNX‑Befehle und Partitioning
  • Ziel: mit der QNX‑Entwicklungsumgebung vertraut werden

Die Neutrino‑Architektur

  • Überblick über zentrale Komponenten (Inhaltsverzeichnis für die vertieften Module)

Die INTEGRITY‑RTOS‑Architektur

  • Kurzes Modul mit besonderen INTEGRITY‑Merkmalen

Threads und Prozesse

  • Prozesse vs. Threads; Erstellung
  • Thread‑Synchronisation: joins, mutexes, semaphores, condition variables, read‑write locks, sleepon locks, barriers
  • Wartezeiten steuern (Timeouts, absolut vs. relativ)
  • QNX Thread Pools

Zeit, Timer und Uhren

  • Zentrale Datenstrukturen für Timekeeping
  • Kernel‑Zeit: periodischer Betrieb, Clock Ticks
  • Timer für zeitgetriggerte Anwendungen
  • Kernel‑Timeouts und Wartezustände

IPC‑Programmierung

  • POSIX IPC: Datentransfer und Shared Memory
  • Synchronisation: semaphores, events, signals, file locks, named mutexes
  • Neutrino‑spezifische IPC

Multicore‑Themen

  • Anwendungsdesign für Multicore
  • Scheduling und Interrupts auf Multicore
  • Processor Affinity
  • Inter‑Core‑Synchronisation

Eine QNX‑Image erstellen

  • QNX‑Image für BeagleBone bauen und anpassen

Anwendung: Sensornetz mit Echtzeit‑Constraints

  • Teamarbeit: Stern‑Topologie, Datenverarbeitung
  • Echtzeit‑Constraints über das Netzwerk

Optionale Module

Erweiterte Echtzeit‑Themen (optional)

  • Scheduling‑Theorie: Rate‑Monotonic, Deadline‑Monotonic, EDF; Response‑Time‑Analyse
  • Ressourcenzugriffs‑Protokolle: Priority Inheritance vs. Priority Ceiling; begrenzte Blockierung
  • Latenz‑ und Jitter‑Messung: cyclictest; High‑Res‑Timer; Clock‑Auswahl
  • Tracing und Profiling: LTTng, perf, ftrace; Flame Graphs; systemweite Timing‑Diagramme
  • Lock‑freie Queues und Ringpuffer für ISR ↔ Main; Memory Barriers; Cache‑Effekte
  • Interrupt‑Affinity, CPU‑Isolation und vorhersagbares Multicore‑Verhalten
  • DMA und Zero‑Copy; Determinismus von I/O
  • Zeitsynchronisation für verteilte RT‑Systeme: PTP/IEEE‑1588
  • Safety und Coding‑Standards: MISRA C, Defensive Programmierung, statische Analyse
  • QNX‑Spezifika: Adaptive Partitioning, SchedFIFO/SchedRR/Sporadic Server, Pulses, Channels

Kursablauf

  • Part 1: 09:00–10:30
  • Break: 10:30–10:45
  • Part 2: 10:45–12:15
  • Lunch break: 12:15–13:15
  • Part 3: 13:15–15:15
  • Break: 15:15–15:30
  • Part 4: 15:30–17:30

Haben Sie an diesem Kurs teilgenommen?

Ihre Meinung ist uns sehr wichtig. Teilen Sie Ihre Erfahrungen mit uns und helfen Sie uns, diesen Kurs für zukünftige Teilnehmer weiter zu verbessern.

Feedback teilen

Möchten Sie mehr erfahren? Wir helfen Ihnen gern!

Oder schreiben Sie uns direkt an training@edocti.com.