GR712RC-QSG
November 2018, Version 1.0
17 www.cobham.com/gaisler
0x40001928: b0102000 mov 0, %i0 <main+4>
grmon2> step
0x4000192c: 11100017 sethi %hi(0x40005C00), %o0 <main+8>
grmon2> cont
Hello world!
CPU 0: Program exited normally.
CPU 1: Power down mode
grmon2> Exiting GRMON
Alternatively you can run GRMON with the -gdb command line option and then attach a gdb session to it. For
further information see Chapter 3 of [RD-11].
4.3. RTEMS Real Time Operating System
4.3.1. Overview
RTEMS is a real time operating system maintained at [RD-5] that supports the LEON CPU family. Cobham Gaisler
distributes a precompiled RTEMS toolchain for LEON called RCC [RD-6]. This section gives the reader a brief
introduction on how to use RTEMS together with the GR712RC Development Board. It will be demonstrated how
to install RCC and build an existing sample RTEMS project from RCC and run it on the board using GRMON.
The RCC toolchain includes a prebuilt toolchain with GNU BINUTILS, GCC, NewlibC and GDB for Linux and
Windows (mingw). It also contains prebuilt RTEMS kernels for the LEON2, LEON3/4 BSPs single-core and for
multi-core development, see [RD-7] for more information. The LEON BSP specific drivers are documented in
[RD-8].
Samples RTEMS projects are available within the toolchain package, installed into rtems-x.y/src/sam-
ples.
4.3.2. Installing RCC
The RCC toolchain is downloadable from the RCC homepage at [RD-6]. The full installation procedure is found
in the RCC manual [RD-7]. Windows users are recommended to install the UNIX-like environment MSYS before
proceeding.
The installation process of RCC is straight forward by first extracting the toolchain into C:\opt or /opt on Lin-
ux, then extracting the source distribution into the /opt/rtems-x.y/src/ directory. In order for the compiler
to be found one has to add the binary directory /opt/rtems-x.y/bin into the PATH variable as below:
$ cd /opt
$ tar -xf sparc-rtems-4.10-...-linux.tar.bz2
$ cd rtems-4.10/src
$ tar -xf rtems-4.10-...-src.tar.bz2
$ export PATH=$PATH:/opt/rtems-4.10/bin
NOTE: The GRTOOLS package [RD-9] includes a set of UNIX tools together with a MSYS environment suitable
for RCC.
4.3.3. Building an RTEMS sample application
Once the toolchain is set up, you can compile and link a sample RTEMS application by doing:
sparc-rtems-gcc -g -O2 rtems-hello.c -o rtems-hello
RCC's gcc creates executables for LEON3/4 by default. The default load address is at the start of the RAM, i.e.
0x40000000. All compilation options are described in [RD-7], but some useful options are reported below:
Table 4.3. RCC's GCC compiler relevant options
-g generate debugging information - must be used for debugging with gdb
-msoft-float emulate floating-point - must be used if no FPU exists in the system