URL
https://opencores.org/ocsvn/or1k/or1k/trunk
Subversion Repositories or1k
Compare Revisions
- This comparison shows the changes necessary to convert path
/or1k/trunk/rtems-20020807/doc/develenv
- from Rev 1028 to Rev 1765
- ↔ Reverse comparison
Rev 1028 → Rev 1765
/compile.texi
0,0 → 1,159
@c This chapter is not currently in the Development Environment Guide. |
|
@c |
@c COPYRIGHT (c) 1988-2002. |
@c On-Line Applications Research Corporation (OAR). |
@c All rights reserved. |
@c |
@c compile.texi,v 1.5 2002/01/17 21:47:44 joel Exp |
@c |
|
@ifinfo |
@node Compilation and GNU Make Stanzas, Compilation and GNU Make Stanzas Building the Entire Tree, Test Suite Source Directory, Top |
@end ifinfo |
@chapter Compilation and GNU Make Stanzas |
@ifinfo |
@menu |
* Compilation and GNU Make Stanzas Building the Entire Tree:: |
* Compilation and GNU Make Stanzas Making a Component:: |
* Compilation and GNU Make Stanzas Optional Manager Support:: |
@end menu |
@end ifinfo |
|
RTEMS is compiled using the GNU gmake(1G) utilities. |
All examples in this section are with the gmake(1G) command. |
Note that the installation procedure for GNU Make installs it as |
make. It is referred to as gmake in this document to |
distinguish it from any other make utilities which may also be |
on the development system. |
|
The GNU Make utility uses a file that describes the |
relationships among the files and the operations necessary for |
updating each file. The GNU Make utility uses stanzas to specify |
which set of relationships to update. Each component and suite |
control directory contains a make control file, Makefile, which |
describes the relationships which must be checked and the |
associated update operations for each stanza. This facility is |
used to perform compilation, to remove intermediate files, to |
install RTEMS, and to maintain release and working set source |
and documentation notebooks. The following is a list of stanzas |
used by RTEMS make control files: |
|
@ifset use-texinfo-tables |
@table @code |
@item all |
perform compilation but do not install |
|
@item install |
perform compilation if directory contains source but do not install |
|
@item clean |
delete most generated files and directories for the current CPU and target |
|
@item clobber |
delete all generated files and directories for the current CPU and target |
@end table |
@end ifset |
|
@ifclear use-texinfo-tables |
@html |
<CENTER> |
<TABLE COLS=2 WIDTH="80%" BORDER=2> |
<TR><TD ALIGN=center>all</TD> |
<TD ALIGN=center>perform compilation but do not install</TD></TR> |
<TR><TD ALIGN=center>install</TD> |
<TD ALIGN=center>perform compilation if directory contains source |
but do not install</TD></TR> |
<TR><TD ALIGN=center>clean</TD> |
<TD ALIGN=center>delete most generated files and directories for |
the current CPU and target</TD></TR> |
<TR><TD ALIGN=center>clobber</TD> |
<TD ALIGN=center>delete all generated files and directories for |
the current CPU and target</TD></TR> |
</TABLE> |
</CENTER> |
@end html |
@end ifclear |
|
@ifinfo |
@node Compilation and GNU Make Stanzas Building the Entire Tree, Compilation and GNU Make Stanzas Making a Component, Compilation and GNU Make Stanzas, Compilation and GNU Make Stanzas |
@end ifinfo |
@section Building the Entire Tree |
|
At the top of the C source tree, execute the command |
gmake all. This will build and install all components and tests |
into the directory <TARGET> in this directory. |
|
@ifinfo |
@node Compilation and GNU Make Stanzas Making a Component, Compilation and GNU Make Stanzas Optional Manager Support, Compilation and GNU Make Stanzas Building the Entire Tree, Compilation and GNU Make Stanzas |
@end ifinfo |
@section Making a Component |
|
A single component can be compiled by changing to the |
directory which contains that component and performing the |
following command: |
|
@example |
gmake |
@end example |
|
|
This is equivalent to the following command: |
|
@example |
gmake all |
@end example |
|
Both commands will result in the GNU Make utility |
determining which files require compilation or assembly. If any |
files require compilation or assembly, then these operations |
will be performed followed by the appropriate archive or link |
command. Files installed are placed in subdirectories under the |
install point. The install point is determined by the setting |
of the variable PROJECT_HOME in the file |
c/make/custom/<TARGET>.cfg. |
|
If the current directory is not a leaf directory, |
then the requested operation will be performed recursively to |
all subdirectories under the current directory. |
|
By specifying one of the other stanzas supported by |
the Makefile, the GNU Make utility can be used to perform such |
operations as removing all automatically generated files in a |
component (clean and clobbers stanza). |
|
NOTE: For many components it is not possible to |
compile them until other components have been installed. |
|
@ifinfo |
@node Compilation and GNU Make Stanzas Optional Manager Support, Sample Applications, Compilation and GNU Make Stanzas Making a Component, Compilation and GNU Make Stanzas |
@end ifinfo |
@section Optional Manager Support |
|
RTEMS allows the C applications developer to build |
images that only contain those components of the executive that |
are needed, leaving out those that will not be utilized. This |
is accomplished by the RTEMS Makefile system linking in the |
"stub" versions of the optional managers in the place of those |
managers not needed by the specific application. The |
application Makefile sets the system variable $(MANAGERS) list |
to contain those managers that are required by the application. |
The RTEMS Makefile system then is able to build a list of |
managers that are unwanted, effectively linking in the stubbed |
versions of these managers before the RTEMS library is built. |
|
For more information and implementation details refer |
to the following files: |
|
@itemize @bullet |
@item c/make/leaf.cfg, |
|
@item a Makefile for a test or sample application, and |
|
@item a compiler description file from c/make/compilers |
@end itemize |
|
These files demonstrate the use of $(MANAGERS) and |
how the unwanted managers are handled. |
|
|
/develenv.texi
0,0 → 1,116
\input texinfo @c -*-texinfo-*- |
@c %**start of header |
@setfilename develenv |
@setcontentsaftertitlepage |
@syncodeindex vr fn |
@synindex ky cp |
@paragraphindent 0 |
@c %**end of header |
|
@c |
@c COPYRIGHT (c) 1988-2002. |
@c On-Line Applications Research Corporation (OAR). |
@c All rights reserved. |
@c |
@c develenv.texi,v 1.16 2002/01/17 21:47:44 joel Exp |
@c |
|
@c |
@c Master file |
@c |
|
@c Joel's Questions |
@c |
@c 1. Why does paragraphindent only impact makeinfo? |
@c 2. Why does paragraphindent show up in HTML? |
@c |
|
@include version.texi |
@include common/setup.texi |
|
@ifset use-ascii |
@dircategory RTEMS On-Line Manual |
@direntry |
* RTEMS Development Environment Guide: (develenv). |
@end direntry |
@end ifset |
|
|
@c variable substitution info: |
@c |
@c @set LANGUAGE C |
@c the language is @value{LANGUAGE} |
@c NOTE: don't use underscore in the name |
@c |
|
@c |
@c Title Page Stuff |
@c |
|
@c |
@c I don't really like having a short title page. --joel |
@c |
@c @shorttitlepage RTEMS Development Environment Guide |
|
@setchapternewpage odd |
@settitle RTEMS Development Environment Guide |
@titlepage |
@finalout |
|
@title RTEMS Development Environment Guide |
@subtitle Edition @value{EDITION}, for RTEMS @value{VERSION} |
@sp 1 |
@subtitle @value{UPDATED} |
@author On-Line Applications Research Corporation |
@page |
@include common/cpright.texi |
@end titlepage |
|
@c This prevents a black box from being printed on "overflow" lines. |
@c The alternative is to rework a sentence to avoid this problem. |
|
@include intro.texi |
@include direct.texi |
@c @include compile.texi |
@include sample.texi |
@include utils.texi |
|
@ifinfo |
@node Top, Introduction, (dir), (dir) |
@top develenv |
|
This is the online version of the RTEMS Development Environment Guide. |
|
@c * Compilation and GNU Make Stanzas:: |
|
@menu |
* Introduction:: |
* Directory Structure:: |
* Sample Applications:: |
* RTEMS Specific Utilities:: |
* Command and Variable Index:: |
* Concept Index:: |
@end menu |
|
@end ifinfo |
@c |
@c |
@c Need to copy the emacs stuff and "trailer stuff" (index, toc) into here |
@c |
|
@node Command and Variable Index, Concept Index, RTEMS Specific Utilities Ada Language Specific Utilities, Top |
@unnumbered Command and Variable Index |
|
There are currently no Command and Variable Index entries. |
|
@c @printindex fn |
|
@node Concept Index, , Command and Variable Index, Top |
@unnumbered Concept Index |
|
There are currently no Concept Index entries. |
@c @printindex cp |
|
@contents |
@bye |
|
/Makefile.in
0,0 → 1,509
# Makefile.in generated by automake 1.6.2 from Makefile.am. |
# @configure_input@ |
|
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 |
# Free Software Foundation, Inc. |
# This Makefile.in is free software; the Free Software Foundation |
# gives unlimited permission to copy and/or distribute it, |
# with or without modifications, as long as this notice is preserved. |
|
# This program is distributed in the hope that it will be useful, |
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without |
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A |
# PARTICULAR PURPOSE. |
|
@SET_MAKE@ |
|
# |
# COPYRIGHT (c) 1988-2002. |
# On-Line Applications Research Corporation (OAR). |
# All rights reserved. |
# |
# Makefile.am,v 1.7 2002/03/28 00:52:47 joel Exp |
# |
SHELL = @SHELL@ |
|
srcdir = @srcdir@ |
top_srcdir = @top_srcdir@ |
VPATH = @srcdir@ |
prefix = @prefix@ |
exec_prefix = @exec_prefix@ |
|
bindir = @bindir@ |
sbindir = @sbindir@ |
libexecdir = @libexecdir@ |
datadir = @datadir@ |
sysconfdir = @sysconfdir@ |
sharedstatedir = @sharedstatedir@ |
localstatedir = @localstatedir@ |
libdir = @libdir@ |
infodir = @infodir@ |
mandir = @mandir@ |
includedir = @includedir@ |
oldincludedir = /usr/include |
pkgdatadir = $(datadir)/@PACKAGE@ |
pkglibdir = $(libdir)/@PACKAGE@ |
pkgincludedir = $(includedir)/@PACKAGE@ |
top_builddir = .. |
|
ACLOCAL = @ACLOCAL@ |
AUTOCONF = @AUTOCONF@ |
AUTOMAKE = @AUTOMAKE@ |
AUTOHEADER = @AUTOHEADER@ |
|
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd |
INSTALL = @INSTALL@ |
INSTALL_PROGRAM = @INSTALL_PROGRAM@ |
INSTALL_DATA = @INSTALL_DATA@ |
install_sh_DATA = $(install_sh) -c -m 644 |
install_sh_PROGRAM = $(install_sh) -c |
install_sh_SCRIPT = $(install_sh) -c |
INSTALL_SCRIPT = @INSTALL_SCRIPT@ |
INSTALL_HEADER = $(INSTALL_DATA) |
transform = @program_transform_name@ |
NORMAL_INSTALL = : |
PRE_INSTALL = : |
POST_INSTALL = : |
NORMAL_UNINSTALL = : |
PRE_UNINSTALL = : |
POST_UNINSTALL = : |
|
EXEEXT = @EXEEXT@ |
OBJEXT = @OBJEXT@ |
PATH_SEPARATOR = @PATH_SEPARATOR@ |
AMTAR = @AMTAR@ |
AWK = @AWK@ |
BMENU2 = @BMENU2@ |
DEPDIR = @DEPDIR@ |
DVIPS = @DVIPS@ |
ENDIF = @ENDIF@ |
EPSTOPDF = @EPSTOPDF@ |
GS = @GS@ |
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ |
LN_S = @LN_S@ |
MAINT = @MAINT@ |
MAKE = @MAKE@ |
PACKAGE = @PACKAGE@ |
PERL = @PERL@ |
PROJECT_ROOT = @PROJECT_ROOT@ |
PROJECT_TOPdir = @PROJECT_TOPdir@ |
RTEMS_TOPdir = @RTEMS_TOPdir@ |
STRIP = @STRIP@ |
TEXI2DVI = @TEXI2DVI@ |
TEXI2PDF = @TEXI2PDF@ |
TEXI2WWW = @TEXI2WWW@ |
VERSION = @VERSION@ |
am__include = @am__include@ |
am__quote = @am__quote@ |
htmldir = @htmldir@ |
install_sh = @install_sh@ |
pkgdocdir = @pkgdocdir@ |
|
PROJECT = develenv |
EDITION = 1 |
|
SUFFIXES = .t .pdf .eps .html |
|
MAINTAINERCLEANFILES = $(PROJECT) $(PROJECT)-[0-9] $(PROJECT)-[0-9][0-9] $(GENERATED_FILES) |
|
MOSTLYCLEANFILES = $(PDF_IMAGES) index.html $(PROJECT)*.html rtems_header.html \ |
rtems_footer.html |
|
CLEANFILES = $(PROJECT).pdf |
|
dvidir = $(pkgdocdir)/dvi |
|
psdir = $(pkgdocdir)/ps |
|
pdfdir = $(pkgdocdir)/pdf |
|
@USE_HTML_TRUE@html_project_DATA = index.html $(PROJECT)*.html |
|
@USE_DVI_TRUE@dvi_DATA = $(PROJECT).dvi |
|
@USE_DVI_TRUE@@USE_PS_TRUE@ps_DATA = $(PROJECT).ps |
|
@USE_PDF_TRUE@pdf_DATA = $(PROJECT).pdf |
AM_MAKEINFOFLAGS = -I .. |
|
html_projectdir = $(htmldir)/$(PROJECT) |
|
TEXI2WWW_ARGS = \ |
-I $(srcdir) -I $(top_srcdir) \ |
-dirfile ../index.html \ |
-header rtems_header.html \ |
-footer rtems_footer.html \ |
-icons ../images |
|
|
FILES = compile.texi direct.texi intro.texi sample.texi utils.texi |
|
COMMON_FILES = $(top_srcdir)/common/setup.texi \ |
$(top_srcdir)/common/cpright.texi |
|
|
info_TEXINFOS = develenv.texi |
develenv_TEXINFOS = $(FILES) $(COMMON_FILES) |
subdir = develenv |
mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs |
CONFIG_CLEAN_FILES = |
CFLAGS = @CFLAGS@ |
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ |
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) |
CCLD = $(CC) |
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ |
DIST_SOURCES = |
TEXINFO_TEX = $(top_srcdir)/../texinfo.tex |
INFO_DEPS = develenv |
DVIS = develenv.dvi |
TEXINFOS = develenv.texi |
DATA = $(dvi_DATA) $(html_project_DATA) $(pdf_DATA) $(ps_DATA) |
|
DIST_COMMON = $(develenv_TEXINFOS) ChangeLog Makefile.am Makefile.in \ |
stamp-vti version.texi |
all: all-am |
|
.SUFFIXES: |
.SUFFIXES: .t .pdf .eps .html .dvi .info .ps .texi |
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/project.am $(top_srcdir)/main.am $(top_srcdir)/configure.ac $(ACLOCAL_M4) |
cd $(top_srcdir) && \ |
$(AUTOMAKE) --foreign develenv/Makefile |
Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status |
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) |
|
$(srcdir)/version.texi: @MAINTAINER_MODE_TRUE@ $(srcdir)/stamp-vti |
@: |
$(srcdir)/stamp-vti: develenv.texi $(top_srcdir)/configure.ac |
@(set `$(SHELL) $(top_srcdir)/../mdate-sh $(srcdir)/develenv.texi`; \ |
echo "@set UPDATED $$1 $$2 $$3"; \ |
echo "@set UPDATED-MONTH $$2 $$3"; \ |
echo "@set EDITION $(VERSION)"; \ |
echo "@set VERSION $(VERSION)") > vti.tmp |
@cmp -s vti.tmp $(srcdir)/version.texi \ |
|| (echo "Updating $(srcdir)/version.texi"; \ |
cp vti.tmp $(srcdir)/version.texi) |
-@rm -f vti.tmp |
@cp $(srcdir)/version.texi $@ |
|
mostlyclean-vti: |
-rm -f vti.tmp |
|
maintainer-clean-vti: |
@MAINTAINER_MODE_TRUE@ -rm -f $(srcdir)/stamp-vti $(srcdir)/version.texi |
|
develenv: develenv.texi $(srcdir)/version.texi $(develenv_TEXINFOS) |
develenv.dvi: develenv.texi $(srcdir)/version.texi $(develenv_TEXINFOS) |
|
.texi.info: |
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9] |
cd $(srcdir) \ |
&& $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) \ |
`echo $< | sed 's,.*/,,'` |
|
@USE_DVI_FALSE@.texi.dvi: |
@USE_DVI_FALSE@ TEXINPUTS="$(top_srcdir)/..$(PATH_SEPARATOR)$$TEXINPUTS" \ |
@USE_DVI_FALSE@ MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \ |
@USE_DVI_FALSE@ $(TEXI2DVI) $< |
|
.texi: |
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9] |
cd $(srcdir) \ |
&& $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) \ |
`echo $< | sed 's,.*/,,'` |
|
MAKEINFO = @MAKEINFO@ |
@USE_DVI_FALSE@@USE_PS_TRUE@.dvi.ps: |
@USE_DVI_FALSE@@USE_PS_TRUE@ $(DVIPS) $< -o $@ |
@USE_DVI_TRUE@@USE_PS_FALSE@.dvi.ps: |
@USE_DVI_TRUE@@USE_PS_FALSE@ $(DVIPS) $< -o $@ |
@USE_DVI_FALSE@@USE_PS_FALSE@.dvi.ps: |
@USE_DVI_FALSE@@USE_PS_FALSE@ $(DVIPS) $< -o $@ |
|
uninstall-info-am: |
$(PRE_UNINSTALL) |
@if (install-info --version && \ |
install-info --version | fgrep -i -v debian) >/dev/null 2>&1; then \ |
list='$(INFO_DEPS)'; \ |
for file in $$list; do \ |
echo " install-info --info-dir=$(DESTDIR)$(infodir) --remove $(DESTDIR)$(infodir)/$$file"; \ |
install-info --info-dir=$(DESTDIR)$(infodir) --remove $(DESTDIR)$(infodir)/$$file; \ |
done; \ |
else :; fi |
@$(NORMAL_UNINSTALL) |
@list='$(INFO_DEPS)'; \ |
for file in $$list; do \ |
(if cd $(DESTDIR)$(infodir); then \ |
echo " rm -f $$file $$file-[0-9] $$file-[0-9][0-9])"; \ |
rm -f $$file $$file-[0-9] $$file-[0-9][0-9]; \ |
else :; fi); \ |
done |
|
dist-info: $(INFO_DEPS) |
list='$(INFO_DEPS)'; \ |
for base in $$list; do \ |
d=$(srcdir); \ |
for file in $$d/$$base*; do \ |
relfile=`expr "$$file" : "$$d/\(.*\)"`; \ |
test -f $(distdir)/$$relfile || \ |
cp -p $$file $(distdir)/$$relfile; \ |
done; \ |
done |
|
mostlyclean-aminfo: |
-rm -f develenv.aux develenv.cp develenv.cps develenv.dvi develenv.fn \ |
develenv.fns develenv.ky develenv.log develenv.pg develenv.ps \ |
develenv.toc develenv.tp develenv.vr |
|
maintainer-clean-aminfo: |
cd $(srcdir) && \ |
list='$(INFO_DEPS)'; for i in $$list; do \ |
rm -f $$i; \ |
if test "`echo $$i-[0-9]*`" != "$$i-[0-9]*"; then \ |
rm -f $$i-[0-9]*; \ |
fi; \ |
done |
dviDATA_INSTALL = $(INSTALL_DATA) |
install-dviDATA: $(dvi_DATA) |
@$(NORMAL_INSTALL) |
$(mkinstalldirs) $(DESTDIR)$(dvidir) |
@list='$(dvi_DATA)'; for p in $$list; do \ |
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ |
f="`echo $$p | sed -e 's|^.*/||'`"; \ |
echo " $(dviDATA_INSTALL) $$d$$p $(DESTDIR)$(dvidir)/$$f"; \ |
$(dviDATA_INSTALL) $$d$$p $(DESTDIR)$(dvidir)/$$f; \ |
done |
|
uninstall-dviDATA: |
@$(NORMAL_UNINSTALL) |
@list='$(dvi_DATA)'; for p in $$list; do \ |
f="`echo $$p | sed -e 's|^.*/||'`"; \ |
echo " rm -f $(DESTDIR)$(dvidir)/$$f"; \ |
rm -f $(DESTDIR)$(dvidir)/$$f; \ |
done |
html_projectDATA_INSTALL = $(INSTALL_DATA) |
install-html_projectDATA: $(html_project_DATA) |
@$(NORMAL_INSTALL) |
$(mkinstalldirs) $(DESTDIR)$(html_projectdir) |
@list='$(html_project_DATA)'; for p in $$list; do \ |
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ |
f="`echo $$p | sed -e 's|^.*/||'`"; \ |
echo " $(html_projectDATA_INSTALL) $$d$$p $(DESTDIR)$(html_projectdir)/$$f"; \ |
$(html_projectDATA_INSTALL) $$d$$p $(DESTDIR)$(html_projectdir)/$$f; \ |
done |
|
uninstall-html_projectDATA: |
@$(NORMAL_UNINSTALL) |
@list='$(html_project_DATA)'; for p in $$list; do \ |
f="`echo $$p | sed -e 's|^.*/||'`"; \ |
echo " rm -f $(DESTDIR)$(html_projectdir)/$$f"; \ |
rm -f $(DESTDIR)$(html_projectdir)/$$f; \ |
done |
pdfDATA_INSTALL = $(INSTALL_DATA) |
install-pdfDATA: $(pdf_DATA) |
@$(NORMAL_INSTALL) |
$(mkinstalldirs) $(DESTDIR)$(pdfdir) |
@list='$(pdf_DATA)'; for p in $$list; do \ |
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ |
f="`echo $$p | sed -e 's|^.*/||'`"; \ |
echo " $(pdfDATA_INSTALL) $$d$$p $(DESTDIR)$(pdfdir)/$$f"; \ |
$(pdfDATA_INSTALL) $$d$$p $(DESTDIR)$(pdfdir)/$$f; \ |
done |
|
uninstall-pdfDATA: |
@$(NORMAL_UNINSTALL) |
@list='$(pdf_DATA)'; for p in $$list; do \ |
f="`echo $$p | sed -e 's|^.*/||'`"; \ |
echo " rm -f $(DESTDIR)$(pdfdir)/$$f"; \ |
rm -f $(DESTDIR)$(pdfdir)/$$f; \ |
done |
psDATA_INSTALL = $(INSTALL_DATA) |
install-psDATA: $(ps_DATA) |
@$(NORMAL_INSTALL) |
$(mkinstalldirs) $(DESTDIR)$(psdir) |
@list='$(ps_DATA)'; for p in $$list; do \ |
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ |
f="`echo $$p | sed -e 's|^.*/||'`"; \ |
echo " $(psDATA_INSTALL) $$d$$p $(DESTDIR)$(psdir)/$$f"; \ |
$(psDATA_INSTALL) $$d$$p $(DESTDIR)$(psdir)/$$f; \ |
done |
|
uninstall-psDATA: |
@$(NORMAL_UNINSTALL) |
@list='$(ps_DATA)'; for p in $$list; do \ |
f="`echo $$p | sed -e 's|^.*/||'`"; \ |
echo " rm -f $(DESTDIR)$(psdir)/$$f"; \ |
rm -f $(DESTDIR)$(psdir)/$$f; \ |
done |
tags: TAGS |
TAGS: |
|
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) |
|
top_distdir = .. |
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) |
|
distdir: $(DISTFILES) |
$(mkinstalldirs) $(distdir)/$(top_srcdir)/common |
@list='$(DISTFILES)'; for file in $$list; do \ |
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ |
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ |
if test "$$dir" != "$$file" && test "$$dir" != "."; then \ |
dir="/$$dir"; \ |
$(mkinstalldirs) "$(distdir)$$dir"; \ |
else \ |
dir=''; \ |
fi; \ |
if test -d $$d/$$file; then \ |
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ |
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ |
fi; \ |
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ |
else \ |
test -f $(distdir)/$$file \ |
|| cp -p $$d/$$file $(distdir)/$$file \ |
|| exit 1; \ |
fi; \ |
done |
$(MAKE) $(AM_MAKEFLAGS) \ |
top_distdir="${top_distdir}" distdir="$(distdir)" \ |
dist-info |
check-am: all-am |
check: check-am |
all-am: Makefile $(INFO_DEPS) $(DATA) |
|
installdirs: |
$(mkinstalldirs) $(DESTDIR)$(infodir) $(DESTDIR)$(dvidir) $(DESTDIR)$(html_projectdir) $(DESTDIR)$(pdfdir) $(DESTDIR)$(psdir) |
|
install: install-am |
install-exec: install-exec-am |
install-data: install-data-am |
uninstall: uninstall-am |
|
install-am: all-am |
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am |
|
installcheck: installcheck-am |
install-strip: |
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ |
INSTALL_STRIP_FLAG=-s \ |
`test -z '$(STRIP)' || \ |
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install |
mostlyclean-generic: |
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) |
|
clean-generic: |
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) |
|
distclean-generic: |
-rm -f Makefile $(CONFIG_CLEAN_FILES) |
|
maintainer-clean-generic: |
@echo "This command is intended for maintainers to use" |
@echo "it deletes files that may require special tools to rebuild." |
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) |
clean: clean-am |
|
clean-am: clean-generic mostlyclean-am |
|
distclean: distclean-am |
|
distclean-am: clean-am distclean-generic |
|
dvi: dvi-am |
|
dvi-am: $(DVIS) |
|
info: info-am |
|
info-am: $(INFO_DEPS) |
|
install-data-am: install-dviDATA install-html_projectDATA \ |
install-info-am install-pdfDATA install-psDATA |
|
install-exec-am: |
|
install-info: install-info-am |
|
install-info-am: $(INFO_DEPS) |
@$(NORMAL_INSTALL) |
$(mkinstalldirs) $(DESTDIR)$(infodir) |
@list='$(INFO_DEPS)'; \ |
for file in $$list; do \ |
d=$(srcdir); \ |
for ifile in echo $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9]; do \ |
if test -f $$ifile; then \ |
relfile=`expr "$$ifile" : "$$d/\(.*\)"`; \ |
echo " $(INSTALL_DATA) $$ifile $(DESTDIR)$(infodir)/$$relfile"; \ |
$(INSTALL_DATA) $$ifile $(DESTDIR)$(infodir)/$$relfile; \ |
else : ; fi; \ |
done; \ |
done |
@$(POST_INSTALL) |
@if (install-info --version && \ |
install-info --version | fgrep -i -v debian) >/dev/null 2>&1; then \ |
list='$(INFO_DEPS)'; \ |
for file in $$list; do \ |
echo " install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file";\ |
install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file || :;\ |
done; \ |
else : ; fi |
install-man: |
|
installcheck-am: |
|
maintainer-clean: maintainer-clean-am |
|
maintainer-clean-am: distclean-am maintainer-clean-aminfo \ |
maintainer-clean-generic maintainer-clean-vti |
|
mostlyclean: mostlyclean-am |
|
mostlyclean-am: mostlyclean-aminfo mostlyclean-generic mostlyclean-vti |
|
uninstall-am: uninstall-dviDATA uninstall-html_projectDATA \ |
uninstall-info-am uninstall-pdfDATA uninstall-psDATA |
|
.PHONY: all all-am check check-am clean clean-generic dist-info \ |
distclean distclean-generic distdir dvi dvi-am info info-am \ |
install install-am install-data install-data-am install-dviDATA \ |
install-exec install-exec-am install-html_projectDATA \ |
install-info install-info-am install-man install-pdfDATA \ |
install-psDATA install-strip installcheck installcheck-am \ |
installdirs maintainer-clean maintainer-clean-aminfo \ |
maintainer-clean-generic maintainer-clean-vti mostlyclean \ |
mostlyclean-aminfo mostlyclean-generic mostlyclean-vti \ |
uninstall uninstall-am uninstall-dviDATA \ |
uninstall-html_projectDATA uninstall-info-am uninstall-pdfDATA \ |
uninstall-psDATA |
|
|
@EPSTOPDF_TRUE@.eps.pdf: |
@EPSTOPDF_TRUE@ $(EPSTOPDF) $< --outfile=$@ |
|
$(PROJECT).pdf: $(PROJECT).texi $($(PROJECT)_TEXINFOS) $(PDF_IMAGES) |
|
rtems_header.html: $(top_srcdir)/rtems_header.html.in version.texi |
@sed -e s%\.\./images/%$(top_builddir)/images/%g \ |
-e s%\@VERSION\@%@VERSION@%g \ |
< $< > $@ |
rtems_footer.html: $(top_srcdir)/rtems_footer.html.in version.texi |
@sed -e s%\.\./images/%$(top_builddir)/%g \ |
-e s%\@VERSION\@%@VERSION@%g \ |
< $< > $@ |
|
index.html $(PROJECT)*.html: $(PROJECT).texi \ |
rtems_header.html rtems_footer.html |
$(TEXI2WWW) $(TEXI2WWW_ARGS) -base $(PROJECT) $< |
|
@USE_DVI_TRUE@.texi.dvi: |
@USE_DVI_TRUE@ $(TEXI2DVI) -q -I $(srcdir) -I $(top_srcdir) $< |
@USE_DVI_TRUE@@USE_PS_TRUE@.dvi.ps: |
@USE_DVI_TRUE@@USE_PS_TRUE@ TEXINPUTS="$(srcdir)$(PATH_SEPARATOR)$$TEXINPUTS" \ |
@USE_DVI_TRUE@@USE_PS_TRUE@ $(DVIPS) $< -o $@ |
|
@TEXI2PDF_TRUE@@USE_PDF_TRUE@.texi.pdf: |
@TEXI2PDF_TRUE@@USE_PDF_TRUE@ rm -f *.aux *.cp *.fn *.ky *.pg *.tp *.toc *.vr |
@TEXI2PDF_TRUE@@USE_PDF_TRUE@ $(TEXI2PDF) -q -I $(srcdir) -I $(top_srcdir) $< |
# Tell versions [3.59,3.63) of GNU make to not export all variables. |
# Otherwise a system limit (for SysV at least) may be exceeded. |
.NOEXPORT: |
/direct.texi
0,0 → 1,730
@c |
@c COPYRIGHT (c) 1988-2002. |
@c On-Line Applications Research Corporation (OAR). |
@c All rights reserved. |
@c |
@c direct.texi,v 1.8 2002/01/17 21:47:44 joel Exp |
@c |
|
@ifinfo |
@node Directory Structure, Directory Structure Suites, Introduction, Top |
@end ifinfo |
@chapter Directory Structure |
@ifinfo |
@menu |
* Directory Structure Suites:: |
@end menu |
@end ifinfo |
|
The RTEMS directory structure is designed to meet |
the following requirements: |
|
@itemize @bullet |
@item encourage development of modular components. |
|
@item isolate processor and target dependent code, while |
allowing as much common source code as possible to be shared |
across multiple processors and targets. |
|
@item allow multiple RTEMS users to perform simultaneous |
compilation of RTEMS and its support facilities for different |
processors and targets. |
@end itemize |
|
The resulting directory structure has processor and |
target dependent source files isolated from generic files. When |
RTEMS is built, object directories and an install point will be |
automatically created based upon the target BSP selected. The |
placement of object files based upon the selected BSP name |
insures that object files are not mixed across CPUs or targets. |
This in combination with the make files allows the specific |
compilation options to be tailored for a particular target |
board. For example, the efficiency of the memory subsystem for |
a particular target board may be sensitive to the alignment of |
data structures, while on another target board with the same |
processor memory may be very limited. For the first target, the |
options could specify very strict alignment requirements, while |
on the second the data structures could be "packed" to conserve |
memory. It is impossible to achieve this degree of flexibility |
without providing source code. |
@ifinfo |
@node Directory Structure Suites, C Suites, Directory Structure, Directory Structure |
@end ifinfo |
@section Suites |
@ifinfo |
@menu |
* C Suites:: |
* Executive Source Directory:: |
* Support Library Source Directory:: |
* Test Suite Source Directory:: |
@end menu |
@end ifinfo |
|
The RTEMS source tree is organized based on the |
following four variables: |
|
@itemize @bullet |
@item language, |
|
@item target processor, |
|
@item target board, and |
|
@item compiler vendor (Ada only). |
@end itemize |
|
The language may be either C or Ada and there is |
currently nothing shared between the source trees for these two |
implementations of RTEMS. The user generally selects the |
subdirectory for the implementation they are using and ignores |
that for the other implementation. The only exceptions to this |
normally occurs when comparing the source code for the two |
implementations or when porting both to a new CPU or target |
board. The following shows the top level RTEMS directory |
structure which includes directories for each language |
implementation and a language independent source documentation |
directory. The source documentation directory is currently not |
supported. |
|
@c |
@c Tree 1 - Top Level |
@c |
|
@ifset use-ascii |
@example |
@group |
RTEMS |
| |
+-----------------------+-----------------------+ |
| | |
c doc |
@end group |
@end example |
@end ifset |
|
@ifset use-tex |
@sp 1 |
|
@tex |
{\parskip=0pt\offinterlineskip% |
\hskip 15.0em |
\hskip 1.25em\hbox to 3.00em{\hss{RTEMS}\hss}% |
\vrule width0em height1.972ex depth0.812ex\par\penalty10000 |
\hskip 15.0em |
\hskip 2.75em\vrule width.04em% |
\vrule width0em height1.500ex depth0.500ex\par\penalty10000 |
\hskip 15.0em |
\hskip 0.25em\vrule width2.50em height-0.407ex depth0.500ex% |
\vrule width.04em\vrule width2.50em height-0.407ex depth0.500ex% |
\vrule width0em height1.500ex depth0.500ex\par\penalty10000 |
\hskip 15.0em |
\hskip 0.25em\vrule width.04em% |
\hskip 4.92em\vrule width.04em% |
\vrule width0em height1.500ex depth0.500ex\par\penalty10000 |
\hskip 15.0em |
\hskip 0.00em\hbox to 0.50em{\hss{c}\hss}% |
\hskip 1.50em\hbox to 1.50em{\hss{ }\hss}% |
\hskip 1.00em\hbox to 1.50em{\hss{doc}\hss}% |
\vrule width0em height1.972ex depth0.812ex\par} |
@end tex |
@end ifset |
|
@c |
@c for now continue to use the ascii |
@c |
@ifset use-html |
@example |
@group |
RTEMS |
| |
+-----------------------+-----------------------+ |
| | |
c doc |
@end group |
@end example |
@html |
@end html |
@end ifset |
|
Each of the following sections will describe the |
contents of the directories in the RTEMS source |
tree. |
|
@ifinfo |
@node C Suites, Executive Source Directory, Directory Structure Suites, Directory Structure Suites |
@end ifinfo |
@subsection C Suites |
|
The following table lists the suites currently included with the |
C implementation of RTEMS and the directory in which they may be located: |
|
@ifset use-texinfo-tables |
@table @code |
@item Support Libraries (BSPs, C library, CPU support) |
$RTEMS_ROOT/c/src/lib |
|
@item Single Processor Tests |
$RTEMS_ROOT/c/src/tests/sptests |
|
@item Timing Tests |
$RTEMS_ROOT/c/src/tests/tmtests |
|
@item Multiprocessor Tests |
$RTEMS_ROOT/c/src/tests/mptests |
|
@item Sample Applications |
$RTEMS_ROOT/c/src/tests/samples |
|
@item RTEMS Build Tools |
$RTEMS_SRC_BASE/c/build_tools |
|
@item Make Support |
$RTEMS_ROOT/c/make |
@end table |
@end ifset |
|
@ifclear use-texinfo-tables |
@html |
<CENTER> |
<TABLE COLS=2 WIDTH="80%" BORDER=2> |
<TR><TD ALIGN=center>Support Libraries (BSPs, C library, CPU support)</TD> |
<TD ALIGN=center>$RTEMS_ROOT/c/src/lib</TD></TR> |
<TR><TD ALIGN=center>Single Processor Tests</TD> |
<TD ALIGN=center>$RTEMS_ROOT/c/src/tests/sptests</TD></TR> |
<TR><TD ALIGN=center>Timing Tests</TD> |
<TD ALIGN=center>$RTEMS_ROOT/c/src/tests/tmtests</TD></TR> |
<TR><TD ALIGN=center>Multiprocessor Tests</TD> |
<TD ALIGN=center>$RTEMS_ROOT/c/src/tests/mptests</TD></TR> |
<TR><TD ALIGN=center>Sample Applications</TD> |
<TD ALIGN=center>$RTEMS_ROOT/c/src/tests/samples</TD></TR> |
<TR><TD ALIGN=center>RTEMS Build Tools</TD> |
<TD ALIGN=center>$RTEMS_SRC_BASE/c/build_tools</TD></TR> |
<TR><TD ALIGN=center>Make Support</TD> |
<TD ALIGN=center>$RTEMS_ROOT/c/make</TD></TR> |
</TABLE> |
</CENTER> |
@end html |
@end ifclear |
|
|
The top level directory structure for the C implementation of RTEMS |
is as follows: |
|
@c |
@c Tree 2 - Top C Level |
@c |
|
@ifset use-ascii |
@example |
@group |
C |
| |
+----------+-----------+----------+ |
| | | | |
build_tools make src update_tools |
@end group |
@end example |
@end ifset |
|
@ifset use-tex |
@sp 1 |
|
@tex |
{\parskip=0pt\offinterlineskip% |
\hskip 08.0em |
\hskip 13.00em\hbox to 0.50em{\hss{C}\hss}% |
\vrule width0em height1.972ex depth0.812ex\par\penalty10000 |
\hskip 08.0em |
\hskip 13.25em\vrule width.04em% |
\vrule width0em height1.500ex depth0.500ex\par\penalty10000 |
\hskip 08.0em |
\hskip 1.75em\vrule width11.50em height-0.407ex depth0.500ex% |
\vrule width.04em\vrule width11.50em height-0.407ex depth0.500ex% |
\vrule width0em height1.500ex depth0.500ex\par\penalty10000 |
\hskip 08.0em |
\hskip 1.75em\vrule width.04em% |
\hskip 5.71em\vrule width.04em% |
\hskip 5.71em\vrule width.04em% |
\hskip 5.71em\vrule width.04em% |
\hskip 5.71em\vrule width.04em% |
\vrule width0em height1.500ex depth0.500ex\par\penalty10000 |
\hskip 08.0em |
\hskip 0.00em\hbox to 3.50em{\hss{Modules}\hss}% |
\hskip 1.00em\hbox to 6.00em{\hss{build\_tools}\hss}% |
\hskip 1.75em\hbox to 2.00em{\hss{make}\hss}% |
\hskip 4.00em\hbox to 1.50em{\hss{src}\hss}% |
\hskip 1.75em\hbox to 6.50em{\hss{update\_tools}\hss}% |
\vrule width0em height1.972ex depth0.812ex\par} |
@end tex |
@end ifset |
|
@ifset use-html |
@example |
@group |
C |
| |
+----------+-----------+----------+ |
| | | | |
build_tools make src update_tools |
@end group |
@end example |
@html |
@end html |
@end ifset |
|
This directory contains the subdirectories which |
contain the entire C implementation of the RTEMS executive. |
The "build-tools" directory contains an assortment of support tools |
for the RTEMS development environment. Two subdirectories exist |
under "build-tools" which contain scripts (executables) and |
source for the support tools. The "make" directory contains |
configuration files and subdirectories which provide a robust |
host and cross-target makefile system supporting the building of |
the executive for numerous application environments. The |
"update_tools" directory contains utilities which aid in the |
updating from a previous version to the current version of the |
RTEMS executive. |
|
The "src" directory structure for the C implementation of RTEMS is as follows: |
|
@c |
@c Tree 3 - Top C src Level |
@c |
|
@ifset use-ascii |
@example |
@group |
C Source |
| |
+-----------------------+-----------------------+ |
| | | |
exec lib tests |
@end group |
@end example |
@end ifset |
|
@ifset use-tex |
@sp 1 |
|
@tex |
{\parskip=0pt\offinterlineskip% |
\hskip 15.0em |
\hskip 2.00em\hbox to 4.00em{\hss{C Source}\hss}% |
\vrule width0em height1.972ex depth0.812ex\par\penalty10000 |
\hskip 15.0em |
\hskip 4.00em\vrule width.04em% |
\vrule width0em height1.500ex depth0.500ex\par\penalty10000 |
\hskip 15.0em |
\hskip 1.00em\vrule width3.00em height-0.407ex depth0.500ex% |
\vrule width.04em\vrule width3.00em height-0.407ex depth0.500ex% |
\vrule width0em height1.500ex depth0.500ex\par\penalty10000 |
\hskip 15.0em |
\hskip 1.00em\vrule width.04em% |
\hskip 2.96em\vrule width.04em% |
\hskip 2.96em\vrule width.04em% |
\vrule width0em height1.500ex depth0.500ex\par\penalty10000 |
\hskip 15.0em |
\hskip 0.00em\hbox to 2.00em{\hss{exec}\hss}% |
\hskip 1.25em\hbox to 1.50em{\hss{lib}\hss}% |
\hskip 1.00em\hbox to 2.50em{\hss{tests}\hss}% |
\vrule width0em height1.972ex depth0.812ex\par} |
@end tex |
@end ifset |
|
@ifset use-html |
@example |
@group |
C Source |
| |
+-----------------------+-----------------------+ |
| | | |
exec lib tests |
@end group |
@end example |
@html |
@end html |
@end ifset |
|
This directory contains all source files that |
comprises the RTEMS executive, supported target board support |
packages, and the RTEMS Test Suite. |
|
@ifinfo |
@node Executive Source Directory, Support Library Source Directory, C Suites, Directory Structure Suites |
@end ifinfo |
@subsection Executive Source Directory |
|
The "exec" directory structure for the C implementation is as follows: |
|
@c |
@c Tree 4 - C Executive Tree |
@c |
|
@ifset use-ascii |
@example |
@group |
C Executive |
| |
+-----------+----------+-----------+----------+ |
| | | | | |
posix rtems sapi score wrapup |
@end group |
@end example |
@end ifset |
|
@ifset use-tex |
@sp 1 |
|
@tex |
{\parskip=0pt\offinterlineskip% |
\hskip 10.0em |
\hskip 6.00em\hbox to 5.50em{\hss{C Executive}\hss}% |
\vrule width0em height1.972ex depth0.812ex\par\penalty10000 |
\hskip 10.0em |
\hskip 8.75em\vrule width.04em% |
\vrule width0em height1.500ex depth0.500ex\par\penalty10000 |
\hskip 10.0em |
\hskip 1.25em\vrule width7.50em height-0.407ex depth0.500ex% |
\vrule width.04em\vrule width7.50em height-0.407ex depth0.500ex% |
\vrule width0em height1.500ex depth0.500ex\par\penalty10000 |
\hskip 10.0em |
\hskip 1.25em\vrule width.04em% |
\hskip 3.71em\vrule width.04em% |
\hskip 3.71em\vrule width.04em% |
\hskip 3.71em\vrule width.04em% |
\hskip 3.71em\vrule width.04em% |
\vrule width0em height1.500ex depth0.500ex\par\penalty10000 |
\hskip 10.0em |
\hskip 0.00em\hbox to 2.50em{\hss{posix}\hss}% |
\hskip 1.25em\hbox to 2.50em{\hss{rtems}\hss}% |
\hskip 1.50em\hbox to 2.00em{\hss{sapi}\hss}% |
\hskip 1.50em\hbox to 2.50em{\hss{score}\hss}% |
\hskip 1.00em\hbox to 3.00em{\hss{wrapup}\hss}% |
\vrule width0em height1.972ex depth0.812ex\par} |
@end tex |
@end ifset |
|
@ifset use-html |
@example |
@group |
C Executive |
| |
+-----------+----------+-----------+----------+ |
| | | | | |
posix rtems sapi score wrapup |
@end group |
@end example |
@html |
@end html |
@end ifset |
|
This directory contains a set of subdirectories which |
contains the source files comprising the executive portion of |
the RTEMS development environment. At this point the API |
specific and "supercore" source code files are separated into |
distinct directory trees. The "rtems" and the "posix" |
subdirectories contain the C language source files for each |
module comprising the respective API. Also included in this |
directory are the subdirectories "sapi" and "score" which are |
the supercore modules. Within the "score" directory the CPU |
dependent modules are found. |
|
The "cpu" directory contains a subdirectory for each |
target CPU supported by the @value{RELEASE} release of the RTEMS |
executive. Each processor directory contains the CPU dependent |
code necessary to host RTEMS. The "no_cpu" directory provides a |
starting point for developing a new port to an unsupported |
processor. The files contained within the "no_cpu" directory |
may also be used as a reference for the other ports to specific |
processors. |
|
@ifinfo |
@node Support Library Source Directory, Test Suite Source Directory, Executive Source Directory, Directory Structure Suites |
@end ifinfo |
@subsection Support Library Source Directory |
|
The "lib" directory contains the support libraries and BSPS. |
Board support packages (BSPs), processor environment start up code, |
C library support, the FreeBSD TCP/IP stack, common BSP header files, |
and miscellaneous support functions are provided in the subdirectories. |
These are combined with the RTEMS executive object to form the single |
RTEMS library which installed. |
|
@c |
@c Tree 6 - Libraries |
@c |
|
|
The "libbsp" directory contains a directory for each CPU family supported |
by RTEMS. Beneath each CPU directory is a directory for each BSP for that |
processor family. |
|
@c |
@c Tree 7 - C BSP Library |
@c |
|
The "libbsp" directory provides all the BSPs provided with this |
release of the RTEMS executive. The subdirectories are |
divided, as discussed previously, based on specific processor |
family, then further breaking down into specific target board |
environments. The "shmdr" subdirectory provides the |
implementation of a shared memory driver which supports the |
multiprocessing portion of the executive. In addition, two |
starting point subdirectories are provided for reference. The |
"no_cpu" subdirectory provides a template BSP which can be used |
to develop a specific BSP for an unsupported target board. The |
"stubdr" subdirectory provides stubbed out BSPs. These files |
may aid in preliminary testing of the RTEMS development |
environment that has been built for no particular target in mind. |
|
Below each CPU dependent directory is a directory for each target BSP |
supported in this release. |
|
Each BSP provides the modules which comprise an RTEMS BSP. The |
modules are separated into the subdirectories "clock", "console", |
"include", "shmsupp", "startup", and "timer" as shown in the following |
figure: |
|
@c |
@c Tree 8 - Each BSP |
@c |
|
@ifset use-ascii |
@example |
@group |
Each BSP |
| |
+-----------+----------+-----+-----+----------+----------+ |
| | | | | | |
clock console include shmsupp startup timer |
@end group |
@end example |
@end ifset |
|
@ifset use-tex |
@sp 1 |
|
@tex |
{\parskip=0pt\offinterlineskip% |
\hskip 10.0em |
\hskip 10.25em\hbox to 4.50em{\hss{Each BSP}\hss}% |
\vrule width0em height1.972ex depth0.812ex\par\penalty10000 |
\hskip 10.0em |
\hskip 12.50em\vrule width.04em% |
\vrule width0em height1.500ex depth0.500ex\par\penalty10000 |
\hskip 10.0em |
\hskip 1.25em\vrule width11.25em height-0.407ex depth0.500ex% |
\vrule width.04em\vrule width11.25em height-0.407ex depth0.500ex% |
\vrule width0em height1.500ex depth0.500ex\par\penalty10000 |
\hskip 10.0em |
\hskip 1.25em\vrule width.04em% |
\hskip 4.46em\vrule width.04em% |
\hskip 4.46em\vrule width.04em% |
\hskip 4.46em\vrule width.04em% |
\hskip 4.46em\vrule width.04em% |
\hskip 4.46em\vrule width.04em% |
\vrule width0em height1.500ex depth0.500ex\par\penalty10000 |
\hskip 10.0em |
\hskip 0.00em\hbox to 2.50em{\hss{clock}\hss}% |
\hskip 1.50em\hbox to 3.50em{\hss{console}\hss}% |
\hskip 1.00em\hbox to 3.50em{\hss{include}\hss}% |
\hskip 1.00em\hbox to 3.50em{\hss{shmsupp}\hss}% |
\hskip 1.00em\hbox to 3.50em{\hss{startup}\hss}% |
\hskip 1.50em\hbox to 2.50em{\hss{timer}\hss}% |
\vrule width0em height1.972ex depth0.812ex\par} |
@end tex |
@end ifset |
|
@ifset use-html |
@example |
@group |
Each BSP |
| |
+-----------+----------+-----+-----+----------+----------+ |
| | | | | | |
clock console include ... startup timer |
@end group |
@end example |
@html |
@end html |
@end ifset |
|
@ifinfo |
@node Test Suite Source Directory, Sample Applications, Support Library Source Directory, Directory Structure Suites |
@end ifinfo |
@subsection Test Suite Source Directory |
|
The "tests" directory structure for the C |
implementation is as follows: |
|
@c |
@c Tree 9 - C Tests |
@c |
|
@ifset use-ascii |
@example |
@group |
C Tests |
| |
+----------+---------+----------+---------+---------+---------+ |
| | | | | | | |
libtests sptests support tmtests mptests psxtest samples |
@end group |
@end example |
@end ifset |
|
@ifset use-tex |
@sp 1 |
|
@tex |
{\parskip=0pt\offinterlineskip% |
\hskip 05.0em |
\hskip 14.50em\hbox to 3.50em{\hss{C Tests}\hss}% |
\vrule width0em height1.972ex depth0.812ex\par\penalty10000 |
\hskip 05.0em |
\hskip 16.25em\vrule width.04em% |
\vrule width0em height1.500ex depth0.500ex\par\penalty10000 |
\hskip 05.0em |
\hskip 2.00em\vrule width14.25em height-0.407ex depth0.500ex% |
\vrule width.04em\vrule width14.25em height-0.407ex depth0.500ex% |
\vrule width0em height1.500ex depth0.500ex\par\penalty10000 |
\hskip 05.0em |
\hskip 2.00em\vrule width.04em% |
\hskip 4.71em\vrule width.04em% |
\hskip 4.71em\vrule width.04em% |
\hskip 4.71em\vrule width.04em% |
\hskip 4.71em\vrule width.04em% |
\hskip 4.71em\vrule width.04em% |
\hskip 4.71em\vrule width.04em% |
\vrule width0em height1.500ex depth0.500ex\par\penalty10000 |
\hskip 05.0em |
\hskip 0.00em\hbox to 4.00em{\hss{libtests}\hss}% |
\hskip 1.00em\hbox to 3.50em{\hss{sptests}\hss}% |
\hskip 1.25em\hbox to 3.50em{\hss{support}\hss}% |
\hskip 1.25em\hbox to 3.50em{\hss{tmtests}\hss}% |
\hskip 1.25em\hbox to 3.50em{\hss{mptests}\hss}% |
\hskip 1.75em\hbox to 2.50em{\hss{tools}\hss}% |
\hskip 1.75em\hbox to 3.50em{\hss{samples}\hss}% |
\vrule width0em height1.972ex depth0.812ex\par} |
@end tex |
@end ifset |
|
@ifset use-html |
@example |
@group |
C Tests |
| |
+----------+---------+----------+---------+---------+---------+ |
| | | | | | | |
libtests sptests support tmtests mptests tools samples |
@end group |
@end example |
@html |
@end html |
@end ifset |
|
This directory provides the entire RTEMS Test Suite |
which includes the single processor tests, multiprocessor tests, |
timing tests, library tests, and sample tests. Additionally, |
subdirectories for support functions and test related header |
files are provided. |
|
The "sptests" subdirectory consists of twenty-four |
tests designed to cover the entire executive code. The |
"spfatal" test will verify any code associated with the |
occurrence of a fatal error. Also provided is a test which |
will determine the size of the RTEMS executive. |
|
The multiprocessor test are provided in "mptests". |
Fourteen tests are provided in this subdirectory which address |
two node configurations and cover the multiprocessor code found |
in RTEMS. |
|
Tests that time each directive and a set of critical |
executive functions are provided in the "tmtests" subdirectory. |
Within this subdirectory thirty-one tests are provided along |
with a subdirectory to contain each targets timing results. |
|
The "samples" directory structure for the C |
implementation is as follows: |
|
@c |
@c Tree 10 - C Samples |
@c |
|
@ifset use-ascii |
@example |
@group |
C Samples |
| |
+-----------+----------+-----+-----+----------+----------+ |
| | | | | | |
base_mp base_sp cdtest hello paranoia ticker |
@end group |
@end example |
@end ifset |
|
@ifset use-tex |
@sp 1 |
|
@tex |
{\parskip=0pt\offinterlineskip% |
\hskip 05.0em |
\hskip 12.25em\hbox to 4.50em{\hss{C Samples}\hss}% |
\vrule width0em height1.972ex depth0.812ex\par\penalty10000 |
\hskip 05.0em |
\hskip 14.50em\vrule width.04em% |
\vrule width0em height1.500ex depth0.500ex\par\penalty10000 |
\hskip 05.0em |
\hskip 2.00em\vrule width12.50em height-0.407ex depth0.500ex% |
\vrule width.04em\vrule width12.50em height-0.407ex depth0.500ex% |
\vrule width0em height1.500ex depth0.500ex\par\penalty10000 |
\hskip 05.0em |
\hskip 2.00em\vrule width.04em% |
\hskip 4.96em\vrule width.04em% |
\hskip 4.96em\vrule width.04em% |
\hskip 4.96em\vrule width.04em% |
\hskip 4.96em\vrule width.04em% |
\hskip 4.96em\vrule width.04em% |
\vrule width0em height1.500ex depth0.500ex\par\penalty10000 |
\hskip 05.0em |
\hskip 0.00em\hbox to 4.00em{\hss{base\_mp}\hss}% |
\hskip 1.00em\hbox to 4.00em{\hss{base\_sp}\hss}% |
\hskip 1.50em\hbox to 3.00em{\hss{cdtest}\hss}% |
\hskip 2.25em\hbox to 2.50em{\hss{hello}\hss}% |
\hskip 1.75em\hbox to 4.00em{\hss{paranoia}\hss}% |
\hskip 1.50em\hbox to 3.00em{\hss{ticker}\hss}% |
\vrule width0em height1.972ex depth0.812ex\par} |
@end tex |
@end ifset |
|
@ifset use-html |
@example |
@group |
C Samples |
| |
+-----------+----------+-----+-----+----------+----------+ |
| | | | | | |
base_mp base_sp cdtest hello paranoia ticker |
@end group |
@end example |
@html |
@end html |
@end ifset |
|
This directory provides sample application tests |
which aid in the testing a newly built RTEMS environment, a new |
BSP, or as starting points for the development of an application |
using the RTEMS executive. A Hello World test is provided in |
the subdirectory "hello". This test is helpful when testing new |
versions of RTEMS, BSPs, or modifications to any portion of the |
RTEMS development environment. The "ticker" subdirectory |
provides a test for verification of clock chip device drivers of |
BSPs. A simple single processor test similar to those in the |
single processor test suite is provided in "base_sp". A simple |
two node multiprocessor test capable of testing an newly |
developed MPCI layer is provided in "base_mp". The "cdtest" |
subdirectory provides a simple C++ application using |
constructors and destructors. The final sample test is a |
public domain floating point and math library toolset test is |
provided in "paranoia". |
/intro.texi
0,0 → 1,58
@c |
@c COPYRIGHT (c) 1988-2002. |
@c On-Line Applications Research Corporation (OAR). |
@c All rights reserved. |
@c |
@c intro.texi,v 1.5 2002/01/17 21:47:44 joel Exp |
@c |
|
@ifinfo |
@node Introduction, Directory Structure, Top, Top |
@end ifinfo |
@chapter Introduction |
|
This document describes the RTEMS development |
environment. Discussions are provided for the following topics: |
|
@itemize @bullet |
@item the directory structure used by RTEMS, |
|
@item usage of the GNU Make utility within the RTEMS |
development environment, |
|
@item sample applications, and |
|
@item the RTEMS specific utilities. |
@end itemize |
|
RTEMS was designed as a reusable software component. |
Highly reusable software such as RTEMS is typically distributed |
in the form of source code without providing any support tools. |
RTEMS is the foundation for a complex family of facilities |
including board support packages, device drivers, and support |
libraries. The RTEMS Development Environment is not a CASE |
tool. It is a collection of tools designed to reduce the |
complexity of using and enhancing the RTEMS family. Tools are |
provided which aid in the management of the development, |
maintenance, and usage of RTEMS, its run-time support |
facilities, and applications which utilize the executive. |
|
A key component of the RTEMS development environment |
is the GNU family of free tools. This is robust set of |
development and POSIX compatible tools for which source code is |
freely available. The primary compilers, assemblers, linkers, |
and make utility used by the RTEMS development team are the GNU |
tools. They are highly portable supporting a wide variety of |
host computers and, in the case of the development tools, a wide |
variety of target processors. |
|
It is recommended that the RTEMS developer become |
familiar with the RTEMS Development Environment before |
proceeding with any modifications to the executive source tree. |
The source code for the executive is very modular and source |
code is divided amongst directories based upon functionality as |
well as dependencies on CPU and target board. This organization |
is aimed at isolating and minimizing non-portable code. This |
has the immediate result that adding support for a new CPU or |
target board requires very little "wandering" around the source |
tree. |
/stamp-vti
0,0 → 1,4
@set UPDATED 17 January 2002 |
@set UPDATED-MONTH January 2002 |
@set EDITION ss-20020717 |
@set VERSION ss-20020717 |
/ChangeLog
0,0 → 1,19
2002-03-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de> |
|
* Makefile.am: Remove AUTOMAKE_OPTIONS. |
|
2002-01-18 Ralf Corsepius <corsepiu@faw.uni-ulm.de> |
|
* Makefile.am: include main.am, require automake-1.5. |
|
2001-01-17 Joel Sherrill <joel@OARcorp.com> |
|
* .cvsignore: Added rtems_header.html and rtems_footer.html. |
|
2000-09-22 Joel Sherrill <joel@OARcorp.com> |
|
* Makefile.am: Removed GENERATED_FILES from list of TEXINFOS. |
|
2000-08-10 Joel Sherrill <joel@OARcorp.com> |
|
* ChangeLog: New file. |
/utils.texi
0,0 → 1,312
@c |
@c COPYRIGHT (c) 1988-2002. |
@c On-Line Applications Research Corporation (OAR). |
@c All rights reserved. |
@c |
@c utils.texi,v 1.5 2002/01/17 21:47:44 joel Exp |
@c |
|
@ifinfo |
@node RTEMS Specific Utilities, RTEMS Specific Utilities C Language Specific Utilities, Sample Applications Paranoia Floating Point Application, Top |
@end ifinfo |
@chapter RTEMS Specific Utilities |
@ifinfo |
@menu |
* RTEMS Specific Utilities C Language Specific Utilities:: |
* RTEMS Specific Utilities Ada Language Specific Utilities:: |
@end menu |
@end ifinfo |
|
This section describes the additional commands |
available within the RTEMS Development Environment. Although |
some of these commands are of general use, most are included to |
provide some capability necessary to perform a required function |
in the development of the RTEMS executive, one of its support |
components, or an RTEMS based application. The commands have |
been classified into the following categories for clarity: |
|
@itemize @bullet |
@item C Language Specific Utilities |
|
@item Ada Language Specific Utilities |
@end itemize |
|
Some of the commands are implemented as C programs. |
However, most commands are implemented as Bourne shell scripts. |
Even if the current user has selected a different shell, the |
scripts will automatically invoke the Bourne shell during their |
execution lifetime. |
|
The commands are presented in UNIX manual page style |
for compatibility and convenience. A standard set of paragraph |
headers were used for all of the command descriptions. If a |
section contained no data, the paragraph header was omitted to |
conserve space. Each of the permissible paragraph headers and |
their contents are described below: |
|
@table @code |
@item SYNOPSIS |
describes the command syntax |
|
@item DESCRIPTION |
a full description of the command |
|
@item OPTIONS |
describes each of the permissible options for the command |
|
@item NOTES |
lists any special noteworthy comments about the command |
|
@item ENVIRONMENT |
describes all environment variables utilized by the command |
|
@item EXAMPLES |
illustrates the use of the command with specific examples |
|
@item FILES |
provides a list of major files that the command references |
|
@item SEE ALSO |
lists any relevant commands which can be consulted |
@end table |
|
Most environment variables referenced by the commands |
are defined for the RTEMS Development Environment during the |
login procedure. During login, the user selects a default RTEMS |
environment through the use of the Modules package. This tool |
effectively sets the environment variables to provide a |
consistent development environment for a specific user. |
Additional environment variables within the RTEMS environment |
were set by the system administrator during installation. When |
specifying paths, a command description makes use of these |
environment variables. |
|
When referencing other commands in the SEE ALSO |
paragraph, the following notation is used: command(code). |
Where command is the name of a related command, and code is a |
section number. Valid section numbers are as follows: |
|
@table @code |
@item 1 |
Section 1 of the standard UNIX documentation |
|
@item 1G |
Section 1 of the GNU documentation |
|
@item 1R |
a manual page from this document, the RTEMS Development Environment Guide |
@end table |
|
For example, ls(1) means see the standard ls command |
in section 1 of the UNIX documentation. gcc020(1G) means see |
the description of gcc020 in section 1 of the GNU documentation. |
|
@ifinfo |
@node RTEMS Specific Utilities C Language Specific Utilities, packhex - Compress Hexadecimal File, RTEMS Specific Utilities, RTEMS Specific Utilities |
@end ifinfo |
@section C Language Specific Utilities |
@ifinfo |
@menu |
* packhex - Compress Hexadecimal File:: |
* unhex - Convert Hexadecimal File into Binary:: |
* size_rtems - report RTEMS size information:: |
@end menu |
@end ifinfo |
|
The C language utilities provide a powerful set of |
tools which combine to allow operations within the RTEMS |
Development Environment to be consistent and easy to use. Much |
effort was devoted to providing as close to the standard UNIX |
and GNU style of operations as possible. Each of these |
utilities are described in the section below. |
|
@ifinfo |
@node packhex - Compress Hexadecimal File, unhex - Convert Hexadecimal File into Binary, RTEMS Specific Utilities C Language Specific Utilities, RTEMS Specific Utilities C Language Specific Utilities |
@end ifinfo |
@subsection packhex - Compress Hexadecimal File |
|
@subheading SYNOPSIS |
|
@example |
packhex <source >destination |
@end example |
|
@subheading DESCRIPTION |
|
packhex accepts Intel Hexadecimal or Motorola Srecord |
on its standard input and attempts to pack as many contiguous |
bytes as possible into a single hexadecimal record. Many |
programs output hexadecimal records which are less than 80 bytes |
long (for human viewing). The overhead required by each |
unnecessary record is significant and packhex can often reduce |
the size of the download image by 20%. packhex attempts to |
output records which are as long as the hexadecimal format |
allows. |
|
@subheading OPTIONS |
|
This command has no options. |
|
@subheading EXAMPLES |
|
Assume the current directory contains the Motorola |
Srecord file download.sr. Then executing the command: |
|
@example |
packhex <download.sr >packed.sr |
@end example |
|
will generate the file packed.sr which is usually |
smaller than download.sr. |
|
@subheading CREDITS |
|
The source for packhex first appeared in the May 1993 |
issue of Embedded Systems magazine. The code was downloaded |
from their BBS. Unfortunately, the author's name was not |
provided in the listing. |
|
@ifinfo |
@node unhex - Convert Hexadecimal File into Binary, size_rtems - report RTEMS size information, packhex - Compress Hexadecimal File, RTEMS Specific Utilities C Language Specific Utilities |
@end ifinfo |
@subsection unhex - Convert Hexadecimal File into Binary Equivalent |
|
@subheading SYNOPSIS |
|
@example |
unhex [-valF] [-o file] [file [file ...] ] |
@end example |
|
@subheading DESCRIPTION |
|
unhex accepts Intel Hexadecimal, Motorola Srecord, or |
TI 'B' records and converts them to their binary equivalent. |
The output may sent to standout or may be placed in a specified |
file with the -o option. The designated output file may not be |
an input file. Multiple input files may be specified with their |
outputs logically concatenated into the output file. |
|
@subheading OPTIONS |
|
This command has the following options: |
|
@table @code |
@item v |
Verbose |
|
@item a base |
First byte of output corresponds with base |
address |
|
@item l |
Linear Output |
|
@item o file |
Output File |
|
@item F k_bits |
Fill holes in input with 0xFFs up to k_bits * 1024 bits |
@end table |
|
@subheading EXAMPLES |
|
The following command will create a binary equivalent |
file for the two Motorola S record files in the specified output |
file binary.bin: |
|
@example |
unhex -o binary.bin downloadA.sr downloadB.sr |
@end example |
|
@ifinfo |
@node size_rtems - report RTEMS size information, RTEMS Specific Utilities Ada Language Specific Utilities, unhex - Convert Hexadecimal File into Binary, RTEMS Specific Utilities C Language Specific Utilities |
@end ifinfo |
@subsection size_rtems - report RTEMS size information |
|
@subheading SYNOPSIS |
|
@example |
size_rtems |
@end example |
|
@subheading DESCRIPTION |
|
size_rtems analyzes RTEMS and determines all of the |
critical sizing information which is reported in the related |
documentation. |
|
@subheading EXAMPLES |
|
To generate the RTEMS size report for the currently |
configured processor, execute the following command: |
|
@example |
size_rtems |
@end example |
|
Although the actual size information will differ, a |
report of the following format will be output: |
|
@example |
RTEMS SIZE REPORT |
|
CODE DATA BSS |
================== |
MANAGERS: 15988 0 0 |
CORE : 4568 0 0 |
CPU : 364 0 0 |
OVERALL : 20556 0 0 |
MINIMUM : 8752 0 0 |
|
init : 1592 0 0 |
tasks : 2440 0 0 |
intr : 64 0 0 |
clock : 2252 0 0 |
sem : 876 0 0 |
msg : 1624 0 0 |
event : 604 0 0 |
signal : 212 0 0 |
part : 872 0 0 |
region : 844 0 0 |
dpmem : 532 0 0 |
timer : 424 0 0 |
io : 288 0 0 |
fatal : 40 0 0 |
rtmon : 764 0 0 |
mp : 2984 0 0 |
|
sem : 4 0 0 |
msg : 4 0 0 |
event : 4 0 0 |
signal : 4 0 0 |
part : 4 0 0 |
region : 4 0 0 |
timer : 4 0 0 |
dpmem : 4 0 0 |
io : 4 0 0 |
rtmon : 4 0 0 |
mp : 8 0 0 |
@end example |
|
@subheading SEE ALSO |
|
gsize020(1G), gsize386(1G), gsize960(1G) |
|
|
@ifinfo |
@node RTEMS Specific Utilities Ada Language Specific Utilities, Command and Variable Index, size_rtems - report RTEMS size information, RTEMS Specific Utilities |
@end ifinfo |
@section Ada Language Specific Utilities |
|
The Ada language utilities provide a powerful set of |
tools which combine to allow operations within the RTEMS |
Development Environment to be consistent and easy to use. Much |
effort was devoted to providing as close to the standard UNIX |
and GNU style of operations as possible. Each of these |
utilities are described in the section below. |
|
NOTE: The Ada implementation is not included in this |
release. |
|
|
|
/Makefile.am
0,0 → 1,22
# |
# COPYRIGHT (c) 1988-2002. |
# On-Line Applications Research Corporation (OAR). |
# All rights reserved. |
# |
# Makefile.am,v 1.7 2002/03/28 00:52:47 joel Exp |
# |
|
|
PROJECT = develenv |
EDITION = 1 |
|
include $(top_srcdir)/project.am |
include $(top_srcdir)/main.am |
|
FILES = compile.texi direct.texi intro.texi sample.texi utils.texi |
|
COMMON_FILES = $(top_srcdir)/common/setup.texi \ |
$(top_srcdir)/common/cpright.texi |
|
info_TEXINFOS = develenv.texi |
develenv_TEXINFOS = $(FILES) $(COMMON_FILES) |
/sample.texi
0,0 → 1,287
@c |
@c COPYRIGHT (c) 1988-2002. |
@c On-Line Applications Research Corporation (OAR). |
@c All rights reserved. |
@c |
@c sample.texi,v 1.7 2002/01/17 21:47:44 joel Exp |
@c |
|
@ifinfo |
@node Sample Applications, Sample Applications Introduction, Test Suite Source Directory, Top |
@end ifinfo |
@chapter Sample Applications |
@ifinfo |
@menu |
* Sample Applications Introduction:: |
* Sample Applications Hello World:: |
* Sample Applications Clock Tick:: |
* Sample Applications Base Single Processor Application:: |
* Sample Applications Base Multiple Processor Application:: |
* Sample Applications Constructor/Destructor C++ Application:: |
* Sample Applications Paranoia Floating Point Application:: |
@end menu |
@end ifinfo |
|
@ifinfo |
@node Sample Applications Introduction, Sample Applications Hello World, Sample Applications, Sample Applications |
@end ifinfo |
@section Introduction |
|
RTEMS is shipped with the following sample applications: |
|
@itemize @bullet |
@item Hello World - C and Ada |
|
@item Clock Tick - C and Ada |
|
@item Base Single Processor - C and Ada |
|
@item Base Multiple Processor - C and Ada |
|
@item Constructor/Destructor C++ Test - C only if C++ |
enabled |
|
@item Paranoia Floating Point Test - C only |
@end itemize |
|
These applications are intended to illustrate the |
basic format of RTEMS single and multiple processor |
applications. In addition, these relatively simple applications |
can be used to test locally developed board support packages and |
device drivers. |
|
The reader should be familiar with the terms used and |
material presented in the RTEMS Applications User's Guide. |
|
@ifinfo |
@node Sample Applications Hello World, Sample Applications Clock Tick, Sample Applications Introduction, Sample Applications |
@end ifinfo |
@section Hello World |
|
This sample application is in the following directory: |
|
@example |
$RTEMS_SRC_BASE/tests/samples/hello |
@end example |
|
It provides a rudimentary test of the BSP start up |
code and the console output routine. The C version of this |
sample application uses the printf function from the RTEMS |
Standard C Library to output messages. The Ada version of this |
sample use the TEXT_IO package to output the hello messages. |
The following messages are printed: |
|
@example |
@group |
*** HELLO WORLD TEST *** |
Hello World |
*** END OF HELLO WORLD TEST *** |
@end group |
@end example |
|
These messages are printed from the application's |
single initialization task. If the above messages are not |
printed correctly, then either the BSP start up code or the |
console output routine is not operating properly. |
|
@ifinfo |
@node Sample Applications Clock Tick, Sample Applications Base Single Processor Application, Sample Applications Hello World, Sample Applications |
@end ifinfo |
@section Clock Tick |
|
This sample application is in the following directory: |
|
@example |
$RTEMS_SRC_BASE/tests/samples/ticker |
@end example |
|
This application is designed as a simple test of the |
clock tick device driver. In addition, this application also |
tests the printf function from the RTEMS Standard C Library by |
using it to output the following messages: |
|
@example |
@group |
*** CLOCK TICK TEST *** |
TA1 - tm_get - 09:00:00 12/31/1988 |
TA2 - tm_get - 09:00:00 12/31/1988 |
TA3 - tm_get - 09:00:00 12/31/1988 |
TA1 - tm_get - 09:00:05 12/31/1988 |
TA1 - tm_get - 09:00:10 12/31/1988 |
TA2 - tm_get - 09:00:10 12/31/1988 |
TA1 - tm_get - 09:00:15 12/31/1988 |
TA3 - tm_get - 09:00:15 12/31/1988 |
TA1 - tm_get - 09:00:20 12/31/1988 |
TA2 - tm_get - 09:00:20 12/31/1988 |
TA1 - tm_get - 09:00:25 12/31/1988 |
TA1 - tm_get - 09:00:30 12/31/1988 |
TA2 - tm_get - 09:00:30 12/31/1988 |
TA3 - tm_get - 09:00:30 12/31/1988 |
*** END OF CLOCK TICK TEST *** |
@end group |
@end example |
|
The clock tick sample application utilizes a single |
initialization task and three copies of the single application |
task. The initialization task prints the test herald, sets the |
time and date, and creates and starts the three application |
tasks before deleting itself. The three application tasks |
generate the rest of the output. Every five seconds, one or |
more of the tasks will print the current time obtained via the |
tm_get directive. The first task, TA1, executes every five |
seconds, the second task, TA2, every ten seconds, and the third |
task, TA3, every fifteen seconds. If the time printed does not |
match the above output, then the clock device driver is not |
operating properly. |
|
@ifinfo |
@node Sample Applications Base Single Processor Application, Sample Applications Base Multiple Processor Application, Sample Applications Clock Tick, Sample Applications |
@end ifinfo |
@section Base Single Processor Application |
|
This sample application is in the following directory: |
|
@example |
$RTEMS_SRC_BASE/tests/samples/base_sp |
@end example |
|
It provides a framework from which a single processor |
RTEMS application can be developed. The use of the task argument |
is illustrated. This sample application uses the printf |
function from the RTEMS Standard C Library or TEXT_IO functions |
when using the Ada version to output the following messages: |
|
@example |
@group |
*** SAMPLE SINGLE PROCESSOR APPLICATION *** |
Creating and starting an application task |
Application task was invoked with argument (0) and has id of 0x10002 |
*** END OF SAMPLE SINGLE PROCESSOR APPLICATION *** |
@end group |
@end example |
|
The first two messages are printed from the |
application's single initialization task. The final messages |
are printed from the single application task. |
|
@ifinfo |
@node Sample Applications Base Multiple Processor Application, Sample Applications Constructor/Destructor C++ Application, Sample Applications Base Single Processor Application, Sample Applications |
@end ifinfo |
@section Base Multiple Processor Application |
|
This sample application is in the following directory: |
|
@example |
$RTEMS_SRC_BASE/tests/samples/base_mp |
@end example |
|
It provides a framework from which a multiprocessor |
RTEMS application can be developed. This directory has a |
subdirectory for each node in the multiprocessor system. The |
task argument is used to distinguish the node on which the |
application task is executed. The first node will print the |
following messages: |
|
@example |
@group |
*** SAMPLE MULTIPROCESSOR APPLICATION *** |
Creating and starting an application task |
This task was invoked with the node argument (1) |
This task has the id of 0x10002 |
*** END OF SAMPLE MULTIPROCESSOR APPLICATION *** |
@end group |
@end example |
|
The second node will print the following messages: |
|
@example |
@group |
*** SAMPLE MULTIPROCESSOR APPLICATION *** |
Creating and starting an application task |
This task was invoked with the node argument (2) |
This task has the id of 0x20002 |
*** END OF SAMPLE MULTIPROCESSOR APPLICATION *** |
@end group |
@end example |
|
The herald is printed from the application's single |
initialization task on each node. The final messages are |
printed from the single application task on each node. |
|
In this sample application, all source code is shared |
between the nodes except for the node dependent configuration |
files. These files contains the definition of the node number |
used in the initialization of the RTEMS Multiprocessor |
Configuration Table. This file is not shared because the node |
number field in the RTEMS Multiprocessor Configuration Table |
must be unique on each node. |
|
@ifinfo |
@node Sample Applications Constructor/Destructor C++ Application, Sample Applications Paranoia Floating Point Application, Sample Applications Base Multiple Processor Application, Sample Applications |
@end ifinfo |
@section Constructor/Destructor C++ Application |
|
This sample application is in the following directory: |
|
@example |
$RTEMS_SRC_BASE/tests/samples/cdtest |
@end example |
|
This sample application demonstrates that RTEMS is |
compatible with C++ applications. It uses constructors, |
destructor, and I/O stream output in testing these various |
capabilities. The board support package responsible for this |
application must support a C++ environment. |
|
This sample application uses the printf function from |
the RTEMS Standard C Library to output the following messages: |
|
@example |
@group |
Hey I'M in base class constructor number 1 for 0x400010cc. |
Hey I'M in base class constructor number 2 for 0x400010d4. |
Hey I'M in derived class constructor number 3 for 0x400010d4. |
*** CONSTRUCTOR/DESTRUCTOR TEST *** |
Hey I'M in base class constructor number 4 for 0x4009ee08. |
Hey I'M in base class constructor number 5 for 0x4009ee10. |
Hey I'M in base class constructor number 6 for 0x4009ee18. |
Hey I'M in base class constructor number 7 for 0x4009ee20. |
Hey I'M in derived class constructor number 8 for 0x4009ee20. |
Testing a C++ I/O stream |
Hey I'M in derived class constructor number 8 for 0x4009ee20. |
Derived class - Instantiation order 8 |
Hey I'M in base class constructor number 7 for 0x4009ee20. |
Instantiation order 8 |
Hey I'M in base class constructor number 6 for 0x4009ee18. |
Instantiation order 6 |
Hey I'M in base class constructor number 5 for 0x4009ee10. |
Instantiation order 5 |
Hey I'M in base class constructor number 4 for 0x4009ee08. |
Instantiation order 5 |
*** END OF CONSTRUCTOR/DESTRUCTOR TEST *** |
Hey I'M in base class constructor number 3 for 0x400010d4. |
Hey I'M in base class constructor number 2 for 0x400010d4. |
Hey I'M in base class constructor number 1 for 0x400010cc. |
@end group |
@end example |
|
@ifinfo |
@node Sample Applications Paranoia Floating Point Application, RTEMS Specific Utilities, Sample Applications Constructor/Destructor C++ Application, Sample Applications |
@end ifinfo |
@section Paranoia Floating Point Application |
|
This sample application is in the following directory: |
|
@example |
$RTEMS_SRC_BASE/tests/samples/paranoia |
@end example |
|
This sample application uses a public domain floating |
point and math library test to verify these capabilities of the |
RTEMS executive. Deviations between actual and expected results |
are reported to the screen. This is a very extensive test which |
tests all mathematical and number conversion functions. |
Paranoia is also very large and requires a long period of time |
to run. Problems which commonly prevent this test from |
executing to completion include stack overflow and FPU exception |
handlers not installed. |
/version.texi
0,0 → 1,4
@set UPDATED 17 January 2002 |
@set UPDATED-MONTH January 2002 |
@set EDITION ss-20020717 |
@set VERSION ss-20020717 |
.
Property changes :
Added: svn:ignore
## -0,0 +1,20 ##
+Makefile
+Makefile.in
+develenv
+develenv*.html
+develenv.aux
+develenv.cp
+develenv.dvi
+develenv.fn
+develenv.ky
+develenv.log
+develenv.pdf
+develenv.pg
+develenv.ps
+develenv.toc
+develenv.tp
+develenv.vr
+index.html
+mdate-sh
+rtems_header.html
+rtems_footer.html