summaryrefslogblamecommitdiffstats
path: root/c/src/lib/libbsp/bare/README
blob: f2d43f974d669de3faaf78ffbe3cb56c49c1ea69 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15














                                                            

          























                                                                         










































                                                                      
                                                






























                                                                         
 
#
#  $Id$
#

#
# Please send any comments, improvements, or bug reports to:
#	Chris Johns
#	Objective Design Systems
#	35 Cairo Street
#	Cammeray
#	Sydney, NSW 2062
# ccj@acm.org
#

#
# Overview
# ~~~~~~~~
# This board support package is not a board support package at all, but
# a means to build the RTEMS kernel without using a specific BSP.
#
# You should be able to build to build this BSP for any cpu type.
#
# You must provide the standard BSP type functions and support yourself
# externally to RTEMS.
#
# This BSP is intended to be used by people who fit one or more of the 
# categories below :
#
# 1) using custom hardware of little use or interest to others. If you 
#    intend to use hardware available to others, please create a BSP 
#    and send to OARCorp.
#
# 2) production code cannot depend on software which can change. BSP code
#    can change with-out notice, while RTEMS has very tightly defined 
#    interfaces which do not change.
#
# 3) the need to extend or change an existing BSP in ways which are not
#    of interest to others or the BSP maintainer.
#
# I fit all the above.
#
# Issues
# ~~~~~~
# I do not consider the bare BSP as a starting point for RTEMS. The
# BSP code integrated into the RTEMS build tree has the advantage of 
# building all the test and sample code. The sample and test code is
# important for validatation of your tools, and getting your BSP 
# working correctly.
#
# Once you gain experience with RTEM and your application matures the
# need to break the BSP code out from the kernel becomes important. It
# is at this point in time that the bare BSP becomes useful.
#
# Once free you are able to upgrade without the worry of makefile or
# build tree changes which can break your BSP.
#
# How To Configure
# ~~~~~~~~~~~~~~~~
# RTEMS requires you to select a BSP inorder to build the kernel.
# If you take a close look at a BSP which is closest to your
# needs you will find somewhere the CPU model and CPU compile 
# flags are specified. This is the only piece of information 
# required by the kernel inorder for it to build.
#
# This highlights the clean design of the kernel and its
# independence from the particulars of target hardware.
#
# The CPU model is the RTEMS model and usually tries to match with
# the GCC model. There are variations on some processors. If you are
# unsure please ask on the RTEMS list. Someone will know (I hope).
#
# The CPU flags allow you to select specific operating modes for
# GCC. For example the PowerPC has specific flags to control various
# cache resouces. Another example is the 68000 family of embedded
# processor do not have FPU hardware and require software emulation.
#
# An example configuration command line is:
#
#  ../rtems-4.0/configure  --target=m68k-rtems \
#                          --prefix=/ods/egcs/test \
#                          --enable-cxx \
#                          --enable-gmake-print-directory \
#                          --disable-tests \
#                          --disable-posix \
#                          --enable-networking \
#                          --enable-bare-cpu-cflags=-mcpu32 \
#                          --enable-bare-cpu-model=mcpu32 \
#                          --enable-rtemsbsp=bare
#
# Building RTEMS
# ~~~~~~~~~~~~~~
# You are required to do nothing special here. Just follow the documented
# steps. The samples are built but no linking occurs. The link command
# is stubbed out to produce a Unix shell script.
#
# After installation you will find a directory called 'bare'. The nature
# of the RTEMS build system means the bare BSP will only install into the
# the bare directory under the specifed configuration prefix.
#
# I therefore suggest you move the directory to another name. This allows
# you to make and install another bare BSP for a different variant of
# CPU without over writing the last installed variant.
#
# I have provided a script file I use to configure and build RTEMS
# from the arcihve. Take a copy and use it if you find it useful.
#
# Creating an Application.
# ~~~~~~~~~~~~~~~~~~~~~~~~
# This is something which is usually specific to your local environment.
# The bare BSP does not lock you into any specific makefile or build 
# system. A couple of suggestions are:
#
#   o Get the sample bare BSP application, or
#   o Watch RTEMS build a BSP which is closest to yours and copy
#     the command lines used.
#