Tornado

25
1 Tornado: An Embedded Tornado: An Embedded System Development System Development Tool Tool Maung Wynn Aung Han CIS 642, Spring 2001 Prof. Insup Lee

description

seminar report

Transcript of Tornado

Page 1: Tornado

1

Tornado: An Embedded System Tornado: An Embedded System Development ToolDevelopment Tool

Maung Wynn Aung HanCIS 642, Spring 2001

Prof. Insup Lee

Page 2: Tornado

2

TornadoTornado

An IDE to develop real-time and embedded applications with minimal intrusion on the target system.

Page 3: Tornado

3

Tornado comprises: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.

Page 4: Tornado

4

The Tornado IDE 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.

Page 5: Tornado

5

Overview of Tornado IDEOverview of Tornado IDE

Page 6: Tornado

6

The Tornado shell (WindSh)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.

Page 7: Tornado

7

Debugger (CrossWind)Debugger (CrossWind)

Setting breakpoints and controlling program execution.

Program listings and data-inspection windows.

Command-line interface extendable by Tcl scripting.

Page 8: Tornado

8

BrowserBrowser

The main browser window can be used to monitor-active system and application tasksmemory consumptionsummary of the current target memory use

The displays are snapshots and can be configured to update interactively, or the automatically at a specified interval.

Page 9: Tornado

9

Browser Display Includes: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

Page 10: Tornado

10

WindViewWindViewWindView 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.

Page 11: Tornado

11

An example of WindView screenAn example of WindView screen

Page 12: Tornado

12

WindView can be used to: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.

Page 13: Tornado

13

A Simple Demo (priority inversion)A Simple Demo (priority inversion)

high

mid

low

using resource A

need resource A (blocked)

preempted

long execution

using resource B

need resource B (blocked)

release A

release B

Page 14: Tornado

14

Sample program structureSample 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.

Page 15: Tornado

15

Task StatesTask States

Page 16: Tornado

16

Some WindView legendsSome WindView legends

Page 17: Tornado

17

Seeing the tasks started in WindViewSeeing the tasks started in WindView

Page 18: Tornado

18

High priority task blockedHigh priority task blocked

Page 19: Tornado

19

Low priority task preemptedLow priority task preempted

Page 20: Tornado

20

Medium priority task blocksMedium priority task blocks

Page 21: Tornado

21

Low priority task executes to the Low priority task executes to the end and higher ones follow.end and higher ones follow.

Page 22: Tornado

22

After using priority inheritanceAfter using priority inheritance

Page 23: Tornado

23

Before using priority inheritanceBefore using priority inheritance

Page 24: Tornado

24

ConclusionConclusion 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)

Page 25: Tornado

25

ReferencesReferences

www.windriver.comwww.wrs.com