TriCore/AURIX 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
- GTM-IP-MCS
Integrated assembler for the Bosch GTM IP module supported by some Infineon TriCore AURIX devices
Processor Probes
- Green Hills Probe
High-performance real-time debugging
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.