Auf die Tool-Kombination kommt es an

Permanenter Einblick ins Laufzeitverhalten

26. Januar 2026, 8:00 Uhr | Joshua Summa, Geschäftsführer und Mitgründer von es:saar / ak
© es:saar

Das Laufzeitverhalten von Embedded-Software nachzuprüfen, ist schwierig. Es gibt zwar entsprechende Laufzeitanalyse-Tools, die aber nicht alle Eventualitäten abdecken können. Entscheidend ist also, eine für die jeweilige Anwendung bestmöglich geeignete Tool-Kombination zu finden.

Diesen Artikel anhören

Eingebettete Software ist häufig so komplex, dass ihr Laufzeitverhalten nur schwer nachzuverfolgen ist. Die gute Nachricht lautet, dass es inzwischen eine Vielzahl von Tools gibt, die Einblicke in das Laufzeitverhalten ermöglichen. Die weniger gute Nachricht ist, dass keines dieser Tools alle Perspektiven des Verhaltens abdecken kann – zumindest nicht ohne Kompromisse. Die zentrale Frage lautet deshalb: Wie können Anwender das passende Laufzeitanalyse-Tool wählen - unter Berücksichtigung der Einschränkungen ihrer Branche, des benötigten Einblicks und der Kompromisse?

Fragmentierte Tool-Landschaft

Egal ob im streng regulierten Automotive-Bereich, in der Industrie oder in der Forschung: Am Ende stehen alle Entwicklungsteams für Embedded-Systeme vor derselben Aufgabe. Sie müssen die ursprüngliche Designabsicht mit dem realen Verhalten ihres Systems abgleichen, also das Laufzeitverhalten beobachten, validieren und bei Bedarf anpassen. Doch was genau meinen wir, wenn wir von »Laufzeitverhalten« sprechen? Je nach Perspektive geht es um den Systemstatus, um funktionale und zeitliche Abläufe oder um Variablenverläufe. Für jede dieser Perspektiven existieren spezialisierte Tools, die in ihrem Bereich stark, in anderen jedoch schwach sind. Das Ergebnis ist eine fragmentierte Tool-Landschaft.

Bevor wir uns diese Landschaft genauer ansehen, lohnt ein Schritt zurück: Wie haben sich Laufzeitanalyse-Tools im Laufe der Zeit und in verschiedenen Branchen entwickelt?

Tabelle 1. Überblick über verschiedene Soft- und Hardware-Tools und ihr Laufzeitanalyse-Verhalten.
Tabelle 1. Überblick über verschiedene Soft- und Hardware-Tools und ihr Laufzeitanalyse-Verhalten.
© es:saar

Evolution der Laufzeitanalyse-Tools

  • Vor 1990: Zum Debugging nutzten Entwickler LEDs oder serielle Logs. Oszilloskope zeigten Signale an den Pins an, wodurch eine Laufzeitanalyse nur indirekt möglich war. Iterationen waren mühsam und langsam. In-Circuit-Emulatoren waren meist unerschwinglich [1], [2], [3].
  • 1990er-Jahre: In den 1990er-Jahren wurde erstmals ein strukturierter und breit zugänglicher Einblick in die Prozessorzustände möglich. Flash-Speicher verkürzten die Iterationszyklen [4], Debugging per JTAG ersetzte die teuren In-Circuit-Emulatoren [5], und IDEs fanden zunehmend Verbreitung [6]. HiL-Systeme fanden nun breitere Anwendung [7]. Mit CCP wurde ein standardisiertes Kalibrierprotokoll eingeführt [8].
  • 2000er-Jahre: Mit den Multicore-Architekturen der 2000er-Jahre [9] beschleunigte sich die Verbreitung von RTOS erheblich [10]. Damit wuchs auch der Bedarf an zeitkorrelierten Einblicken in Tasks, Interrupts und Variablen. Neue Tracing-Schnittstellen wie ARM CoreSight und Serial Wire Debug [11, 12] ermöglichten erstmals präzise Echtzeit-Analysen.
  • 2010er-Jahre bis heute: Neben Hardware-Tracern (z.B. Segger J-Trace Pro) [13] etablierten sich Software-Tracing-Plattformen (z.B. Percepio Tracealyzer) [14], die Visualisierungen und Laufzeitanalysen bieten. Gleichzeitig setzen regulierte Branchen (z. B. Automotive, Aerospace) auf hochintegrierte Toolchains – allerdings mit hohem Kosten- und Integrationsaufwand [15].

Früher fehlten Fähigkeiten, heute fehlt die Übersicht über diese Fähigkeiten. Die zentrale Herausforderung liegt also nicht mehr in der Verfügbarkeit, sondern in der Auswahl und Kombination der passenden Tools.

Branchenspezifische Anforderungen

