Tracealyzer v4.7 bringt Verbesserungen, wie u. a. das Profiling für Automotive-ECUs und ein verbessertes Applikations-Tracing für beliebige C/C++-Software.

Tracealyzer v4.7 bringt Verbesserungen, wie u. a. das Profiling für Automotive-ECUs und ein verbessertes Applikations-Tracing für beliebige C/C++-Software. (Bild: Percepio)

Observability für beliebige C/C++-Software

Die TraceRecorder-Bibliothek kann jetzt mit beliebiger C/C++-Software genutzt werden, ohne dass zwingend ein unterstütztes RTOS verwendet werden muss. Ermöglicht wird dies durch eine „Bare Metal“-Option, die ein Tracing auf der Applikationsebene ohne Instrumentierung des RTOS-Kernels gestattet. Das RTOS Kernel Tracing steht standardmäßig nicht zur Verfügung, jedoch können Anwender beliebige Ereignisse oder Daten in ihren Applikationen aufzeichnen und visualisieren, wie zum Beispiel Funktionsaufrufe, Variablen- und Registerwerte, Zustandsautomaten oder Software-Timing-Informationen verschiedener Art.

Profiling-Unterstützung für Automotive-ECUs

Dank des neuen Tracing-Supports für Runnables eignet sich Tracealyzer v4.7 jetzt für das Profiling und Debugging von Automotive-ECUs. Als Runnable wird im Automotive-Bereich eine Softwarekomponente im Laufzeitsystem bezeichnet, jedoch steht das Runnable-Tracing nicht nur für Automotive-Systeme zur Verfügung. Stattdessen ist ein detailliertes Profiling auch für jeden anderen C/C++-Code möglich, bei dem es auf Timing und Performance ankommt. Entwickler können somit in den Timeline-Ansichten von Tracealyzer beliebige Codeabschnitte tracen und visualisieren und detaillierte Profiling-Informationen einholen – darunter Statistiken und Grafiken zur Verarbeitungszeit.

Verbessertes Applikations-Tracing

Tracealyzer erlaubt es Entwicklern jetzt, direkt im TraceRecorder API auf der Ziel-Seite ein explizites Tracing von Zustandsautomaten und individuellen Intervallen einzurichten. Hierdurch wird dieses Tracing effizienter und anwenderfreundlicher, da kein zusätzliches Setup in der Tracealyzer-Applikation notwendig ist. Ansichten wie etwa Zustandsgraphen und Intervall-Plots sind verfügbar, sobald entsprechende Traces in Tracealyzer geladen werden.

Kompaktes Logging

Die neue Tracealyzer-Version erlaubt ein effizienteres Logging, da String-Literals wie etwa Namen und Formatstrings nicht mehr komplett geloggt werden müssen. Aufgezeichnet werden stattdessen nur noch ihre Speicheradressen, die von Tracealyzer mithilfe der ELF-Datei aus dem Build-Prozess automatisch aufgelöst werden. Dies reduziert die Zahl der Bytes pro Log Message, beschleunigt die Logging-Aufrufe und erhöht den Durchsatz des Logging-Prozesses.

UDP-Streaming

Tracealyzer v4.7 unterstützt nunmehr das Streamen von Traces mit dem UDP-Protokoll. Schon bisher erlaubte Tracealyzer das netzwerkbasierte Streaming per TCP, jedoch ist UDP deutlich schneller, was den Durchsatz erhöht, den Speicherbedarf reduziert und die Prozessorauslastung verringert.

Verbesserte Unterstützung für Arm Cortex-A/R

Die TraceRecorder-Bibliothek wurde durch einen neuen Hardware-Port für Prozessoren der Reihen Arm Cortex-R- und -A mit Armv8-Architektur im 32bit-Modus erweitert. Hierdurch ist die Nutzung von Tracealyzer auf populären Prozessorkernen wie etwa Arm Cortex-R52 möglich.

Verbesserter SafeRTOS-Support

Die Integration für SafeRTOS wurde jetzt auf den (mit v4.6 eingeführten) TraceRecorder der neuen Generation aufgerüstet und profitiert nun von den neuesten Tracealyzer-Features.

 

Updates für Percepio DevAlert

Der integrierte DevAlert-Client in Tracealyzer wurde in ein separates Tool, den DevAlert Dispatcher, verlagert, denn DevAlert unterstützt jetzt nicht nur Tracealyzer-Traces, sondern jegliche Art von Diagnosedaten. Dennoch wartet auch die neue DevAlert-Lösung mit dem Cloud/Desktop-Workflow auf. Im Browser muss nur der Download-Link für DevAlert angeklickt werden und der DevAlert Dispatcher startet auf dem lokalen System. Die Daten werden dazu aus dem privaten Speicher heruntergeladen und im jeweiligen Desktop-Tool (z. B. Tracealyzer oder GDB) geöffnet.

Die Verbesserungen sind nicht nur für Percepio Tracealyzer relevant, sondern erweitern auch die Anwendungsmöglichkeiten von Percepio DevAlert, der neuen Observability-Lösung des Unternehmens für Geräte, die sich bereits im Einsatz befinden und in denen Tracealyzer als integrierte Komponente für das Fern-Debugging dient.

Die wichtigsten Abkürzungen in den Bereichen Automotive und Elektronik

Automobil-Begriffe wie ABS und CAN gehörten zu den ersten TLAs (Three-Letter Acronyms, also Abkürzungen, die aus drei Buchstaben bestehen) im Automotive-Bereich, aber mittlerweile gibt es so viele Abkürzungen, dass selbst Experten manchmal ins Grübeln kommen – zumal die Abkürzungen mittlerweile nicht nur aus drei Buchstaben bestehen. Weil selbst Experten, die jeden Tag mit den Begriffen umgehen, manchmal durcheinander kamen, hat die Redaktion ein großes, ständig aktualisiertes Abkürzungsverzeichnis mit weit über 1.000 Einträgen erstellt, das der Übersichtlichkeit halber in mehrere Einzelbeiträge aufgeteilt ist. Zu den Rubriken zählen unter anderem ADAS und AD; Schnittstellen, Test, Diagnose und Frameworks; Elektromobilität;  IoT, Wireless, Netzwerk und Schnittstellen sowie viele weitere.

Hier geht es zur Übersicht der Abkürzungsverzeichnisse.

Sie möchten gerne weiterlesen?