
FREE stands for Free Realtime Embedded Executive.

This distribution is located under subdirectory free-0.2.  There are other
versions as described at the end of this file under "NOTES".

As distributed, it runs on a MVME 134 single board computer for VME bus
made by Motorola.  It should be easy to port this software to other hardware
platforms since all device specific details are isolated from the kernel proper.
My goal in writing FREE was to use it for my robotics project at the time.  It
was useful for that and I had tucked it away for awhile and I decided to
distribute it as is.  The reason was because I was asked by others to do so,
first, and I also thought that it would be a good way to get a conceptual ideas
about how an O.S. like VxWorks is organized.  FREE is no way near as
sophisticated as VxWorks, but the basic underlying model of operation is the
same.  This can be a useful educational tool those who are coming to VxWorks
development environments from Unix world, for example.

The kernel itself is very simple.  It uses a simple single mode fast
task switching with semaphore support.  Task switching overhead is
always constant.

The model of this kernel is similar to many commercial realtime kernels:
there is no resdient memory protection, no virtual memory support, no
memory space privacy.  Basically, everything is shared, including all
memory in all tasks.  With semaphores, you can get fast IPC since all
memory is visible to all tasks.	 It is easy to hang yourself in this
environment, since there is very little OS level protection for you.

I've used GCC to cross compile this software from a PC running linux.
You should be able to use LCC or any other m68k C compilers provided
that you are willing to modify the code.

FREE is copylefted.  If you don't know what this means read the LICENSE
file in this package.  Support GNU project by sharing your program
source code.

Provided by: Hwa-Jin Bae, Piedmont, California
        Email: bae@mail.com

NOTES regarding Various version of FREE:

It is amazing how a small, ridiculously simple and buggy software such
as FREE get used in so many interesting ways once published on world wide
web.

The oldest one distributed is still archived under

    ftp://ftp.cygnus.com/pub/embedded/free.tar.gz

    Interestingly, this same version is also available on the CD-ROM published
    by KNOWLEDGE MEDIA of Paradise, CA. The CD-ROM title is "LANGUAGE/OS II"

    This version ran on home-made wirewrap board, consisting of m68000 and some
    static RAM.	 It was suited only for that machine and was, if that was
    possible, worse than what you see in this directory.

Fachhochschule Hamburg version:

    Subdirectory free-1.1 contains a more recent version sent in by
    Clemens Drews @ Fachhochschule Hamburg (clemens.drews@snafu.de).

    Mr. Drews reports that FREE is used in their custom m68332 board for
    robotic experiments.  He is further working on it to make it possible for
    other colleges in Germany to use this system.

A PowerPC port:

    I found this port while browsing the net.  If you can read Korean lauguage,
    http://www.netmanias.com/sub/sub38/free.htm	 contains more information
    about a MPC860SAR port.    I have gathered the files under subdirectory
    free-ppc.   This directory contains FREE port to MPC860SAR, the original
    68k FREE software used as basis, as well as a good documentation about this
    port and detailed information on FREE itself!  Unfortunately it is written
    in Korean (I happen to read Korean) and hopefully diagrams and English
    portions of the documentation can be useful to most of you.