Nicht jedes Entwicklungsteam steht vor denselben Rahmenbedingungen. Je nach Branche unterscheiden sich die Anforderungen an Tools erheblich:

Compliance-geprägte Segmente (Automotive, Luft- und Raumfahrt, Medizintechnik, Militär): Hier gilt Sicherheit vor Flexibilität. Tools müssen zertifizierbar, auditierbar und absolut zuverlässig sein. Die technische Machbarkeit tritt hinter regulatorische Vorgaben zurück [15].

Weniger stark regulierte Segmente (Industrie, Konsumgüter): Kosten- und Zeiteffizienz dominieren. Entwickler nutzen pragmatische, oft leichte Tools – mit dem Risiko, dass fehlende Struktur bei wachsender Systemkomplexität zu Engpässen führt.

Unregulierte Segmente (Forschung und Entwicklung): Freiheit statt Vorschriften. Teams kombinieren vorhandene Tools oder entwickeln eigene Lösungen – oft als Vorläufer für den späteren industriellen Einsatz.

Es gibt kein universell »bestes« Tool. Ausschlaggebend ist, wie gut es zu den Rahmenbedingungen der jeweiligen Branche passt. Denn diese bestimmen oft nicht nur, was beobachtet werden soll, sondern auch, was erlaubt ist und was nachweisbar sein muss.

Kontext vor Leistung: Auswahlkriterien für Tools

Heutzutage hängt der Erfolg weniger von der Leistungsfähigkeit einzelner Tools ab als davon, wie gut sie zum jeweiligen Anwendungskontext passen. Wer seine Anforderungen kennt, kann Tools gezielt auswählen, um die benötigte Perspektive auf das Laufzeitverhalten zu gewinnen. Beim Blick auf das Laufzeitverhalten unterscheiden wir vier Perspektiven:

  • 1. Systemstatus: Allgemeine Betriebskennzahlen wie CPU-Auslastung, freier Speicherplatz, Fehlerzähler zur Beobachtung von Leistungsabfällen, Speicherlecks und langfristigen Problemen mit der Betriebszeit.
  • 2. Logisches Verhalten: Welche Funktionen werden in welcher Reihenfolge aufgerufen? Damit lassen sich Ablauflogik, Nebenläufigkeit und Regressionen nachverfolgen.
  • 3. Zeitliches Verhalten: Wie lange dauern Aufgaben, wie überlappen sie sich, wo treten Jitter oder Deadline-Verletzungen auf?
  • 4. Variablenverhalten: Die Beobachtung interner Variablen, wie etwa Filter- und Reglerwerte oder Rohmessdaten, liefert Entwicklern die Grundlage für Tuning, Validierung und Kalibrierung in Sensor-Aktor-Anwendungen.

Neben den gewonnenen Einsichten fließen auch die Kompromisse mit in die Bewertung:

  • 1. Intrusion: Wie stark beeinflusst das Tool das Systemverhalten?
  • 2. Aufwand: Wie viel Zeit kosten Setup, Integration und Durchführung eines Versuchs?
  • 3. Tiefe: Wie effektiv legt ein Tool das Systemverhalten durch die von ihm gelieferten Einblicke offen? Eine hohe Tiefe bietet einen umfassenden, direkten Einblick in das interne Verhalten, während eine geringe Tiefe zu einer eingeschränkten oder indirekten Einsicht führt.

Ein Beispiel: Hardware-Tracer liefern präzise Daten fast intrusionsfrei, erfordern aber einen hohen Konfigurationsaufwand. Einfache Methoden wie Printf-Logs sind schnell integriert, bieten aber nur eine oberflächliche und teils verzerrte Sicht.

Um das Laufzeitverhalten der CPU zu erfassen, nutzen verschiedene Tools unterschiedliche Zugangswege.
Bild 1. Um das Laufzeitverhalten der CPU zu erfassen, nutzen verschiedene Tools unterschiedliche Zugangswege. So greifen Software-Tracing-Tools, Debugger und Variable-Watch-Tools beispielsweise über JTAG/SWD auf das System zu. Hardware-Tracing-Tools nutzen dagegen die Trace Port Interface Unit (TPIU), über die die Signale des Trace Memory Controllers (TMC) nach außen ausgegeben werden [16]. Klassische Hardware-Instrumente werden über Testpunkte (TP) eingebunden. Kalibrierungsprotokolle, HiL-Plattformen, eigenes Logging und »es:scope« setzen dagegen auf gängige Kommunikationsschnittstellen wie CAN, USB oder Ethernet.
© es:saar

Tool-Kategorien im Überblick

