TimeWeaver verbindet statische Pfadanalyse mit Zeitmessungen,
um die schlimmstmögliche Ausführungszeit von sicherheitskritischen
Anwendungen abzuschätzen.
Das Tool schätzt die WCET einzelner Tasks basierend auf den Ausführungszeiten von Codefragmenten
aus dem Echtzeit-Tracing auf der Instruktionsebene.
Ihre Vorteile
- Der hybride Ansatz greift bei einer großen Anzahl moderner Hochleistungsprozessoren,
für die eine Vorhersage der Ausführungszeit statisch nicht geleistet werden kann –
z. B. wenn Interferenzen zwischen den Prozessorkernen nicht zufriedenstellend kontrolliert
oder verhindert werden können, oder wenn die verfügbare Dokumentation nicht ausreicht,
um ein Timing-Modell für einen rein statischen Analysator wie aiT zu erstellen.
- TimeWeaver ist nicht-invasiv. Er benötigt keine Code-Instrumentierung, die die Zeitmessung verzerrt.
Er nutzt die Embedded-Trace-Units moderner eingebetteter Mikroprozessoren (Nexus 5001, CoreSight ETM usw.),
um den Programmfluß zu beobachten. Interferenz-Effekte (Verzögerungen beim Zugriff auf gemeinsame Ressourcen),
die sich auf die Traces auswirken, werden voll berücksichtigt.
Input
TimeWeaver benötigt die folgenden Eingaben:
- ein Executable
- Ausführungstraces,
z. B. BHM-Traces nach dem IEEE-ISTO-5001-Standard
- optionale Annotationen,
z. B. Schleifengrenzen, im selben Format wie andere AbsInt-Tools
wie aiT, TimingProfiler
oder StackAnalyzer
Analyseergebnisse
Die Ausgaben umfassen:
- Die globale WCET eines gegebenen Tasks
- Die lokale WCET bestimmter Funktionen, abhängig von den Tracepoints
- Abdeckung des Kontrollflußgraphen durch die vorhandenen Traces
- Maximal mögliche und maximal beobachtete Zahl der Schleifendurchläufe
- Zeitabweichungen zwischen verschiedenen Traces für dasselbe Codefragment
TimeWeaver bietet Ihnen dieselbe leistungsstarke Benutzeroberfläche, die Sie
von anderen AbsInt-Tools gewöhnt sind:
- nahtlos integrierte grafische und textuelle Anzeigen zum Kontrollfluß,
Quellcode, Assembly-Code, Konfigurationsdateien und den Analyseergebnissen
- einfaches Speichern und Wiederherstellen von verschiedenen Analyse-Szenarien
- anpaßbare Analyseberichte zu Dokumentations- und Zertifizierungszwecken
- schnelles Umschalten zwischen TimeWeaver und anderen Analyse-Tools
Unterstützte Architekturen und Trace-Formate
- Alle PowerPC-Boards, die Nexus-Traces nach IEEE-ISTO 5001 (Klasse 2 und höher) ausgeben, zum Beispiel:
- PowerPC QorIQ P204x/P30xx/P40xx/P50xx (e500mc-Kern)
- PowerPC QorIQ T-Series (e5500- und e6500-Kerne)
- PowerPC Qorivva-Linie MPC55xx/MPC56xx/MPC57xx (e200-Kern)
-
Alle ARM-Boards mit zyklengenauen ETM-Traces, zum Beispiel:
- Texas Instruments TMS570LC4357 (Cortex-R5-Kern)
- Xilinx Zynq UltraScale+ (Cortex-A53 und Cortex-R5)
-
TriCore:
- AUDO-Familie (z. B. TC1796)
- AURIX (z. B. TC275), inklusive Unterstützung für interaktives MCDS-Tracing über Infineon DAS
- AURIX 2nd GEN (z. B. TC397)
- Unterstützung für ARM-ULINK-Pro-Traces.
- Verbesserter Import von Lauterbach-FLOW-Traces.
- Unterstützung für Lauterbachs Trace32-ASCII-Export
mit der Einstellung
System.Option MMUSPACES ON
.
Unterstützte Compiler
- ARM:
ARM Developer Suite C/C++, Keil MDK-ARM C/C++,
Green Hills MULTI C/C++, IAR C/C++,
Tasking C/C++, Texas Instruments C/C++, Wind River Diab C/C++, CompCert C,
GCC, GNU C++ und LLVM/Clang-basierte ARM-Compiler wie z. B. HighTec
- TriCore:
Wind River Diab C/C++, Tasking C/C++, GCC, GNU C++, HighTec GNU C/C++
- PowerPC:
CodeWarrior C/C++, Wind River Diab C/C++,
Green Hills (C, C++ und Ada), CompCert C,
GCC, GNU C++, HighTec GNU C/C++, GNAT Pro C/C++/Ada (AdaCore)
Jetzt kostenlos testen
Sie können TimeWeaver für PowerPC, ARM, oder TriCore 30 Tage lang kostenlos an Ihren eigenen Anwendungen testen.
Weitere Architekturen können auf Anfrage unterstützt werden. Bitte wenden Sie sich bei allen Fragen an info@absint.de.