Dank Third-Party-Erweiterbarkeit für beliebige Echtzeit-Betriebssysteme, Middleware und APIs bietet das Tracealyzer SDK vollständige Trace Observability für beliebige C/C++-Anwendungen.

Dank Third-Party-Erweiterbarkeit für beliebige Echtzeit-Betriebssysteme, Middleware und APIs bietet das Tracealyzer SDK vollständige Trace Observability für beliebige C/C++-Anwendungen. (Bild: Percepio)

Percepio gibt die umgehende Verfügbarkeit des Tracealyzer SDK bekannt. Das Software Development Kit erlaubt Plattformentwicklern die Realisierung individueller Observability-Lösungen mit Percepio Tracealyzer. Das Unternehmen PX5 RTOS hat die SDK bereits erfolgreich zur Integration von Tracealyzer-Unterstützung genutzt und damit die Möglichkeiten validiert, die das SDK für externe Anbieter bereithält.

Percepio Tracealyzer sorgt bei Embedded-, Edge- und IoT-Systemen für Trace Observability beim Debugging

Percepio Tracealyzer sorgt bei Embedded-, Edge- und IoT-Systemen für Trace Observability beim Debugging, bei der Verifikation und beim Profiling auf Systemebene. Die sehr guten Visualisierungs- und Analysefeatures von Tracealyzer ermöglichen es Produktentwicklern, die Entwicklungszeit dank des zehnmal schnelleren Debuggings zu verkürzen. Außerdem unterstützt Tracealyzer die Entwickler auch bei der Software-Verifizierung und -Optimierung, was einen zuverlässigen Betrieb sowie mehr Leistungsfähigkeit gewährleistet.

Tracealyzer ist für mehrere populäre Echtzeit-Betriebssysteme (Real-Time Operating Systems, RTOS) wie etwa FreeRTOS, Zephyr und Azure RTOS ThreadX verfügbar, für die der Integrationscode direkt von Percepio angeboten und unterstützt wird. Mit dem neuen Tracealyzer SDK legt Percepio nun eine noch umfassendere Lösung für jegliche C/C++-Software nach, was noch mehr Entwickler dazu befähigt, die leistungsstarken Funktionen von Percepio Tracealyzer, wie etwa die RTOS Awareness, unabhängig vom jeweils genutzten RTOS in vollem Umfang zu nutzen.

Zitat

“Wir sind begeistert über die Einführung von Tracealyzer SDK, die den zweiten Schritt unseres Bestrebens darstellt, mehr Entwicklern die Vorteile der Trace Observability zu erschließen“, erklärt Dr. Johan Kraft, CTO und Gründer von Percepio. „Den ersten Schritt bildete der mit Tracealyzer v4.7 eingeführte RTOS-unabhängige Bare-Metal-Support, mit dem das Tracing auf Applikationsebene für beliebige C/C++-Anwendungen möglich wurde. Mit dem Tracealyzer SDK nun können Entwickler eigene Erweiterungen für volle Observability erstellen, darunter RTOS Awareness und API Tracing für weitreichende Einblicke in die Laufzeitwelt. Für Anbieter von Prozessoren und Softwareplattformen ist dies eine hervorragende Möglichkeit, ihren Kunden marktführende Observability-Eigenschaften zu bieten, ohne das Rad jedes Mal neu erfinden zu müssen.”

Dr. Johan Kraft, CTO und Gründer von Percepio

Das Tracealyzer SDK ist gleichermaßen für Applikations- und Plattformentwickler geeignet – also beispielsweise für Halbleiteranbieter sowie RTOS- und Middleware-Entwickler. Alle Nutzer können entscheidend vom Tracealyzer SDK profitieren, indem sie dank besserer Tool-Unterstützung mehr Design-Wins erzielen. Halbleiteranbietern kann das Tracealyzer SDK zudem detaillierte Observability nicht nur auf der RTOS- und Applikationsebene, sondern auch für Board Support Packages (BSPs), Peripherietreiber und HALs (Hardware Abstraction Layers) bieten, was sowohl die Produktivität der Kunden als auch die der Anwendungsingenieure erhöht. Den Kunden beschert dies eine beschleunigte Entwicklung, wodurch sich die Zeit bis zum Produktionsbeginn verkürzt.

Unkomplizierte, individuelle Integration

Dank der zum Tracealyzer SDK gehörenden Dokumentation und der beigefügten Codebeispiele können die Kunden und Partner von Percepio eigene Integrationen von Percepio TraceRecorder, der quelloffenen, als C-Quellcode vorliegenden Event-Tracing-Bibliothek von Percepio erstellen. Nur eine Handvoll TraceRecorder-Funktionsaufrufe ist für das Profiling und die Optimierung der CPU-Auslastung, des Softwaretimings und der dynamischen Speicherzuweisung nötig – einschließlich der Unterstützung beim Identifizieren von Speicherlecks. Zusätzliche Instrumentierungen können zudem in jeglichen C/C++-APIs hinzugefügt werden, die für die Verifikation und das Debugging wichtig sind (z. B. Kommunikations-Stacks, Treiber und HALs). Nicht zuletzt vereinfacht das Tracealyzer SDK die Integration in Autosar-basierte Automotive-Software, zumal der Support für Autosar-„Runnables“ bereits enthalten ist.

Die TraceRecorder-Bibliothek ist nicht nur für die Entwicklung gedacht, sondern kann auch in der Produktionssoftware aktiv bleiben, um etwaige Anomalien im Praxisbetrieb zu analysieren. Unterstützt wird dieser Anwendungsfall durch DevAlert, die mit Cloud-Anbindung aufwartende Lösung von Percepio für Remote Edge Observability. DevAlert informiert Entwickler über System-Anomalien und stellt detaillierte Diagnoseinformationen zur Verfügung wie zum Beispiel Tracealyzer-Traces, Core Dumps und Daten anderer Art. Mit dem Tracealyzer SDK erhalten DevAlert-Nutzer jetzt die Möglichkeit, das Tracing weiter auszubauen und genauere Informationen über Probleme und Anomalien während des Betriebs beim Kunden einzuholen. Abgesehen von Fehlern und Störungen infolge schwierig aufzudeckender Bugs schließt dies auch Cybersecurity-Warnungen ein.

Seit seiner ursprünglichen Entwicklung für Mikrocontroller und andere Bausteine mit knappem Ressourcenangebot wurde TraceRecorder in großem Umfang optimiert. Selbst in diesen Bauelementen benötigt das Tracing eines Ereignisses rund tausendmal weniger Zeit als die Ausgabe per printf an ein UART-Interface mit typisch 115.200 Baud. Die Auswirkungen der TraceRecorder-Bibliothek auf die Performance sind deshalb meist kaum spürbar, zumal sie durch die gebotenen Softwareoptimierungs-Möglichkeiten oft mehr als aufgewogen werden.

Die TraceRecorder-Bibliothek ist auf GitHub unter einer Apache-2.0-Lizenz verfügbar. Das Tracealyzer SDK ist hier verfügbar. Es kann von allen Percepio-Kunden mit aktiver Tracealyzer-Subskription genutzt werden.

Sie möchten gerne weiterlesen?