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 gewohnt 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 Motorola-ColdFire-Boards mit Unterstützung für Echtzeit-Tracing, z. B. MCF5307.
-
Alle Renesas-RH850-Boards mit einer Nexus- oder AURORA-Schnittstelle, zum Beispiel:
-
Alle ARM-Boards mit zyklengenauen ETM-Traces, zum Beispiel:
- Texas Instruments TMS570LC4357 (Cortex-R5-Kern)
- Xilinx Zynq UltraScale+ (Cortex-A53 und Cortex-R5)
ARM-ULINK-Pro-Traces werden unterstützt seit Release 21.10
-
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)
-
Enge Integration mit PowerTrace von Lauterbach
für alle CPU-Architekturen
-
Unterstützung für UDE-Traces von PLS
-
Unterstützung für winIDEA-Traces von iSYSTEM
-
Unterstützung für CSV-Traces von GHS TimeMachine
-
Unterstützung für ASCII-Traces von Accemic, nahtlose Integration mit CEDARtools.SmartTrace
Unterstützte Compiler
ARM |
ARM Developer Suite C/C++
CompCert
GCC
GNU C++
Green Hills MULTI C/C++
IAR C/C++
Keil MDK-ARM C/C++
LLVM/Clang-basiert, z. B. HighTec
Tasking C/C++
Texas Instruments C/C++
Wind River Diab C/C++
|
TriCore |
GCC
GNU C++
HighTec GNU C/C++
Tasking C/C++
Wind River Diab C/C++
|
PowerPC |
AdaCore GNAT Pro C/C++/Ada
CodeWarrior C/C++
CompCert
Green Hills C/C++/Ada
GCC
GNU C++
HighTec GNU C/C++
Wind River Diab C/C++
|
ColdFire |
GCC
GNU C++
HP 68000 C/Ada
Microtec C
Wind River Diab C/C++
XD Ada
|
V850/RH850 |
Green Hills C/C++/Ada
Renesas CS+
Wind River Diab C/C++
|
Jetzt kostenlos testen
Testen Sie TimeWeaver kostenlos an Ihren eigenen Anwendungen.
YouTube-Videos (in Englisch)