Static Binary Code Analysis Tools
Worst Case Execution Time (WCET) Calculation
For modern processors of high complexity (many of them are multi-core), it is very difficult to perform a formal model of the pipeline, cache and crosstalk mechanisms between cores.
In this case, it is not possible to calculate the WCET by static code analysis alone and it is necessary to use mixed techniques of analysis and runtime measurement.
What is TimeWeaver?
TimeWeaver is a hybrid analyzer that combines these two WCET calculation techniques. The most accurate execution time measurements are obtained by capturing non-intrusive hardware traces from the microprocessor. Therefore, TimeWeaver is only available for processors with hardware trace capability and for boards with Nexus-type trace connector and Aurora or similar type interface. Additionally, a debug probe with hardware trace capability such as Lauterbach or Green Hills Probe is required.
To perform the WCET calculation, TimeWeaver needs:
- The executable binary code
- Execution traces
- Optionally, the source code and annotations about the architecture
The result of the analysis is similar to that obtained by aiT and it's accurate enough to be considered as evidence of certification.
TimeWeaver is available for the following architectures and trace formats:
PowerPC capable of outputting Nexus program trace messages (IEEE-ISTO 5001, class 2 or higher):
ARM with clock-cycle accurate ETM trace or ULink Pro
Supported Processor and Compiler Families
- Cortex A53
- Cortex R5F
- AUDO Family (ie.g. TC1796)
- AURIX Family (e.g. TC275)
- AURIX 2nd Gen. Family (TC3xx)
- QorlQ P Series (e500mc core)
- QorlQ T Series (e5500, e6500 core)
- Qorivva Line MPC55xx, MPC56Xxx MPC57xx (e200 core)