Trace-Visualisierung beim Debugging von RTOS-Firmware

Seite: 4/4

Firmen zum Thema

Tracealyzer ist ein eigenständiges Tool, das parallel zu einem vorhandenen Debugger verwendet werden kann. Es erfordert keinerlei besondere Hardware und ist auf praktisch jedem Prozessor lauffähig, sofern ein unterstütztes RTOS eingesetzt wird. Kontinuierliches Streaming ermöglicht das Tracing Ihres Systems über lange Zeitspannen hinweg, während das Tracing an einen RAM-Puffer das Sammeln von Traces ohne Debugger-Verbindung im Rahmen von Feldtests oder an bereits im Einsatz befindlichen Systemen zulässt.

Einige Kunden aktivieren Tracealyzer im Produktions-Code und erfassen Traces aus der Ferne. Dies gibt den Entwicklern detaillierte Problemdiagnosen aus dem Praxisbetrieb in die Hand, die sonst beinahe unmöglich zu reproduzieren wären.

Bildergalerie

Die Haupt-Traceansicht (Main Trace View) visualisiert alle Daten entlang einer vertikalen Zeitachse und fokussiert sich auf die Ausführung von Tasks, sowie auf Interrupthandler und Ereignisse wie etwa RTOS-API-Aufrufe und Ihre eigenen anwenderspezifischen Ereignisse. Jeder Task und jedem Interrupthandler wird abhängig von der Priorität eine eigene Farbe zugewiesen, die übereinstimmend in allen Ansichten benutzt wird. Mit einem Doppelklick auf eine Task, eine ISR oder ein Ereignis öffnet sich eine weitere Ansicht, die relevante Ereignisse zeigt.

Mit User Events ist ein explizites Logging gemeint, das ähnlich wie der klassische ‚printf‘-Aufruf in den Applikations-Code eingefügt wird. Allerdings geht die Verarbeitung deutlich schneller und dauert auf den meisten 32-Bit-MCUs nur wenige Mikrosekunden. User Events werden in der Hauptansicht mit gelben Beschriftungsfeldern angezeigt und lassen sich nutzen, um für das Debugging oder die Performance-Analyse weitere Details über den Applikations-Kontext beizusteuern. Wie in den meisten anderen Ansichten auch, ist jeder Listeneintrag mit dem zugehörigen Ereignis in der Haupt-Traceansicht verknüpft. Ein Doppelklick fokussiert die Hauptansicht somit auf das entsprechende Ereignis.

Auch die dynamische Speichernutzung lässt sich analysieren. Auch wenn die dynamische Speicherzuweisung bei Embedded-Systemen allgemein als schlechtes Verfahren gilt, ist sie gelegentlich notwendig. Tracealyzer ermöglicht Ihnen das Analysieren der Zuweisungen und wartet sogar mit einem Filter auf, mit dem sich Speicherlecks einfacher finden lassen.

Tracealyzer wird für führende RTOS-Produkte und auch für Linux-Systeme angeboten. Es bietet direkte Unterstützung für die meisten 32-Bit-Prozessoren (einschließlich ARM) und lässt sich einfach auf andere Architekturen portieren.

Der Trend zum RTOS in der Embedded-Branche ist unübersehbar – und dies aus gutem Grund. RTOS lassen sich als dritte Generation der Firmware-Entwicklung betrachten, da das Multithreading einen höheren Abstraktionsgrad und weniger Kontrolle über die Verarbeitung bietet. Dies birgt jedoch erhebliche Fallstricke, die nach besserer Debugging-Unterstützung auf der RTOS-Ebene verlangen.

Vereinfachen lässt sich das Debugging RTOS-basierter Systeme mithilfe besserer Einblicke in ihre Echtzeitverarbeitung. Hierzu bedarf es des Tracings auf der RTOS-Ebene, wobei die Visualisierung entscheidend für das Begreifen der Daten ist. Percepio Tracealyzer ist die führende Lösung für diesen Zweck, denn es vermittelt bessere Einblicke und sorgt für höhere Qualität und eine schnellere Entwicklung.

* Dr. Johan Kraft ist CEO und Gründer von Percepio AB.

Artikelfiles und Artikellinks

(ID:44950748)