TOC PREV NEXT INDEX DOC LIST MASTER INDEX



Introduction

Rational Apex is a unique product designed to facilitate the development of advanced, real-time systems. Using Rational Apex Embedded for Tornado, software engineers are able to simultaneously improve reliability, functionality, and productivity without sacrificing performance.

Reliability, functionality, productivity, and performance can be achieved by taking advantage of the two basic dimensions of Apex Embedded for Tornado, the Development Environment and the Execution Platform. Apex and Tornado each contribute to both dimensions, and their features are detailed in their respective overviews. Apex Embedded for Tornado also enhances reliability and productivity through the robust toolset which surrounds the compiler. The greatest contributor is the Apex debugger, which takes advantage of the internals of both the Development Environment and Execution Platform to provide unsurpassed insight into the operation of an executing program. In conventional cross-development environments, code must be laboriously prepared for execution on the target, loaded using a low-speed interface which must first be customized by the developer, and debugged in an environment devoid of application-level information. In contrast, Apex Embedded for Tornado requires no preparation of the program load image, loads in seconds over a network using standard networking protocols, and supports symbolic debugging and analysis on the target platform.

While these capabilities produce vast productivity gains, Apex Embedded for Tornado fully leverages the potential of the host-target network interface to further enhance the Development Environment. Using the client-server model, Apex Embedded for Tornado makes the resources of the host easily accessible to the target, and the target itself more accessible from the host. This results in capabilities such as target access to host file systems, and remote access of the target by the user with rlogin or telnet.

The productivity enhancement of the unified environment is most evident in the Apex Embedded for Tornado debugger. The debugger provides the standard Apex debugger user interface and functionality, while using the network to load the program and a target-resident server to execute on-target debugging commands on its behalf.

Because most aspects of software development are performed on the host, Apex Embedded for Tornado does not sacrifice target performance in order to provide its rich Development Environment. The foundation of the Apex Embedded for Tornado Execution Platform is the Tornado Operating System. Tornado exhibits characteristics which are critical to high-performance real-time systems, but would be unacceptable in a multi-user implementation. In particular, Tornado executes all processes in single address and I/O spaces, enforces strict prioritizing of processes, and runs solely in supervisor mode.

The programmer's interface to Tornado is Unix-like, including source compatible implementations of networking and I/O systems. While these interfaces can be used to communicate with host systems and to access files residing on them, they can also be used to communicate between Tornado systems, connected either by backplane or network, and to access local file systems. As a result, productivity is improved by providing portability of code from the host environment to the target, and functionality is extended far beyond the capabilities of a stand-alone real-time executive.

In addition, Tornado provides object-oriented libraries containing hundreds of industry–proven and efficient routines which may be used in application programs, including semaphores, message queues, and a variety of list managers. By using these built-in modules, productivity, reliability, and performance can be simultaneously enhanced.

The heart of the Execution Platform is the Tornado Wind kernel VxWorks. VxWorks provides process control services, and exhibits low interrupt latency, deterministic performance, and pre–emptive response. VxWorks is a minimal kernel, with most services usually provided by a kernel (such as memory management) relegated to the Tornado libraries.

Figure 1 is a picture of the cross development model supported by Apex. Here are definitions of some of the key pieces.

Relocatable file
A relocatable file is a binary file containing an application ready to run on the target. An automatic conversion to the object module format supported by VxWorks happens when the application is linked using the Apex linker. For 68K and Intel Architecture a_out format is used under Tornado 2.0.
For MIPS and PowerPC elf format is used.

apex_execute
Downloads and runs a program on the target.
apex_debug
Apex debugger which executes on the host.

Figure 1 Development Overview


Rational Software Corporation 
http://www.rational.com
support@rational.com
techpubs@rational.com
Copyright © 1993-2002, Rational Software Corporation. All rights reserved.
TOC PREV NEXT INDEX DOC LIST MASTER INDEX TECHNOTES APEX TIPS