Tornado: An Embedded System
Maung Wynn Aung Han
CIS 642, Spring 2001
Prof. Insup Lee
An IDE to develop real-time and
embedded applications with minimal
intrusion on the target system.
VxWorks, a high-performance real-time
Application-building tools (compilers
and associated programs).
IDE for managing projects, host-target
communication, running, debugging,
and monitoring VxWorks applications.
The Tornado IDE
An integrated source-code editor.
A project management facility.
Integrated C and C++ compiler and linker.
The browser, a visual monitoring tool for
CrossWind, a source-level debugger.
WindSh, C and Tcl command shell that
controls the target.
VxWorks target simulator VxSim.
WindView software logic analyzer for the
Overview of Tornado IDE
The Tornado shell (WindSh)
allows you to download application modules,
invoke both VxWorks and application module
Can be used for interactive exploration of the
VxWorks operating system and applications.
WindSh can interpret most C language
A Tcl interpreter is also included.
Settingbreakpoints and controlling
Program listings and data-inspection
extendable by Tcl scripting.
The main browser window can be used
system and application tasks
summary of the current target memory use
The displays are snapshots and can be
configured to update interactively, or
the automatically at a specified interval.
Browser Display Includes:
• detailed task information
• message queues
• memory partitions
• watchdog timers
• stack usage by all tasks on the target
• target CPU usage by task
• object-module structure and symbols
• interrupt vectors
WindView acts as a logic analyzer for
It allows to study the dynamic
interactions of among elements of your
triggering facility to start and stop
view graph provides visual chronicle
of the real-time system.
An example of WindView screen
WindView can be used to:
• Detect race conditions, deadlocks, CPU
starvation, and other problems relating to
• Determine application responsiveness and
• See cyclic patterns in application
• Save data for deferred analysis.
• Conduct post-mortem analyses of failed
A Simple Demo (priority inversion)
using resource B need resource A (blocked)
need resource B (blocked)
preempted release A
using resource A
Sample program structure
Main task will spawn three tasks with
low, high and medium priorities
consecutively with some delay.
Three Tasks will use resources as
After launching the three tasks, the
main task terminates.
Some WindView legends
Seeing the tasks started in WindView
High priority task blocked
Low priority task preempted
Medium priority task blocks
Low priority task executes to the
end and higher ones follow.
After using priority inheritance
Before using priority inheritance
VxWorks is an established platform of
Tornado suite of tools allow fast
development of embedded systems.
Good debugging/monitoring tools improve
reliability of systems.
Finally, I explored it out of curiosity and
don’t get paid by WindRiver. :)
(but thanks to Mr Aftahi from WindRiver for Site Keys)