TimeWeaver for ARM combines static analysis with non-intrusive measurements
to provide worst-case execution time estimates.
The tool estimates the worst-case execution time (WCET) of tasks
based on the execution time of trace segments obtained from real-time
instruction-level tracing. The computed time bounds are valuable for soft
real-time systems and provide feedback for optimizing worst-case performance.
The analysis results reported by TimeWeaver include:
- global end-to-end time, based on the maximum observed trace segment times combined to an overall bound
- end-to-end bounds for specific functions, depending on trace points
- coverage of the control-flow graph by the input traces
- maximum possible and maximum observed iteration counts for loops
- time variance of each code segment over all traces
Your benefits
- The hybrid approach works for a wide range of ARM implementations
for which purely static analysis is currently unavailable,
or generally impossible. This includes multi-core processors where inter-core
interferences cannot be prevented or controlled in a satisfactory way, or where
the available documentation is insufficient to build a static timing model.
- TimeWeaver is non-intrusive. It needs no code instrumentation that distorts
timing measurements. It uses the embedded trace units of modern embedded processors
to observe program flow. Interference effects included in the traces, such as
access delays to shared resources, are taken into account.
This approach is compliant with the recommendations of CAST (CAST-32A)
and EASA (AMC 20-193).
Supported derivates and trace formats
TimeWeaver for ARM works for all boards equipped
with processors that are able to emit ETM program trace messages,
for example:
- Cortex-A53
- Cortex-R5F
- Xilinx Zynq UltraScale+ (Cortex-A53 and Cortex-R5 cores)
- Texas Instruments TMS570LC4357 (Cortex-R5 core)
PowerTrace from Lauterbach is supported for all CPU architectures.
iSYSTEM winIDEA traces are supported both as binary and CSV.
Support for Accemic ASCII traces enables seamless integration with CEDARtools.SmartTrace.
ARM ULINK Pro traces are supported since release 21.10.
Supported compilers
- ARM Developer Suite C/C++ compiler
- The formally verified CompCert compiler
- GNU C/C++ compiler (GCC)
- Green Hills MULTI for ARM (C, C++ or Ada)
- IAR C/C++ compiler
- KEIL MDK-ARM C/C++ compiler suite
- HighTec LLVM
- Other LLVM/Clang-based ARM compilers
- Tasking C/C++ compiler
- Texas Instruments C/C++ compiler
- Wind River Diab C/C++ compiler
The standard license covers one compiler of your choice.
Additional compilers can be unlocked for a surcharge.
Qualification support
Your usage of TimeWeaver can be qualified according to ISO 26262, DO-178B/C, and other safety standards.
We offer special Qualification Support Kits that
help you simplify and automate your qualification process.
System requirements
- Windows: 64-bit Windows 10 or 11
- Linux: 64-bit CentOS/RHEL 7 or compatible
- 4 GB of RAM (16 GB recommended)
- 4 GB of disk space
- The Linux version requires the
libxcb-*
family of libraries to be installed
- Support for macOS High Sierra 10.13 or newer is possible on request for a surcharge
Free trial
You can try TimeWeaver for free, on your own applications, for a period of 30 days.
The free license covers:
- Any number of supported compilers
- More than one physical machine if needed, but no VMs
- Windows, Linux, or both
- Free online training and tech support
Get started today