Hardware Reference
In-Depth Information
12.5
DEVELOPMENT TOOLS
The implementation of complex real-time applications requires the use of specific
tools for analyzing and verifying the behavior of a system. In addition to the gen-
eral programming tools, such as editors, compilers, source code browsers, debuggers,
and version control systems, there are a number of tools specifically aimed at cross
development and run-time analysis. In particular:
Memory analyzers show memory usage and reveal memory leaks before they
cause a system failure.
Performance profilers reveal code performance bottlenecks and show where a
CPU is spending its cycles, providing a detailed function-by-function analysis.
Real-time monitors allow the programmer to store or view any set of variables,
while the program is running.
Execution tracers display the function calls and function calling parameters of a
running program, as well as return values and actual execution time.
Event analyzers allow the programmer to view and track application events in
a graphical viewer with stretchable time scale, showing tasks, context switches,
semaphores, message queues, signals, timers, etc.
Timing analysis tools perform a static analysis of the task code and derive a set
of data used to verify the timing behavior of the application.
Schedulability analyzers verify the feasibility of the schedule produced by a
scheduling algorithm on a specific task set.
Scheduling simulators simulate the execution behavior of specific scheduling al-
gorithms on synthetic task sets with randomly generated parameters and desired
workload. They are useful for testing the timing behavior of the system in several
circumstances, to detect possible deadline misses, blocking conditions and task
response times.
In the following, we give a brief overview of tools for timing analysis, schedulability
analysis, and scheduling simulations.
Search WWH ::




Custom Search