Title: Tornado:%20An%20Embedded%20System%20Development%20Tool
1Tornado An Embedded System Development Tool
- Maung Wynn Aung Han
- CIS 642, Spring 2001
- Prof. Insup Lee
2Tornado
- An IDE to develop real-time and embedded
applications with minimal intrusion on the target
system.
3Tornado comprises
- VxWorks, a high-performance real-time operating
system. - Application-building tools (compilers and
associated programs). - IDE for managing projects, host-target
communication, running, debugging, and monitoring
VxWorks applications.
4The 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 target
system. - 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 target
simulator.
5Overview of Tornado IDE
6The Tornado shell (WindSh)
- allows you to download application modules,
- invoke both VxWorks and application module
subroutines. - Can be used for interactive exploration of the
VxWorks operating system and applications. - WindSh can interpret most C language expressions.
- A Tcl interpreter is also included.
7Debugger (CrossWind)
- Setting breakpoints and controlling program
execution. - Program listings and data-inspection windows.
- Command-line interface extendable by Tcl
scripting.
8Browser
- The main browser window can be used to monitor-
- active system and application tasks
- memory consumption
- 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.
9Browser Display Includes
- detailed task information
- semaphores
- 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
10WindView
- WindView acts as a logic analyzer for real-time
software. - It allows to study the dynamic interactions of
among elements of your complex system. - triggering facility to start and stop data
collection. - view graph provides visual chronicle of the
real-time system.
11An example of WindView screen
12WindView can be used to
- Detect race conditions, deadlocks, CPU
starvation, and other problems relating to task
interaction. - Determine application responsiveness and
performance. - See cyclic patterns in application behavior.
- Save data for deferred analysis.
- Conduct post-mortem analyses of failed systems.
13A Simple Demo (priority inversion)
release B
using resource B
need resource A (blocked)
high
need resource B (blocked)
long execution
mid
low
preempted
release A
using resource A
14Sample program structure
- Main task will spawn three tasks with low, high
and medium priorities consecutively with some
delay. - Three Tasks will use resources as explained
above. - After launching the three tasks, the main task
terminates.
15Task States
16Some WindView legends
17Seeing the tasks started in WindView
18High priority task blocked
19Low priority task preempted
20Medium priority task blocks
21Low priority task executes to the end and higher
ones follow.
22After using priority inheritance
23Before using priority inheritance
24Conclusion
- VxWorks is an established platform of RTOS.
- 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 dont
get paid by WindRiver. ) - (but thanks to Mr Aftahi from WindRiver for Site
Keys)
25References
- www.windriver.com
- www.wrs.com