1.4   Tornado Host Tools

Tornado integrates the various aspects of VxWorks programming into a single environment for developing and debugging VxWorks applications. Tornado allows developers to organize, write, and compile applications on the host system; and then download, run, and debug them on the target. This section provides more detail on the major features of Tornado tools.

Launcher

The launcher lets you start, manage, and monitor target servers, and connects the remaining interactive Tornado tools to the target servers of your choice. When you select a particular target server, the launcher shows information about the hardware and software environment on the target, as well as monitoring and reporting on what Tornado tools are currently attached to that target. You can reserve target servers for your own use with the launcher, or allow others to use them as well.

In many ways the launcher is the central Tornado control panel. Besides providing a convenient starting point to run the other tools, the launcher can also:

The launcher is described in 3. Launcher.

Project Management

The Tornado project facility simplifies organizing, configuring, and building VxWorks applications. It includes graphical configuration of the build environment (including compiler flags), as well as graphical configuration of VxWorks (with dependency and size analysis). The project facility also provides for basic integration with common configuration management tools such as ClearCase.

The project facility is described in 4. Projects.

Compiler

Tornado includes the GNU compiler for C and C++ programs, as well as a collection of supporting tools that provide a complete development tool chain:

These tools are supported, commercial versions of the leading-edge GNU tools originally developed by the Free Software Foundation (FSF). Users of the GNU tools benefit from the innovative FSF development environment as well as from testing and support by Wind River Systems.

Among other features, the Tornado project facility provides a GUI for the GNU tools that is powerful and easy to use.

For more information, see 4. Projects, Gnu ToolKit User's Guide, and GNU Make.

WindSh Command Shell

WindSh is a host-resident command shell that provides interactive access from the host to all run-time facilities. The shell provides a simple but powerful capability: it can interpret and execute almost all C-language expressions. It also supports C++, including "demangling" to allow developers to refer to symbols in the same form as used by the original C++ source code.

Thus the shell can be used to call run-time system functions, call any application function, examine and set application variables, create new variables, examine and modify memory, and even perform general calculations with all C operators.

For even more versatile shell scripting and target control, the Tornado shell includes a complete Tcl interpreter as well as the C interpreter. The shell also provides the essential symbolic debugging capabilities, including breakpoints, single-stepping, a symbolic disassembler, and stack checking.

The shell interpreter maintains a command history and permits command-line editing. The shell can redirect standard input and standard output, including input and output to the virtual I/O channels supported by the target agent.

As a convenience, there is some overlap between WindSh and CrossWind, the Tornado debugger. (Conversely, the CrossWind debugger provides access to all shell built-in commands.) From the shell, you can perform the following debugging activities:

As with all Tornado tools, these facilities provide symbolic references wherever possible, using the symbol table managed by the target server.

The shell is described in 5. Shell.

CrossWind Debugger

The remote source-level debugger, CrossWind, is an extended version of the GNU source-level debugger (GDB). The most visible extension to GDB is a straightforward graphical interface. CrossWind also includes a comprehensive Tcl scripting interface that allows you to create sophisticated macros or extensions for your own debugging requirements. For maximum flexibility, the debugger console window synthesizes both the GDB command-line interface and the facilities of WindSh, the Tornado shell.

From your development host, you can use CrossWind to do the following:

The debugger is described in 7. Debugger. Also see Debugging with GDB.

Browser

The Tornado browser is a system-object viewer, a graphical companion to the Tornado shell. The browser provides display facilities to monitor the state of the target system, including the following:

The browser is described in 6. Browser.

WindView Software Logic Analyzer

WindView is the Tornado logic analyzer for real-time software. It is a dynamic visualization tool that provides information about context switches, and the events that lead to them, as well as information about instrumented objects.

Tornado includes an integrated version of WindView designed solely for use with the VxWorks target simulator. WindView is available as an optional product for all supported target architectures.

WindView is described in the WindView User's Guide.

VxWorks Target Simulator

The VxWorks target simulator is a port of VxWorks to the host system that simulates a target operating system. No target hardware is required. The target simulator facilitates learning Tornado usage and embedded systems development. More significantly, it provides an independent environment for developers to work on parts of applications that do not depend on hardware-specific code (BSPs) and target hardware.

Tornado includes a limited version of the target simulator that runs as a single instance per user, without networking support. Optional products such as STREAMS, SNMP, and Wind Foundation Classes are not available for this version.

The full-scale version of the simulator, VxSim, is available as an optional product. It supports multiple-instance use, networking, and all other optional products.

See the Tornado Getting Started Guide for a introductory discussion of target simulator usage, and 4. Projects for information about its use as a development tool.