Commit 60e01207 authored by Thanassis Tsiodras's avatar Thanassis Tsiodras

Cleanup

parent aee2569b
Pipeline #37 skipped
Introduction
============
This repository contains RTEMS scaffolds that cover the development workflows
required for ESA projects. The Makefiles and the example sources demonstrate
how to:
This repository contains RTEMS scaffolds that showcase recommended
development workflows. The Makefiles and the example sources demonstrate
how to use the EDISOFT and OAR platforms, to:
* support both debug and release compilations
* support compilation for native and emulated FPU usage
......@@ -17,24 +17,25 @@ your source tree:
VPATH=src:Library/foo:Library/bar:...
NONFPU_SRC= \
init.c \
tasking.c \
init.c \
tasking.c \
...
FPU_SRC= \
gnc.c \
compute_pi.c
gnc.c \
compute_pi.c
As their names suggest, you add a file in the FPU_SRC list
if you want it to be compiled for native FPU use (i.e. without `-msoft-float`).
Whether native or emulated FPU compilation is performed on it, is selected
during build time ; by the FPU=1 Makefile parameter (see below)
You can control 3 orthogonal options:
There are in fact, 3 orthogonal compilation options that you can control:
## Debug/Release mode:
## Debug/Release mode
Use the `CFG` Makefile parameter:
Using the `CFG` Makefile parameter, you can select debug or release
compilation:
$ make CFG=debug
...
......@@ -47,13 +48,13 @@ Use the `CFG` Makefile parameter:
-rwxr-xr-x 1 root root 47860 Mar 16 17:48 fputest
-rwxr-xr-x 1 root root 585178 Mar 16 17:48 fputest.debug
If no `CFG` option is provided, the default is Debug compilation.
(* If no `CFG` option is provided, the default is `debug` compilation. *)
Notice that in release compilation, the process creates a small binary
(containing only the executable code) and separately, the debug information -
for loading from inside GDB via the `file` command.
## Native FPU usage for the FPU_SRC sources:
## Native or emulated FPU compilation for the FPU_SRC source files
To use native FPU compilation for the FPU_SRC list of source files, use the
`FPU` Makefile parameter:
......@@ -64,7 +65,7 @@ To use emulation (default, if `FPU` option is not provided), pass `FPU=0`:
$ make CFG=debug FPU=0
...or just don't mention it at all:
...or just don't mention `FPU` at all:
$ make CFG=debug
......@@ -72,7 +73,7 @@ The `FPU` and `CFG` options are completely independent ; you can e.g.
compile a debug version that uses native FPU, and a release one that uses
emulation.
## Verbosity:
## Verbosity
Messages shown during compilation follow the semantics of the Linux kernel
compilation process, emitting short messages by default (CC for compilation,
......@@ -83,10 +84,10 @@ compilation process, emitting short messages by default (CC for compilation,
[CC] objs.debug/FPU_task1.o
[LD] bin.debug/fputest
If you want to see the complete commands used, invoke `make` with V=1:
If you want to see the complete commands used, use `V=1`:
$ touch src/task1.c
$ make V=1
$ make CFG=debug FPU=0 V=1
sparc-rtems4.8-gcc -c \
-B/home/user/development/rtems/sparc-rtems4.8/leon3/lib \
-specs bsp_specs -qrtems -nodefaultlibs -mcpu=cypress -DBSP_leon3 \
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment