Japanese
GHS Products
PowerPC Optimizing Compilers
PowerPC Family | MULTI for PowerPC | GHS Compiler | MULTI | Green Hills Probe
PowerPC Optimizing Compilers
The Green Hills Optimizing Compilers for PowerPC all utilize a common code generator with architecture-specific optimizations. Each supported PowerPC model has its own particular pipeline and instruction set characteristics.
Processor Options - One option for each supported PowerPC model. This setting determines the instructions permitted, as well as the pipeline optimization strategy used.
Constant Data Section - Places all string literals, constants, and initialized variables declared const in C and C++ in a distinct section.
Position Independent Code (PIC) and Data (PID) - Allows code and data to be placed anywhere in memory and still run correctly.
Inline prologue - The compiler chooses the most efficient function prologue and epilogue. This option prevents the compiler from calling off to library routines; inline code sequences will be used instead.
Far Function Calls - Loads address of a function into the link register, and branches through it. This handles code that exceeds the limits of the PowerPC call instruction.
Label At End of Function - Places a label at end of function. This can be useful for diagnostic utilities.
Small Data Area - The Green Hills compilers collect frequently accessed variables into a 64K or less block of memory. This enables single instruction access to data within this block, saving code size and improving performance.
AltiVec Support - AltiVec vector operations are fully supported through assembly language instructions and Motorola C/C++ langauge extensions. C function calls are available for all AltiVec operations, making C/C++ access to AltiVec easy and efficient.
Run-Time libraries
A comprehensive suite of run-time libraries for C, C++, EC++, FORTRAN and Ada 95 libraries are included in the corresponding compiler distributions for each language. Several different versions of the libraries are provided to accommodate different combinations of processor and memory models. The combinations include hardware vs. software floating point, big Endian vs. little Endian memory models and CPU specific versions. Full featured start-up code and libraries include automatic copy of data from ROM to RAM and system call emulation. Source code to the run-time libraries is available so that users can customize routines according to the special needs of their applications.
The MULTI Integrated Development Environment
MULTI provides a host-based (Windows 9x/ME/NT/2000 PC or UNIX workstation) graphical environment for PowerPC target development. Host-target connectivity is provided through a variety of means, depending on the target environment. MULTI supports many PowerPC targets, including evaluation boards from Motorola SPS (ADS and Sandpoint boards) and Motorola Computer Group (MBX and MVME boards). These boards can be accessed with a variety of interfaces:
Bare Board Access (No RTOS or ROM Monitor) - Most PowerPC-based boards offer an On-Chip Debugging (OCD) interface, such as JTAG, BDM, or OnCE. Such boards include the Motorola MBX-860 and 860ADS boards. MULTI connects to these on-chip interfaces through the Green Hills Probe Agilent's Emulation Probes, Wind River System's visionPROBEs, Macraigor System's Wigglers and Yokogawa's ADViCEs. MULTI provides a complete software package that enables programmers to debug code without need for operating systems, kernels, or even ROM monitors.
Commercial RTOS Support - MULTI supports PowerPC boards running Green Hills' INTEGRITY and ThreadX Real-Time Operating Systems, OSE from OSE Systems, VxWorks from Wind River Systems, Embedded Linux, and ChorusOS from Sun Microsystems. In all cases, MULTI provides multitask-aware debugging. Special commands allow tasks to be stopped upon system events such as task creation.
Custom RTOS Support - MULTI can be integrated with a custom RTOS through the Green Hills INDRT API. INDRT provides all the debug information needed by MULTI, and is easily integrated into custom kernel code.
Instruction Set Simulator - The Simppc instruction set simulator interpretively executes PowerPC programs on the host PC or UNIX workstation without the requirement of target hardware by simulating the execution of the target processor at the instruction level. Simppc provides full debug features, host I/O, command window, extended profiling and hardware breakpoints. Simppc also simulates target CPU cache for those processors which support it.
Real-Time Operating Systems
Green Hills Software offers two real-time operating systems for PowerPC-based embedded development:
INTEGRITY - Royalty-free, memory protected, secure RTOS for use in embedded systems that require maximum reliability. Available for PowerPC 5xx, 6xx, 7xx, 8xx, 74xx, and 82xx processors.
ThreadX - Royalty-free, small, fast multitasking kernel. Available for PowerPC 4xx, 5xx, 6xx, 7xx, 8xx, 74xx, and 82xx processors.