
Real-time operating systems
- INTEGRITY RTOS and INTEGRITY-178 tuMP RTOS
For totally reliable and absolutely secure applications -
INTEGRITY-178 tuMP RTOS
Leading multicore RTOS for safety- and security-critical applications - µ-velOSity RTOS
Small, fast, easy-to-learn operating system for cost-sensitive and resource-constrained devices
Hypervisors and Virtualization
- INTEGRITY Multivisor
Securely run guest operating systems such as Linux and Android alongside native time-critical and secure applications - µ-visor hypervisor
Efficiently consolidate multiple operating systems on microntrollers with hardware virtualization capabilities
Software development tools
- MULTI and AdaMULTI development
environments
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
Processor probes
- Green Hills Probe V4
Multicore hardware bring-up, low-level debugging, and trace-powered analysis toosl
Optimizing Compilers for Arm Architecture
For four decades, the Green Hills Optimizing Compilers have led the embedded industry by generating the fastest, smallest, and most reliable code. The Green Hills optimizing C/C++ compilers for Arm use architecture and processor-specific optimizations that are tailored to the pipeline and instruction set characteristics of the Cortex-M, Cortex-R and Cortex-A architectures. Arm-specific features include:
- Code generation for AArch32 and AArch64, supporting the latest Armv9 processors and instructions
- Support for the latest Arm extensions including NEON, Cortex-M DSP, FP16, and crypto extensions
- Support for auto-vectorization of code using the NEON instruction set
- Optimizations that obtain optimal performance on the latest cores using architectural characteristics such as pipelining, cache perfor-mance, and branch prediction
- Support for both Thumb (Armv8-M Baseline) and Thumb-2 (Armv8-M Mainline) modes of execution on a function-by-function basis. The user may select to link against standard libraries in either Arm or Thumb/Thumb2 mode
- Big and Little Endian – Generates code with either Big-Endian or Little-Endian byte ordering
- Vector Floating Point – Generates optimized code utilizing the Vector Floating Point (VFP) unit when available. On processors without VFP, floating point is implemented using hand-coded software emulation routines.

