ESAHomeSpace EngineeringSystems
Market positionGCC-ERC32 (Open source)ERC32CCS (Open source)ERC32 Ada (Open source)ORK (Open source)ERC32/RAVEN (Proprietary)
About us
Software Engineering and Standardisation
Software life cycle
Software building blocks
Software standardisation
Useful linksContact us
printer friendly page
Overview of ERC32 tools
This page is given for information, not for advertisement. The information given here represents the knowledge of the authors at a given moment and does not pretend to be exhaustive.
Market position
The ERC32 Ada products listed below address different concerns with regard to nature, performance, evolution and target applications.

ERC32CCS is a Free Open Source Software (FOSS) development suite that includes RTEMS as the Real Time Operating System (RTOS), a toolchain (compilers, linkers, assemblers, etc) for C, C++ and Ada95 and a simulator. This is the only platform that supports all the features of Ada95 and, as such, suffers a hit on the memory footprint.

RCC is another FOSS platform similar to ERC32CSS that is made available by Gaisler. The biggest difference is that it does not include an Ada compiler but on the other hand it includes more up to date versions of RTEMS and associated toolchain.

Both ERC32CCS and RCC platforms rely on the same FOSS components (the RTOS and the associated toolchain; although they use different versions). However, almost all of these components have undergone considerable updates and are currently missing an updated package with all the current versions of the components.

The XGC ERC32 Ada is a commercial open-source product that uses a modified build of GNAT and seeks resource and execution performance over easy accommodation of evolutions of components. XGC ERC32 Ada supports a selection of Ravenscar restrictions and a number of other standard restrictions to the sequential component of the language.

GNAT/ORK is a true GPL product designed to trade selected aspects of performance for the preservation of the standard GNAT interfaces so as to allow for the independent evolution of the GNAT and the ORK components. GNAT/ORK supports the Ravenscar subset of concurrent Ada and (selectively) the whole sequential component of the language.

GNAT Pro is a complete development solution that includes an IDE, a toolchain (compilers, assemblers, linkers, etc.) and a small run time system that provides the means for execution on top of a bare board (i.e. runs on top of the hardware without the need for any Real Time Operating System). GNAT Pro is a commercial solution that complies with the Ravenscar tasking profile as well as with the Ada83 and Ada95 standards.

ObjectAda RAVEN is a commercial product that supports the Ravenscar profile along with a range of other standard restrictions. ObjectAda RAVEN includes a compiler enforcing the supported restriction and a compact and efficient runtime. ObjectAda RAVEN was designed and implemented to support certification-based qualification.

On account of their specific characteristics, the above products feature vastly different resources and execution performances.
GCC-ERC32 (Open source)
Name GCC-ERC32
Language(s) C, C++
Development platform(s) Solaris, GNU/Linux, Windows NT/2000.
Information Developed under the ESA/ESTEC project FRESCO (FRee Software for ERC32 Systems COoperation) by Spacebel (Belgium) and XGC (United Kingdom). The licence is GNU Public Licence (GPL) and as such the source code and binary distributions can be freely copied. It's based on the latest version of GCC. The libraries include POSIX thread library (libpthread), math library (libm), C library (libc) and compiler support library (libgcc). Supported formats are coff and elf.
Status The FRESCO project is finished. The last functionalities added are the support of Dwarf format (enables logic analysers and third party debuggers to work on a highed level that assembler) and configuration supporting the Temic ERC32 Single Chip evaluation board (TSC).

Used by Alcatel Valence as the baseline for all their C-based space developments.
Used in the PROBA project together with VxWorks (Spacebel).
Used in the SMART-1 project (Spacebel).

www XGC, SpaceBel

ERC32CCS (Open source)
Name ERC32 Cross Compilation System (ERC32CCS)
Language(s) C, C++, Ada 95
Development platform(s) Solaris, Linux
Information Developed by ESTEC for testing the ERC32. The toolset is based on the GNU C/C++ compiler and the GNAT Ada95 compiler. The Run-Time Kernel is RTEMS (GPL) and the Newlib C-library is from Cygnus. It's under GNU license and distributed freely.
Status The product family is now supported by the company Gaisler Research. Errors arising from various testing of the ERC32 have been fixed. Since the Ada 95 part is based on standard GNAT technology, the codesize and performance figures are quite poor compared to the Ravenscar compliant tools. This toolset has been used extensively in experiments.

RCC is a more recent release, with up to date versions of RTEMS and associated toolchain, but without Ada compiler.

www Download from the right menu, Gaisler Research

ERC32 Ada (Open source)
Name  ERC32 Ada
Language(s) Ada 95 (3 subsets, including one which is Ravenscar compliant)
Development platform(s) Solaris, GNU/Linux (and with decreased functionality Windows NT/2000)
Information Developed by XGC based on modified versions of GNAT and GNU technology. Different subsets suited for embedded real-time applications are availiable. Validation of the toolset has been done.
Status Since the toolset is based on a modified version of GNAT, some work in keeping the source code in line with GNAT and GNU modifications may be required in the future.

Used for the Beagle 2 project

www XGC Software

ORK (Open source)
Name  Open Ravenscar Real-Time Kernel (ORK)
Language(s) Ada (Ravenscar subset), C, C++
Development platform(s) x86 GNU Linux and Sparc Solaris
Information A GPL licensed (i.e. open source) tasking kernel which provides full conformance with the Ravenscar profile on ERC-32 based computers. The kernel is integrated with the GNAT compilation system. An interface based on a subset of pthread is provided to C-applications. Nearly all Ravenscar restrictions are checked at compilation time by a number of pragmas. The debugger is an enhanced version of the GDB with a graphical interface provided by DDD. A new version of the ERC-32 simulator SIS called tsim enables the debugger to debug the executable image (without a monitor) at source level.
Status ORK was developed under ESA/ESTEC contract. One of the goals of the kernel in the project is to provide a clean interface to the GNAT specific upper layers. Thus future evolution of GNAT will be easily intergrated with ORK.

The product is now maintained by AdaCore as a special version of GNAT-Pro.

www OpenRavenscar, AdaCore GNAT Pro

ERC32/RAVEN (Proprietary)
Name ObjectAda Real-Time Sparc/Solaris x, ERC32/RAVEN
Language(s) Ada 95 (Ravenscar subset)
Development platform(s) Solaris
Information The Raven Product is a commercially Ada Ravenscar product (plus additional restrictions for reduced runtime) with Run-Time System and compilation Chain streamlined for Ravenscar. Certification material can be provided. The simulator and linker which have been used for testing this product is from the XGC ERC-32 toolset.
Status Raven was ported to ERC-32 under ESA/ESTEC contract. Future improvements identified include the integration of the debugger with the simulator, which will enable debugging without a monitor; and inclusion of support for Ada exceptions.

Not in project use yet.

www Aonix

Last update: 23 July 2008


Related articles
ERC32-CCS & SIS download
Related links
XGC SoftwareSpaceBelGaisler ResearchOpen RavenscarAdaCore GnatProAonix Raven
   Copyright 2000 - 2014 © European Space Agency. All rights reserved.