Real-time operating systems
- INTEGRITY RTOS
For totally reliable and absolutely secure applications
- µ-velOSity RTOS
Small, fast, easy-to-learn operating system for the most cost-sensitive and resource-constrained devices
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.
- Green Hills Probe V4
For multicore hardware bring-up, low-level debugging, and trace-powered analysis tools
A complete offering for developing and deploying RISC-V applications
Architecture-specific support for RISC-V
The Green Hills C/C++ Optimizing Compilers for RISC-V bring the following key features to the RISC-V architecture:
- Certified at highest safety levels for Automotive (ISO 26262), Industrial (IEC 61508) and Railway (EN 50128/50657)
- Support for a comprehensive list of ISA modules
- Both 32-bit and 64-bit RISC-V architectures are supported
- Compiler and debugger support for custom Instructions
- Decades of industry-leading experience in C/C++ compiler technology that generates the fastest, smallest, and most reliable code
The RISC-V instruction set architecture is modular and extensible, allowing designers to include only the instruction set modules they require, and to incorporate their own custom instructions. Green Hills C/C++ Compilers and tool chain support the following ISA base and extensions, enabling developers to choose the exact instruction set modules required for compiling their code.
Supported instruction set modules
|Compressed instruction set
|Single and double precision floating point
|Shorthand for IMAFD Zicsr Zifencei
|Base integer unit
|Integer multiplication and division
|Packed SIMD instructions (planned, not ratified)
|Quad precision floating point in assembler/linker
|Supervisor-level privilege instructions
|Vector extensions (assembly and simulation support only)
|Additional bit manipulation instructions
|Compressed instruction set sub-extensions
|Floating point in integer registers – Single-precision, Double-precision, Half-precision, Minimal half-precision
|Additional floating-point instructions
|Half-precision and Minimal half-precision floating-point
|Enabled by default with I
|Base counters, timers, and hardware performance counters
|Pause hint instruction
|Minimum vector register lengths (VLEN)
|Additional vector support for AMO operations and load/store segment instructions
|Vector extensions for embedded processors, enabling a subset of V
Additionally, RISC-V includes a separate privileged instruction set specification. These privileged instructions are supported.
Pre-built runtime libraries are provided for compatibility with all of these configurations.
RISC-V Custom Instructions
A popular feature of the open RISC-V architecture is that users can incorporate their own custom instructions into their design. The Green Hills development tools offer an easy way to add new instructions into the compiler, assembler, MULTI debugger, and instruction set simulator.
For more information about Green Hills optimizing compilers for C and C++, click here.