Introduction Rational Apex Embedded for Rational Exec uses the same Apex development environment as native systems. The Apex development environment is discussed in detail in the Getting Started Guide and Programming with Apex Guide. Please refer to those documents for a general discussion on using Apex. However, embedded systems are, by nature, more complex than native systems. This complexity requires that additional steps be taken to use Rational Apex Embedded. These are discussed in this chapter.
With Rational Exec, the development system supports many hosts and target combinations. Each target can have multiple compilation variations and for each of these there can be multiple board variations.
Rational provides two basic versions of the kernel or runtime executive: a default kernel with complete tasking support and a smaller kernel without tasking support, a no-tasking kernel. Please see the Apex Runtime Guide for a complete runtime description.
You can also build a program with a bare-bones runtime and no kernel for use with applications that have severe code space requirements.
Getting StartedGetting Started discusses using Rational Exec with an existing Board Support Package and the default kernel.
Board Support Packages (BSP's)
The basic configuration process is the same for all target processors. Rational provides configurations, BSP's, for selected target processors that can be used without modification. However, you can also customize one of these or develop your own board support package.
Using a Rational-Supplied Configuration.
You can use one of the supplied BSP's if the release contains one for your target hardware and if you can use all of the default configuration parameters as provided.
Using a Modified Rational-Supplied Configuration
You may find one of the sample configuration BSP's adequate for your use with some modification or you may base a new configuration on an existing one. You can change the configuration to meet application-specific requirements or for target hardware similar to that for which a BSP is provided.
Building a Custom Configuration.
You can build a custom BSP if you are using custom target hardware.
If the release does not contain a model view for your target, or if you wish to customize an existing one, you must create a new BSP.
- An overview of the user-configurable components is provided in "Configuration Overview" and a complete description of how to create or reconfigure a BSP is in "Building a Custom Configuration" in the Configuration Guide for Rational Exec.
Note: Many aspects of runtime behavior can be controlled with pragma Main.
Kernel Configuration
A description of configuring the kernel or no-tasking kernel is provided in "Configure the Kernel" in the Configuration Guide for Rational Exec. The no-kernel is described in "Configuring a No-Kernel Program." also in the Configuration Guide for Rational Exec.
Linking and Executing
- Linking and Executing Programs provides an overview of linking and executing programs.
- Linking in Detail is a more detailed discussion including the sections:
Object File FormatsThis chapter contains discussions of the object file formats that are derived from the Berkeley UNIX 4.2 BSD a.out object file formats. They are called relocatable object files. The format of object files output by the embedded compiler and used as input to the cross linker is compatible with the Berkeley formats. The output format is called the VOX Object eXecutable (VOX) format.
DebuggingDebugging Apex Embedded for Rational Exec, while similar to debugging on host systems, involves some additional considerations.
Multiple Target and Minimal Disturbance Debugger FeaturesThese extensions are available only for Rational Apex Embedded Sun Solaris cross to PowerPC with the Rational Exec runtime variant. To use these extensions, you must configure TDM and the kernel to use the realtime debug task.
Target Processor CPU Usage ModelsThese sections describe how different target architectures are set up and used by TDM and the kernel.
- PowerPC CPU Usage Model
- MIPS I CPU Usage Model
- MIPS II/III/IV/64 CPU Usage Model
- Honeywell RH32 CPU Usage Model
- i386 Family CPU Usage Model
Interrupt HandlingAda 95 adds the capability of interrupt handlers to protected objects.
Then the following sections describe handling exceptions and external interrupts for each of the target architectures.
- Exception and Interrupt Processing on the PowerPC
- Exception, Interrupt, and Trap Processing on the MIPS
- Interrupt Support on the RH32
- Interrupt Processing on the M68000 Family
- Interrupt Processing on the i386 Family
Writing Interrupt HandlersApex supplies the mechanisms for ISRs to communicate with tasks and to control the scheduling of critical tasks.
In general, the interrupt handlers in Apex are sufficient as they are. However, if it is necessary for you to provide additional or different functionality, the following sections discuss the routines and requirements of interrupt handlers to assist you.
- Ada 95 Protected Procedure Interrupt Handlers
- Classic Runtime System Interrupt Service Routines (ISR)s
And again, sections follow that address the specifics of writing interrupt handlers of each of the target architectures.
Rational Software Corporation http://www.rational.com support@rational.com techpubs@rational.com Copyright © 1993-2002, Rational Software Corporation. All rights reserved. |