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
- boot the prebuilt system on a target BSP
- build non-epics applications as loadable modules and how to load
them on the target
- build the epics example application and how to load it on the
target.
Key Features
- Pre-built binaries for a couple of BSPs:
- PC586 (generic PC with a >pentium CPU. EEPRO100, 3C90x and
3c509 (ISA) network chip variants are supported
- MVME23xx (motorola powerpc SBC)
- MVME167 (motorola m68k SBC)
- Synergy VGM (powerpc SBC)
- Pre-built toolchain for a linux-x86 host (ix86, powerpc, m68k
targets).
- Pre-built EPICS base and example application.
- GRUB bootloader on CD. Boot the demo on a PC without installing
anything, simply by inserting the CD in a boot drive.
Prerequisites
- Target hardware:
- Pentium PC (preferrably with a supported ethernet adapter:
EEPRO100, 3c etherlink (e.g., 3c90x), dec 21140 or 3c509).
- MVME23xx (powerpc).
- SVGM (Synergy VGM series; powerpc).
- MVME167 (m68k).
- Host Support: BOOTP/DHCP, TFTP and NFS servers. DNS and NTP
optional.
- Build host: linux-x86 (RH9 but other distros should work also)
workstation.
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:
- It can be used to boot RTEMS directly from the CD (on a PC
target).
- Mount CD on a host and export to target via TFTP or NFS.
- Mount CD on a host and use toolchain for cross development.
- 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.
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
- Link to my RTEMS
software page.
- RTEMS
and EPICS how we do it at SSRL using RTEMS/GeSys ( local copy on this CD). Some bits are SSRL
specific, others maybe a little bit outdated. There is still useful
information, however.
- GeSys configuration with ldep.
- Building ssrlApps and some info about the SSRL RTEMS Makefile additions. Some pieces
might be SSRL specific and not apply to the CD. There is also a README about the RTEMS Makefiles.
Keep in mind that some things are overridden by the SSRL additions.
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: