Leading the Embedded World

TriCore/AURIX Family Embedded Software Solutions

Embedded Software Solutions
RISC-V Embedded Software Solutions

Software Development tools

  • MULTI development environment
    Quickly develop, debug, test, and optimize embedded and real-time applications. Certified at highest levels of functional safety.
  • DoubleCheck integrated static analyzer
    Easily pinpoint bugs early in development
  • Green Hills Optimizing Compilers
    Generating the smallest and fastest code from C and C++. See below for architecture-specific support for RISC-V.
  • GTM-IP-MCS
    Integrated assembler for the Bosch GTM IP module supported by some Infineon TriCore AURIX devices

Processor Probes

  • Green Hills Probe V4
    For multicore hardware bring-up, low-level debugging, and trace-powered analysis tools

Architecture-specific support for TriCore

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.

SP 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.