Software development tools
- MULTI development environment
Quickly develop, debug, test, and optimize embedded and real-time applications using the History viewer, TimeMachine Debugger, and Debug Snapshot - Green Hills
optimizing compilers
Generating the smallest and fastest code from C, C++, and Ada - simrh850
Full-feature multicore instruction-accurate simulation tool that enables faster development and deployment of RH850 multicore projects. Support for various shared-memory and isolated architectures, as well as complete support for RH850 hyper-threading capabilities
- GTM-IP-MCS
Integrated assembler for the Bosch GTM IP module supported by some Renesas RH850 devices
Processor Probes
- Renesas IE805A E1 and E2
Optimizing Compilers for RH850
The Green Hills Optimizing Compilers for RH850 all use a common code generator with architecture-specific optimizations. Some optimizations include loop optimizations, peephole optimizations, register coalescing, tail recursion, and memory optimization. As an additional benefit, Green Hills offers CodeFactor®, a link-time optimization which reduces overall program size by identifying and removing redundant segments of code from object files.
Each supported RH850 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 RH850-specific features are supported:
- Processor—One option for each supported RH850 model. This setting determines the instructions permitted, as well as the pipeline optimization strategy used.
- Reserve registers for the user—The compiler can reserve various registers (r2, r5, r15-r24 or r17-r22) for the user.
- Position Independent Code (PIC) and Data (PID)—Allows code and data to be placed anywhere in memory and still run correctly.
- Far function calls—Linker can automatically detect function calls that are out of range and insert code to resolve these calls.
- Gsrec conversion utility—Converts an executable file into a Motorola S-Record format file.
- FPU Support—The compiler generates code to use the Floating Point Unit (FPU) for the RH850 family. When available, it can generate vectorized code to automatically use the Extended Floating Point Unit (FXU).
- 64-bit Integers—Supports 64-bit data types, constants, and expressions including double precision floating point.
- Ghexfile Conversion Utility—Allows conversion of an executable to hexadecimal. Automatically determines byte order and BCS/COFF based on header information.
- Multiple memory models—The RH850 Supports the following
memory models:
- Normal data: The default memory model, where all data is placed within the data area and is accessed using normal load and store operations.
- Small data: Data is assigned either automatically by the compiler or manually by the user (or both) into a small data area and is referenced using a reserved register as a base pointer, allowing for smaller code for data accesses.
- Zero data: Similar to Small data, although the zero register (r0) is used as the base register to access data within 16 bits of address 0.
- Tiny data: Data is assigned by the user into small sections accessed using the Tiny Data Area (TDA) base register (ep) and the short load/store operations providing for the smallest possible code for data accesses. The compiler supports multiple Tiny Data Areas and can switch between them dynamically at run time.
- CodeFactor Linker Optimization—A link-time optimization that reduces overall program size by identifying and removing redundant segments of code.
- Highly configurable—Many processor extensions and features (callt, prepare/dispose, etc) can be selectively enabled or disabled in the compiler, with full support provided in the Green Hills libraries.
Run-Time libraries
A comprehensive suite of run-time libraries for C, C++, and EC++ are
included in the corresponding compiler distributions for each language.
Several different versions of the libraries are provided to accommodate
different combinations of processor and memory models. The combinations
include hardware vs. software floating point, and CPU specific versions.
Full featured start-up code and libraries include automatic copy of
data from ROM to RAM and system call emulation.
MISRA C support
Green Hills has incorporated the MISRA C guidelines for C programming
into MULTI and its optimizing compilers. MULTI’s MISRA C support
enables developers to easily select the MISRA rules to automatically
enforce, resulting in cleaner code and fewer bugs. At compiler time,
violations of MISRA C rules are reported. Violations that can only be
detected at runtime are automatically detected and reported by Green
Hills Software’s advanced run-time error detection. MULTI supports
MISRA C 2012 and 2004.
Debug Probes
- 850eserv2—Supports a wide variety of In-Circuit Emulators from Renesas. Full support is included for the built-in instruction and data trace capabilities, which is fully integrated with the TimeMachine Debugging Suite.
- Support for the ASTC OSCAR VLAB virtual platform solution and the Synopsys Virtual Platform Manager is available, enabling developer to engage with their RH850 hardware platforms before the board even exists

