x86/Pentium Linux Native Family Embedded Software Solutions

Software development tools
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.