TriCore Family Embedded Software Solutions

Software 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

Processor Probes
TriCore Optimizing Compilers
The Green Hills Optimizing Compilers for TriCore all utilize a common code generator with architecture-specific optimizations. Each supported TriCore 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 TriCore-specific features are supported:

  • Processor Options - One option for each supported TriCore model. This setting determines the instructions permitted.
  • Far Function Calls - Treats all function calls as far calls.
  • Small Data Area - The TriCore processor requires two instructions to access data stored at an arbitrary 32-bit address. Green Hills Compilers allow the programmer to put frequently used variables in the SDA section, which is pointed to by a global register. This enables single instruction access to data within the block, saving code size and improving performance.
  • Zero Data Area (ZDA) - The zero data area is similar in concept to the small data area. Green Hills Compilers allow the programmer to put frequently used variables in the ZDA section. This enables single instruction access to data within the block.

DSP Support
The Green Hills TriCore Compiler includes full support for automatically generating hardware DSP instructions. The compiler also performs many optimizations to enhance the performance of DSP code, including use of the following:

  • Zero overhead loop
  • Multiply-accumulate
  • Special addressing modes
  • Q15 load/store

Built-in functions are provided to access the DSP instructions, and in C++ there are several DSP classes provided, including the following:

  • Fixed point data types (saturated and unsaturated)
  • Circular buffers
  • Packed data types
  • Bit data types
DAvE Integration
Infineon's Digital Application virtual Engineer (DAvE) is a graphical expert system that allows the user to control the generation of configuration data and initialization code for the peripherals of the selected TriCore device. The Green Hills Software TriCore toolset is fully integrated with DAvE. The MULTI IDE inherits the DAvE project settings to compile the generated C and assembly files. The Green Hills startup code uses the DAvE configuration data to initialize the system.

© 1996-2014 Green Hills Software Trademark & Patent Notice