Leading the Embedded World

RISC-V

Embedded Software Solutions
RISC-V Embedded Software Solutions

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

Processor Probes

  • Green Hills Probe V4
    For multicore hardware bring-up, low-level debugging, and trace-powered analysis tools
RISC-V embedded development solution from Green Hills Software

A complete offering for developing and deploying RISC-V applications

Partner Ecosystem

  • Andes Technology
  • Lattice Semiconductor
  • Microchip
  • NSI-TEXE
  • Renesas
  • SiFive

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

RISC-V is a free, open, and extensible instruction set architecture based on reduced instruction set computer principles. RISC-V is modular in nature allowing designers to include only the instruction set modules that they require, and to incorporate their own custom instructions into their design.

The Green Hills compiler supports the modular nature of the RISC-V architecture by allowing the user to choose the exact instruction set modules required for compiling their code. Supported instruction set modules are:

“A” Atomic instructions
“B” Bit manipulation
“C” Compressed instruction set
“F, D” Single and double precision floating point
“G” IMAFD Zicsr Zifencei
“H” Hardware hypervisor (in progress)
“I” Base integer unit
“M” Multiply and divide unit
"OS" Privileged instruction set
“P” Packed SIMD instructions (in progress)
“Q” Quad precision floating point in assembler/linker
“V” Vector instructions in assembler/linker
“Zfinx” Single-precision FP in integer registers
“Zdinx” Double-precision FP in integer registers (in progress)

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.