The RTEMS Evaluation CD

brought to you by Till Straumann <straumanATslacDOTstanfordDOTedu>, 2004/5

Introduction

This CD comes with a complete, pre-built RTEMS demo system providing a vxworks'ish look and feel. You can run RTEMS on any standard PC (>= pentium), a MVME23xx (powerpc), a Synergy VGM series (powerpc) or an old MVME167 (m68k) board. The generic system application (GeSys) provides the Cexp shell with a built-in run-time loader/linker. A complete toolchain and EPICS base installation for the supported target BSPs (on a linux-x86[RH9] host) is provided.

This page explains how to

Key Features

Prerequisites

CD Installation

Mount the CD on '/afs/slac/package/rtems/4.6.2' or copy its contents there. Unfortunately, this location is not optional; you may use a symbolic link pointing to the real mount point or installation directory, however. If you want to boot RTEMS on a PC, you need the CD (or a second copy) to boot.
 
The CD serves multiple purposes:
  1. It can be used to boot RTEMS directly from the CD (on a PC target).
  2. Mount CD on a host and export to target via TFTP or NFS.
  3. Mount CD on a host and use toolchain for cross development.
  4. Browse sources and docs.
It may be desirable to copy the CD contents to a harddrive.

NOTE: The mount point / prefix is hardcoded into the makefiles and into some of the shared libraries which cannot be found unless you set 'LD_LIBRARY_PATH' accordingly (or you change your /etc/ld.so.conf). Here's what you can do if you need a different mount point.

The CD directory layout is discribed here.

Booting RTEMS/GeSys

Prior to booting RTEMS, the necessary networking environment has to be set up. This step can be omitted for the PC target in basic evaluation mode. On the PC, you can boot RTEMS/GeSys directly off the CD. Without a remote filesystem you won't be able to load any application code, though. You can check out the Cexp shell, however.

Instructions for Booting RTEMS/GeSys on the Different Targets

Building Applications

Once you have RTEMS/GeSys up and running, you want to create and run your own applications on the target. Note that rebuilding RTEMS or GeSys is not necessary (that's why it's called a 'generic system').
This page gives detailed instructions for building non-EPICS and EPICS applications that can be loaded into a running RTEMS/GeSys system.

Further Information

RTEMS as contained on the CD is release 4.6.2 with some SSRL specific patches. The patches address the critical bugs found since 4.6.2 which are fixed in the 4.6.1 release (and some more fixes I submitted which are not yet in 4.6.1). The patches also contain some enhancements and some modifications of the MVME167 BSP enabling it to be loaded using a vxWorks bootrom.

Here are a few links to pages on the CD and elsewhere:

RTEMS and Toolchain Documentation

EPICS Documentation

RTEMS Source Tree Browsing

The RTEMS source tree can be confusing to the newcomer. This page gives a few links to point you to key locations.

GeSys/CEXP and other RTEMS Related Software from SSRL

Package Documentation

Other

LICENSING

The prebuilt RTEMS/Gesys application is distributed in binary form on this CD. Because it contains GPL-licensed code (the BFD library), the binary image must be released under theBFD licensing terms (GPL). AFAIK, all other products included in the binary (RTEMS itself, BSD networking, which BTW requires me to state that "This product includes software developed by the University of California, Berkeley and its contributors") are compatible with the GPL terms. All source code is shipped on this CD (except for the toolkit sources which are readily available; all applied patches are included on the CD).

Note that releasing RTEMS/Gesys/Cexp in binary form only requires these parts (or derived work) to be released under the GPL. It is perfectly legal to distribute code that you intend to load and run on the RTEMS/GeSys platform under any type of license since writing such code and building a loadable module does not require you to include any GPLled header or link against any GPLled library. Consequently, distribution of loadable modules is not affected by the GPL (as long as your code doesn't contain GPLled code itself, of course).

OTOH, if you write a RTEMS BSP and plan to release a binary version of RTEMS/GeSys with your BSP then you must comply with the GPL, i.e., you are required to release your BSP under a GPL-compatible license.

Here are links to relevant licenses: