LONDON Version 2.2 of Rapita Systems Ltd.'s RapiTime software toolset provides timing analyses, such as worst-case execution time (WCET), for embedded software running on most microcontrollers and also has wider uses in software debugging and monitoring test code coverage.
RapiTime is aimed at engineers developing real-time, embedded software for electronics systems in the avionics, defence, aerospace and automotive industries.
“For the first time it is possible to integrate timing analysis into the software development cycle,” said Dr Guillem Bernat, CEO of Rapita Systems (York, England). “It is the natural way to develop reliable, real-time code ” gathering timing data with each test cycle, and using the data to prioritise code improvements.”
“This is a major breakthrough because traditionally, worst-case execution time analysis happens at end of the development cycle, even though it is vital to understand the timing behaviour of time-critical code.”
“Once RapiTime has instrumented the code, you can capture trace data with every test run,” added Dr Andrew Coombes, Rapita's marketing manager. “The timing data provides a wealth of information to the users. For example colour coding of the source means engineers can easily identify timing problems. It's not just about timing; you can find out which code has not run during testing. You can even use the trace data to generate a list of timestamps and source code locations, which is an invaluable debugging tool.”
For example, engineers can trace back through a sequence of line numbers to find the code that was executing just before a software crash.
The latest version enables and engineer to instantly find code that is the source of timing problems with both high watermark path and WCET path clearly marked. Testing can be focussed on key sections of code, reducing test-time on expensive rigs. It eases the checking of test coverage to identify code that is not executed code during testing.
It enables the trace back through code execution using a list of timestamps and source code locations to aid debugging. It can fully instrument code with minimal overheads using RapiTime's Idpack feature, which allows instrumentation to be implemented with writes to as few as 2 bits of output ports.
A user can demultiplex pre-emptive code into several traces, one for each task or thread and annotate mutually exclusive paths to improve to the accuracy of the WCET analysis.
Related links and articles: