Verry basic question

Joel Sherrill joel.sherrill at
Fri Oct 26 13:30:31 UTC 2001

Bill Nolan wrote:
> Where is the kernel ??

Right now, RTEMS is built specifically for a particular board.
It is structured such that the executive proper is under
the src/exec directory, filesystems are libfs, libc support under
lib/libc, etc.

RTEMS views a board as a collection of a CPU and peripheral
chips.  The generic CPU support code for on-cpu peripherals,
caching, etc is in lib/libcpu.  The generic peripheral chip
drivers for various UARTS, network controllers, and real-time
clocks are in libchip.  The board specific code is in libbsp.

Everything in the source tree is broken up by functionality
and portability.  For example, the BSP source has this organization


where CPU and BSP are replaced as appropriate.  The goal is
to minimize what is specific to a single BSP.  Sometimes this
makes it a bit confusing to find what you are looking for
but it reduces maintenance and bugs.

Eventually RTEMS proper and the BSPs will be built separately
but for now they are built at the same time.

> I've read all the documentation, I 've been able to find , and have looked at length through what reports its self a sucessfull build of the erc32 bsp with no luck.
> Is a BSP a kernel ?
> or is a BSP a extension to the RTEMS kernel, as its name suggests ?

This is a pretty good way to look at it.  The BSP is formally an
combination of a few things:

  + make and tools support (linker script, how to make a download image,
     CPU specifid CFLAGS, etc.
  + device drivers
  + startup and shutdown code

I think per the Gang of 4 patterns, it can be viewed as an adapter.

Does this make sense.

> I applogise for the low level of my question, But I have no where left to look for answers.

No problem.

> Truly , Bill Nolan
> wnolan at

Joel Sherrill, Ph.D.             Director of Research & Development
joel at                 On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
   Support Available             (256) 722-9985

More information about the users mailing list