Hardware-Instrumente (Oszilloskope, Logikanalysatoren): Sie sind der Standard für hochpräzise Signal- und Protokollanalysen - ideal, um Schnittstellen wie SPI oder UART zu prüfen und Timing im Nanosekundenbereich zu verifizieren. Allerdings bleibt der Blick auf die Pins beschränkt – interne Abläufe oder Variablen lassen sich so nicht erfassen. Für tieferes Systemverständnis reichen sie daher allein nicht aus.

  • Hardware-Tracing-Tools: Lösungen wie Lauterbach TRACE32 oder Segger J-Trace nutzen On-Chip-Schnittstellen und liefern detaillierte Einblicke in Abläufe, Interrupts und Timing – fast ohne Einfluss auf das System. Sie sind unersetzlich bei Race Conditions oder Echtzeitanalysen. Gleichzeitig sind sie teuer, komplex einzurichten und oft von der jeweiligen Hardwarearchitektur abhängig.
  • Software-Tracing-Tools: Tools wie Percepio Tracealyzer oder SystemView arbeiten auf RTOS-Ebene und machen Task-Scheduling und Ereignisabläufe sichtbar. Sie sind flexibler und günstiger als Hardware-Tracer, erzeugen aber Laufzeit-Overhead und sind in der Auflösung begrenzt.
  • HiL-Plattformen: Hardware-in-the-Loop-Systeme simulieren komplette Umgebungen und sind unentbehrlich in sicherheitskritischen Bereichen wie Automotive oder Aerospace. Sie ermöglichen automatisierte Tests, Fehlersimulationen und Validierungen unter realistischen Bedingungen. Der Preis dafür ist ein hoher Aufwand für Aufbau, Integration und Anpassung.
  • Kalibrier-Tools (XCP/CCP): Standards wie CANape oder INCA sind im Automotive-Bereich etabliert, wenn es um Live-Messung und Parametrierung von Steuergeräten geht. Sie liefern präzise Variablenzugriffe in Echtzeit, sind aber wenig geeignet für Timing- oder Ablaufanalysen. Ihr Nutzen ist hochspezialisiert, der Einrichtungsaufwand entsprechend.
  • IDE-Debugger: Die in Entwicklungsumgebungen integrierten Debugger sind für Logikfehler oder Speicherprobleme meist die erste Wahl. Sie ermöglichen Breakpoints und Variablen-Inspektion, verzerren aber das Echtzeitverhalten, weil sie das System anhalten. Für Timing-Fehler sind sie daher wenig geeignet.
  • Eigenes Logging: Von printf-Ausgaben bis zu Python-Skripten – diese Methoden sind universell, günstig und in frühen Prototypen sehr nützlich. Mit wachsender Komplexität stoßen sie jedoch an Grenzen: Logs geraten unsynchron, Timing wird verfälscht, der Wartungsaufwand steigt.
  • Variable-Watch-Tools: Von vielen Halbleiterherstellern angeboten, bieten sie eine schnelle Möglichkeit, ausgewählte Variablen in Echtzeit zu beobachten. Sie sind unkompliziert und ideal fürs Tuning einfacher Parameter, liefern aber keine Einsicht in Abläufe oder Zeitverhalten.

»es:scope«-Plattform: Als softwarebasierte Lösung ermöglicht es es:scope, Variablenströme in Echtzeit zu beobachten und interaktiv zu verändern - ohne zusätzliche Hardware. Es bietet hohe Flexibilität und geringe Intrusion, konzentriert sich aber klar auf Variablenebene und ersetzt keine Tracing- oder Ablaufanalyse.

Die meisten Teams verfügen über Tools, um bestimmte Aspekte des Systemverhaltens zu erfassen. Allerdings bieten nur wenige Tools Einblicke über Grenzen hinweg, etwa zwischen Timing und Logik, Funktionsablauf und Variablenstatus sowie Systemverhalten und interner Kausalität. Es kommt nicht nur darauf an, was ein Tool leistet, sondern auch darauf, wie es dies tut und welche Kosten für Anschaffung, Einrichtung und Nutzung anfallen. Darüber hinaus sind die tatsächlichen Kosten nicht nur der Aufwand, sondern auch die Verzögerung beim Verständnis und die Zeit bis zur Erkenntnisgewinnung. Wenn Laufzeitanalyse in Echtzeit über mehrere Ebenen hinweg und oft vor Ort erfolgen muss, werden diese Kosten zu einem Engpass. Der Aufwand wird unvorhersehbar, und es kommt häufig zu Verzögerungen.

Deshalb ist es wichtig, die Tool-Landschaft zu verstehen: zu wissen, wo Tools funktionieren, wo sie an ihre Grenzen stoßen und welche Lücken in der Einsicht bleiben. Tabelle 1 zeigt die Stärken und Schwächen der Tool-Kategorien im Vergleich. Bewertet wurden die Perspektiven (Zeit, Logik, Variablen) und typische Kompromisse (Intrusion, Aufwand, Tiefe). Bild 1 zeigt die typischen Zugangswege der Tools zum Laufzeitverhalten. Diese reichen von direkten Debug- und Trace-Schnittstellen über Testpunkte bis hin zu Kommunikationsprotokollen.

