|
|
|
|
|
|
|
x86/Pentium Optimizing Compilers
|
|
The Green Hills Optimizing Compilers for x86/Pentium all utilize a common code generator with architecture-specific optimizations. Each supported x86/Pentium model has its own particular pipeline and instruction set characteristics. These are accommodated in the code generator to produce code best suited for the target processor. The following x86/Pentium-specific features are supported:
|
|
|
|
|
Processor - One option for each supported x86/Pentium model. This setting determines the instructions permitted, as well as the pipeline optimization strategy used.
|
|
|
|
|
fprecise - Stores all floating point calculations in memory to ensure precise truncation. Fully compatible with the GNU convention for handling floating point comparisons, including comparisons that involve NANs.
|
|
|
|
|
ffunctions - Enables the compiler to use the 387 hardware instructions for certain floating point functions instead of calling them in the library.
|
|
|
|
|
Long Long Support - Fully supports 64-bit data types, constants, and expressions through the long long data type.
|
|
|
|
|
Calling Convention Compatibility - Fully compatible with both Microsoft standard and C calling conventions.
|
|
|
|
|
Stack Allocations (Win32 Only) - These options only apply to native Win32 compilation. Both fields are passed directly to the Microsoft linker.
|
|
|
|
|
Reserve: How much stack space you want allocated.
|
|
|
|
|
Commit: How much of that stack space you want unpaged.
|
|
|
|
|
Run-Time Libraries
|
|
A comprehensive suite of error-checking libraries for C, C++, EC++, and Ada 95 are included in the corresponding compiler distributions for each language. Some checks include reading, writing, or freeing unallocated memory; accessing an element beyond the bounds of a declared array; and NULL pointer dereferencing. Customization of error-checking libraries allows programmers to access this functionality through the MULTI IDE, or through a command line interface.
|
|
|
|
|
|
|
|
The MULTI Integrated Development Environment
|
|
MULTI Software Development Environment is a complete integrated development environment for embedded applications using C, C++, EC++, Ada 95, and FORTRAN languages. MULTI provides a direct graphical interface with all Green Hills compilers, and supports multi-language development and debugging. MULTI contains all of the tools you need to complete a major programming project:
|
|
|
|
|
Source Level Debugger
|
|
Project Builder
|
|
Language-Sensitive Text Editor
|
|
Version Control System
|
|
Graphical Browser
|
|
Performance Profiler*
|
|
Run-Time Error Checking
|
|
Code Coverage Analysis
|
|
RTOS EventAnalyzer
|
|
|
|
|
Windows (98/ME/NT/XP/2000) graphical environment for x86/Pentium target development. Host-target connectivity is provided through a variety of means, depending on the target environment. MULTI supports various recent versions of the Windows operating system. These boards can be accessed with a variety of interfaces:
|
|
|
|
|
Commercial RTOS Support - MULTI supports x86/Pentium boards running Green Hills Software's INTEGRITY Royalty-Free RTOS, the ThreadX RTOS, the OSE Softkernel from OSE Systems, and Tornado/VxWorks from Wind River Systems. 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 interfaced with a custom RTOS through integration of the Green Hills INDRT API. INDRT provides all the debug information needed by MULTI, and is easily integrated into user code.
|
|
|
|
|
Code Coverage Analysis - MULTI identifies areas of code that have or have not been executed.
|
|
|
|
|
Memory Leak Detection - MULTI detects dyamically allocated memory blocks not referenced by any program pointer and displays this information as memory leaks.
|
|
|
|
|
|
|