Überblick — was ist rtos‑edu?
Ein Simulator für ein Echtzeitbetriebssystem, der auf dem PC läuft. Der Kern ist FreeRTOS (Scheduler + Tasks), die grafische Oberfläche zeichnet LVGL in ein Wayland‑Fenster, Threads werden über pigweed (pw::thread) gestartet, gebaut wird mit CMake. Die Demos zeigen Tasks, die per Slider eine LED steuern — und lassen sich mit Perfetto aufzeichnen.
- →Die Architektur verstehen: FreeRTOS · LVGL · pigweed · Wayland
- →Die 10 Build‑Schritte und wozu jedes Tool dient
- →Tracing: aufnehmen → dekodieren → in Perfetto lesen
- →Tasks ergänzen & ein Chart‑Widget bauen (A3/A4)
Build‑Pipeline — die 10 Schritte
Von der heruntergeladenen .tar.gz bis zum laufenden Simulator — genau der Weg aus Aufgabe 1. Klick einen Schritt an oder spiel alle ab; das Terminal tippt jeden Befehl live.
{{ buildWhy }}
Trace & Profiling mit Perfetto
Das zeitliche Verhalten der Tasks aufzeichnen und analysieren — Aufgabe 2. Drei Schritte: aufnehmen → dekodieren → in Perfetto ansehen. Unten kannst du die Timeline abspielen oder mit dem Regler durchscrubben.
Trace‑Demo starten, im Task Monitor ► Record klicken, kurz warten, ■ Stop.
Binärdatei mit dem Python‑Skript in lesbares JSON umwandeln.
tasks_trace /tmp/trace.bin \
/tmp/trace.json
Open trace file → /tmp/trace.json laden und Zeitstrahl lesen.
Die Spuren LVGL und swdraw sind die Render‑Threads (ständiges switch), IDLE läuft im Leerlauf. In Task_1 siehst du genau die Schleife: LED_Toggled → Read_Slider_Value → LED_Is_On → Going_To_Sleep → Thread_Sleeping. Die lange Schlafphase (≈ 985 ms bei Slider = 800 ms, wegen for_at_least) dominiert — ein RTOS‑Task schläft die meiste Zeit.
PW_TRACE_FUNCTION für die ganze Funktion). Bsp: Read_Slider_Value.START/END mit trace_id gruppiert Events über Schlafphasen und Threads hinweg. Bsp: Task_1_Life_Cycle.Aufgaben‑Lösungen
Vollständige, lauffähige Lösungen zu allen vier Aufgaben des Übungszettels — mit Erklärung und kopierbarem Code. Wähle eine Aufgabe:
{{ solTitle }}
Ziel: {{ solGoal }}{{ solIntro }}
{{ solContext }}
- ✓{{ n }}
Glossar
Bash‑Befehle und Fachbegriffe — englisch mit deutscher Übersetzung und kurzer Erklärung. Tippen zum Filtern.
Spickzettel & Selbsttest
Die wichtigsten Merksätze auf einen Blick — und ein kurzer Selbsttest, um dich vor der Klausur abzufragen.