260 likes | 889 Views
Tornado: An Embedded System Development Tool. Maung Wynn Aung Han CIS 642, Spring 2001 Prof. Insup Lee. Tornado. An IDE to develop real-time and embedded applications with minimal intrusion on the target system. Tornado comprises:. VxWorks, a high-performance real-time operating system.
E N D
Tornado: An Embedded System Development Tool Maung Wynn Aung Han CIS 642, Spring 2001 Prof. Insup Lee
Tornado • An IDE to develop real-time and embedded applications with minimal intrusion on the target system.
Tornado 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.
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 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.
The 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.
Debugger (CrossWind) • Setting breakpoints and controlling program execution. • Program listings and data-inspection windows. • Command-line interface extendable by Tcl scripting.
Browser • 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.
Browser 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
WindView • 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.
WindView 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.
A 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
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 explained above. • After launching the three tasks, the main task terminates.
Low priority task executes to the end and higher ones follow.
Conclusion • 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 don’t get paid by WindRiver. :) • (but thanks to Mr Aftahi from WindRiver for Site Keys)
References • www.windriver.com • www.wrs.com