NanoX was Re: RTEMS Shell

Chris Caudle chris at chriscaudle.org
Wed Mar 20 02:28:42 UTC 2002


Shawn Tan wrote:
> So, RTEMS is basically a loader that will load a program after starting
> up and provide interfaces for it..

Not really.  RTEMS is an executive which is linked with your code to
form a single application image.
RTEMS provides low level services like memory management, timers, thread
dispatching, and an interrupt handling framework.  Basically enough
services that you can write several threads which interact with the
hardware, and the threads can be pre-empted as required by priority,
timeslicing, or whether they are idle, etc.

> load.. This will give me some form of GUI.. and I'm assuming that the
> GUI will be able to launch other applications that are attached to the
> romimage?

There are no other applications.  Once the RTEMS image is running, that
is all you have.
You are thinking in terms of a general purpose operating system.  RTEMS
is an embedded real-time operating system, just one step removed from
controlling the hardware directly.  Think of RTEMS as a hardware control
library that you can link into your application, and your application is
the only thing running on the processor.  And I do mean only thing, no
other applications, and no other operating system.

> As for the filesystem, RTEMS does support file several file systems but
> not natively.. This part confuses me a little.. there has to be some
> form of organization..

The filesystem chapter in the documentation explains the organization
pretty well, you should start there.
Basically RTEMS provides a root file system which would be similar to
having an ext2 RAM disk mounted as / in a Linux system.  From there, if
you can provide file system code, the filesystem code can register any
devices it controls as a directoy mounted under /.
RTEMS does not need a file system to run, though, so you can eliminate
file system support to save memory.  That is what is meant by it
supports filesystems, but not natively.  Filesystem code is just another
library that you can call to provide functionality for your application.

> seperate.. in RTEMS?? There are devices in the filesystem (/dev) but no
> files in the filesystem??

The devices are not really in the filesystem, the just have entry points
there for the convenience of posix code ported from *nix systems.  If
you don't need that support, you can leave out filesystem support and
just access the device access routines directly.

> Just curious.. does RTEMS support audio devices?

RTEMS supports any hardware you want to write the code for. :)

-- Chris Caudle



More information about the users mailing list