Joshua Summa von es:saar
Joshua Summa ist Geschäftsführer und Mitgründer des 2022 in Saarbrücken gegründeten Unternehmens es:saar. Das Unternehmen verfolgt das Ziel, die Entwicklung von Embedded Systems mithilfe von Tools und Services zugänglicher zu gestalten.
© es:saar

Der Weg zur richtigen Tool-Wahl

Bei der Auswahl eines Laufzeitanalyse-Tools geht es selten um reine Leistungsfähigkeit, sondern um Passgenauigkeit zum jeweiligen Umfeld. Hilfreich ist dabei ein dreistufiger Ansatz:

  • 1. Kontext: Klären Sie, was beobachtet werden soll (Timing, Logik, Variablen), welche Einschränkungen gelten (Compliance, Sicherheit) und welche Nachweise erforderlich sind. Auch Budget und die bereits vorhandene Infrastruktur spielen eine Rolle.
  • 2. Perspektive: Bestimmen Sie die Art von Information, die Sie benötigen: Zeitliche Abläufe, Steuerungslogik oder Variablenverhalten.
  • 3. Kompromisse: Jedes Tool bringt Kompromisse mit sich. Entscheidend sind Einfluss auf das System (Intrusion), Aufwand für Einrichtung und Pflege sowie die Tiefe der gewonnenen Einsicht.

Die Wahl des richtigen Tools ist vor allem eine strategische Abwägung. Je besser Kontext, Perspektive und Kompromisse zusammenpassen, desto schneller und verlässlicher lassen sich die Lücken zwischen Entwurf und realem Verhalten schließen. Denn in eingebetteten Systemen gilt: Nur was beobachtbar ist, lässt sich auch kontrollieren.

Literatur

[1] Intel, 08.09.2025. [Online]. Available: https://timeline.intel.com/1975/ the-ice-80.

[2] embedded.com, 25.07.2017. [Online]. Available: https://www. embedded.com/a-history-of- microprocessor-debug-1980-2016/ ?utm_source=chatgpt.com.

[3] D. D. G. et al.: Embedded System Design, in 978-1-4419-0503-1, Springer Science+Business Media, 2009, p. 263.

[4] C. G. Paulo Cappelletti: Flash Memories, Springer Science & Business Media, 1999, p. 2.

[5] I. C. Society: IEEE Std. 1149.1-1990, 1990.

[6] Microchip Technology Inc.: MPLAB - IDE, Simulator, Editor. 1998. [Online]. Available: https://isa.umh.es/micros/doc/pic/51025b.pdf?utm_source=chatgpt.com.

[7] S. &. B. M. &. A. J. &. R. K. Nabi: An Overview of Hardware-In-the-Loop Testing Systems at Visteon, 10.4271/2004-01-1240, 2004.

[8] CAN Calibration Protocol, ASAM, 18.02.1999. [Online]. Available: https://www.asam.net/standards/detail/mcd-1-ccp/.

[9] S. Ghose: General-Purpose Multicore Architectures. arXiv, Nr. https://doi.org/10.48550/arXiv.2408.12999, 2024

[10] G. C. Buttazzo, Hard Real-Time Computing Systems, Springer Science+Business Media, 2011

[11] Arm Limited: ARM CoreSight Architecture Specification v3.0, 2017.

[12] Arm Limited, https://developer.arm.com/, 2006. [Online]. Available: https://developer.arm.com/documentation/ihi0031/a/The-Serial-Wire-Debug- Port-SW-DP-.

[13] J-Link/J-Trace User‘s Guide, ARM Limited, 03 2010. [Online]. Available: https://www.keil.com/support/man/docs/jlink/default.htm#:~:text=March%202010:%20 Initial%20revision.

[14] Tracealyzer for FreeRTOS, Percepio, [Online]. Available: https://percepio.com/tracealyzer/freertostrace/ ?utm_source=chatgpt.com. [Zugriff am 08 09 2025].

[15] J. P. &. U. S. Jörg Brauer: Efficient and Trustworthy Tool Qualification for Model-Based Testing Tools, Testing Software and Systems. ICTSS 2012, 2012

[16] »About the TMC«, ARM Limited, 2010. [Online]. Available: https://developer.arm.com/documentation/ddi0461/b/Introduction/ About-the-TMC?lang=en. [Zugriff am 15.09.2025].


Lesen Sie mehr zum Thema


Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu Componeers GmbH

Weitere Artikel zu Embedded

Weitere Artikel zu Echtzeit-/Embedded Software