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