für FreeRTOS, SAFERTOS, Keil RTX5, RTOS-32, Azure RTOS ThreadX, Micrium µC/OS-III, Weston Embedded Cesium RTOS, OpenVX, Zephyr, PX5, Bare-Metal
Tracealyzer bietet Ihnen eine neue intuitive Möglichkeit für den Softwareentwickler das Echtzeitverhalten von embedded Echtzeit-Software-Systemen zu analysieren. Sie finden damit Probleme schneller oder vermeiden sie bereits im Vorfeld und optimieren dann die Performance Ihres Systems schnell und einfach.
Auch ist die Verwendung von Tracealyzer während der Systemtests eines embedded Systems sehr hilfreich um Ursachen für Fehler schnell und somit kostengünstig zu lokalisieren.
Kennen Sie das von Ihrer Software?
- Zeitüberschreitungsfehler bei Systemaufrufen?
- Unzureichende Performance, obwohl die Hardware leistungsfähig ist?
- Sporadisch unzureichendes Antwortverhalten des Systems?
- Falsche oder fehlerhafte Messages von anderen Tasks?
- Zeitweilig verzögerte Ausgangssignale?
- Selten auftretende sog. Klemmer des gesamten Systems?
Das Tracealyzer Tool bietet umfassende Visualisierung des Verhaltens Ihrer Software, mittels einer Vielzahl von verschiedenen Sichtweisen, die erklären was, wann und wo passiert ist.
Die Visualisierung zeigt das (RT)OS Verhalten z.B. des Scheduling, System-Calls, Messages, Semaphoren und Interrupts auf. Das Tool wurde um eine anwendungsorientierte Aufzeichnung von Ereignissen ergänzt, die auch dazu verwendet werden können, Daten als zeitliche Kurve darzustellen. Damit wird die Entwicklung regelungstechnischer Anwendungen viel einfacher. Es ist auch für komplexe Multicore-Systeme optimal geeignet!
Das Tool kann während der Entwicklung im Labor, ebenso wie im Anwendungssystem im Feld implementiert werden, wo es als Tracelogger die Analyse eines System-Absturzes stark vereinfacht.
Tracealyzer ist für viele RTOS verfügbar:
Trace Streaming with SEGGER J-Link, KEIL ULINK, STLink V2+V3, IAR I-jet
Tracealyzer unterstützt das kontinuierliche Trace Streaming und ermöglicht so ein praktisch unbegrenztes Tracing von Task-Scheduling-Abläufen, Interrupts und Applikations-Logging. Das Trace Streaming wird durch viele JTAG-Debug Probes (SEGGER J-Link, KEIL ULINK, STLink V2+V3, IAR I-jet) ermöglicht, was auf ARM Cortex-M- und Renesas RX-Mikrocontrollern ein hohes Performance-Niveau ermöglicht. Unterstützt wird das Trace Streaming auch über Netzwerkverbindungen, USB und an die Dateisysteme von Geräten mit beliebigen, vom RTOS unterstützten Prozessoren.
Tracealyzer spart Zeit und Erhöht die Produktivität bei der Entwicklung
“Tracealyzer has doubled our development speed. Problems that otherwise would take days to solve are obvious with this tool and just a quick fix. We use it all the time.” (Alex Pabouctisids, Lead Firmware Engineer, Flyability)
Sehen Sie sich das Video hier an und gewinnen Sie selbst einen ersten Eindruck!
Debugging von embedded Software Systemen
Debugging von embedded Software kann sehr zeitaufwendig sein, speziell wenn viele Tasks in Zusammenhang mit einem RTOS oder OS implementiert wurden. Ein konventioneller C/C++ Debugger zeigt nur den Systemstatus im Fehlerfall oder bei einem Haltepunkt an, aber nicht wie das System zu diesem Status gelangte!
Fragen wie:
- Wieviel CPU Zeit wurde für welche Aufgaben verbraucht?
- Was passiert wirklich in der zeitlichen Abfolge in meinem System?
- Gibt es Tasks die ab und zu überdurchschnittlich viel Zeit benötigen?
- Gibt es Verzögerungen im Pre-emptive-Scheduling nach Interrupts?
- Wie viele und welche Pre-emptions treten verschachtelt wann auf?
Das alles kann ein konventioneller Debugger nicht beantworten, meist auch nicht wenn er über eine sog. Task-Aware-Debugging Funktion verfügt. Und diese auch noch sehr oft unkomfortabel zu bedienen ist.
Tracealyzer ist eine optimale Ergänzung zu konventionellen Debuggern, egal ob es sich um On-Chip-Debugg-Tools, Eclipse/GDB basierte oder ähnliche handelt. Tracealyzer liefert eine Überblick und tiefen Einblick in das Laufzeit- und Echtzeit-Verhalten des Systems. Als Entwickler verstehen Sie plötzlich Ihr System besser und in einer Weise die mit dem Sourcecode oder normalen Debuggern nicht möglich gewesen wäre. Dadurch finden Sie Fehler und Probleme viel schneller und vermeiden diese in der Zukunft, wenn Sie Tracealyzer entwicklungsbegleitend verwenden. Sie haben somit mehr Zeit um sinnvolle Features der Software zu entwickeln.