Solutions
Homepage / Embedded Software Solutions / Native Development
Linux

Software Development Tools


  • MULTI development environment 
Quickly develop, debug, test, and optimize embedded and real-time applications
  • Green Hills optimizing compilers
Generating the smallest and fastest code from C, C++, Ada 95 and Fortran

The MULTI® Integrated Development Environment

MULTI provides a host-based 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 Linux Red Hat® operating system.

  • Attach To Running Process—MULTI can open a new debugger window on a running process.
  • Code Coverage Analysis—MULTI identifies areas of code that have or have not been executed.
  • Advanced Fork Debugging—When a process forks (as with a UNIX fork() call), MULTI automatically opens a new debugger window on the child process. This enables simultaneous debugging of both the parent and the child processes.
  • Multiple Thread Debugging—MULTI enables source debugging of one or more threads of execution simultaneously within their own colored debug window, or in one main window that focuses on the current thread.
  • Performance Profiler—MULTI collects and graphically displays profiling information, such as the amount of time spent in each function, and the number of calls to a function.
  • Multiple Task Debugging—MULTI provides multitask-aware debugging. Special commands allow tasks to be stopped upon system events such as task creation.
  • Memory Leak Detection—MULTI detects dynamically allocated memory blocks not referenced by any program pointer and displays this information as memory leaks.
  • Dynamic Load—MULTI has the ability to detect when new shared objects are loaded into an application’s address space and automatically load the debugging information for those shared objects.

x86/Pentium Linux Native Optimizing Compilers

The Green Hills Optimizing Compiler for x86/Pentium utilizesa 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.
  • Calling Convention Compatibility - Fully compatible with the GNU Calling convention.
  • 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.


Windows

Real Time Operating Systems

  • INTEGRITY RTOS
For totally reliable and absolutely secure applications
MULTI for x86/Pentium Windows Native runs on various versions of the Windows operating system.

Software development tools

  • MULTI & AdaMULTI development environments 
Quickly develop, debug, test, and optimize embedded and real-time applications
  • Green Hills optimizing compilers
Generating the smallest and fastest code from C, C++, and Ada 95

x86 Windows native optimizing compilers

The Green Hills Optimizing Compiler for x86/Pentium utilizes 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.
  • Hardware Coprocessor—In hardware floating-point (HFP) mode, the compiler uses floating-point registers to hold floating-point data and to perform floatingpoint operations.
  • Floating-Point Built-Ins—Controls the use of floating-point intrinsics, such as FABS, FSQRT, and FSIN.
  • Placement of Zero-Initialized Data—Controls the allocation of variables and arrays explicitly initialized to zero. Allocating such objects to an uninitialized section will generally reduce the size of the executable ROM image.
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.

Compliance with Industry Standards

Green Hills C/C++ Compilers fully conform to ANSI/ISO industry standards, and include optional enforcement of MISRA C programming guidelines.

Common Tools for Native and Embedded Configurations

MULTI offers flexibility in native and embedded configurations using x86/Pentium processors while maintaining a common interface for project creation and debug. All of the advanced features of MULTI for native development seamlessly transfer to embedded development. This enables users to prototype embedded applications early in the development cycle when silicon is unavailable.

No time is wasted in learning a new development environment or rewriting code when switching between embedded and native configurations. The language front ends of the Green Hills compilers are the same for both native and embedded development, guaranteeing absolute language compatibility when you recompile programs developed on your host for your embedded target.


Solaris

SPARC Native Development Tools

  • MULTI development environments 
Quickly develop, debug, test, and optimize embedded and real-time applications
  • Green Hills Optimizing Compilers
Generating the smallest and fastest code from C, C++, and Ada 95

Common Tools for Native and Embedded

MULTI lets you use the same tools for both embedded and native development. All of the advanced features of MULTI for native development immediately transfer over to your embedded projects, and vice versa. In fact, the very same MULTI program can debug both native and embedded code. MULTI uses a remote target server when communicating with an embedded target.

Early in the development cycle when silicon isn't available yet or there is not enough target hardware for large programming teams, MULTI allows you to prototype portions of your embedded applications in native mode on your host workstation (under Solaris or SunOS). The language front ends of the Green Hills compilers are the same for both native and embedded, guaranteeing absolute language compatibility when you recompile programs developed on your host for your target.

SPARC Native Optimizing Compilers

The Green Hills Optimizing Compilers for SPARC Native all utilize a common code generator with architecture-specific optimizations. Each supported SPARC 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 Green Hills SPARC Native Optimizing Compilers support the following SPARC Native-specific features:
  • Processor Options - One option for each supported SPARC Native model. This setting determines the instructions permitted, as well as the pipeline optimization strategy used.
  • pic (small offset) - Generates System V.4 style Position Independent Code with 16-bit offsets.
  • PIC (large offset) - Generates System V.4 style Position Independent Code with 32-bit offsets.
  • Position Independent Data - Generates position independent data.
  • Assume Double Alignment - By default, 4-byte loads and stores access all 8-byte (e.g. double precision) objects in memory to avoid any errors caused by using an 8-byte load on an address which is a multiple of four, but not a multiple of eight. Assuming 8-byte alignment is proper for some applications and provides more efficient code.
  • Reserve Registers g5, g6, g7 for user - This option will keep the compiler from using the %g5, %g6, or %g7 registers as general purpose, permanent registers.
  • Little endian byte order - Specifies code generation for a little endian system.
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. Green Hills provides ANSI compliant C and C++ implementations on the SunOS or Solaris Operating Systems.

Shared Library Support 

Green Hills' tools are integrated with Sun's native assembler/linker and offer shared library support.Shared libraries have the advantage of reducing program executable size and memory requirements. When building an executable with shared libraries, the linker does not embed the library code in the program executable, but deposits only the required information to access the library module at run-time. Since the shared libraries are composed of position independent code, multiple applications have access to the same libraries. In addition, it is not necessary to relink your application when a new version of the library is available which has the same calling sequences.



Go to Homepage
Bildes Proje © 2012
All rights reserved.
Privacy | Term of Use
Address : Ugur Mumcu St. 43/5 06700 GOP Cankaya, Ankara / TURKEY
Telephone : +90 (312) 447-3016
Fax : +90 (312 ) 447 30 26
E-mail : info@bildesproje.com
Social Sharing