Lauterbach's TRACE32 PowerTrace hardware module provides a proven method of capturing the timing trace data required by RapiTime for measuring application performance and calculating worst-case execution time (WCET). Using PowerTrace as an external timing trace data capture device has the advantage that the instrumentation code required can be made extremely efficient in terms of both code size and execution time overhead. As accurate timestamps are applied externally by PowerTrace, each instrumentation point (automatically added to the code by RapiTime) simply needs to write its ID to an address or register monitored via the trace port (NEXUS or ETM). On many embedded targets, this can be achieved in a single assembler instruction, and so is inherently thread safe.
Once the source code has been instrumented using RapiTime, compiled and linked, it can be downloaded by TRACE32 onto the target ready for testing. A trace of the software's timing behaviour can now be obtained by automatically running a series of tests on the target and capturing the trace data using PowerTrace.
Once the trace data has been captured, the data is converted to RapiTime's native format, allowing a full analysis of the captured time frame.
The Lauterbach's TRACE32 PowerTrace provides a simple and effective means of capturing timing trace data for use by RapiTime. This solution minimises measurement overheads by supporting minimal instrumentation points (typically a single assembler instruction) via the use of external time-stamping.
About RapiTime
RapiTime from Rapita Systems Ltd. is an on-target performance profiling and timing analysis tool, which provides worst-case execution time measurements and reduces the cost of achieving significant optimizations in execution time for complex systems implemented in C or Ada.
RapiTime can automatically instrument the code at various levels of abstraction from function nor sub-program boundaries, down to the sub-paths between individual decision points. The instrumented software is then executed on the embedded target, and subject to extensive testing. During testing, when each instrumentation point is executed, it's identifier and a timestamp are captured in a trace of the software's execution.
RapiTime processes the trace data obtained during testing and combines it with structural information derived from analysis of the source code. The result is a wealth of detailed timing information about the system. For information about RapiTime see the documentation available from http://www.rapitasystems.com
About TRACE32 PowerTrace
Lauterbach GmbH is the leading manufacturer of complete, modular microprocessor development tools ranging from In Circuit Emulators and Logic Analysers for system integration to JTAG-Debuggers and instruction set simulators for software applications.
TRACE32 PowerTrace provides fast and systematic trouble shooting capabilities to detect complex errors that only occur under run-time conditions. In addition the program and data flow recorded by the real-time trace is time-stamped, thus allowing overall analysis of the system's performance. The huge amount of trace information that can be collected provides a basis for quality assurance features like code coverage or cache analysis.
Further information is available from http://www.lauterbach.com