2009-11-09 Joel Sherrill <joel.sherrill@oarcorp.com>

* ada_user/Makefile.am, ada_user/ada_user.texi, user/Makefile.am,
	user/c_user.texi, user/concepts.t, user/overview.t,
	user/preface.texi, user/schedule.t, user/sem.t: Add table of figures.
	Add text and graphic of tree illustrating valid combinations of
	semaphore attributes.
	* user/semaphore_attributes.eps, user/semaphore_attributes.png:
	New files.
This commit is contained in:
Joel Sherrill
2009-11-09 14:36:14 +00:00
parent 3ee8430be6
commit bd861cc6e0
12 changed files with 106566 additions and 61 deletions

View File

@@ -1,3 +1,13 @@
2009-11-09 Joel Sherrill <joel.sherrill@oarcorp.com>
* ada_user/Makefile.am, ada_user/ada_user.texi, user/Makefile.am,
user/c_user.texi, user/concepts.t, user/overview.t,
user/preface.texi, user/schedule.t, user/sem.t: Add table of figures.
Add text and graphic of tree illustrating valid combinations of
semaphore attributes.
* user/semaphore_attributes.eps, user/semaphore_attributes.png:
New files.
2009-10-14 Joel Sherrill <joel.sherrill@oarcorp.com> 2009-10-14 Joel Sherrill <joel.sherrill@oarcorp.com>
* bsp_howto/console.t: Capitalization. * bsp_howto/console.t: Capitalization.

View File

@@ -38,10 +38,12 @@ ObjectId-32Bits.eps: $(top_srcdir)/user/ObjectId-32Bits.eps
$(LN_S) $< $(LN_S) $<
rtemspie.eps: $(top_srcdir)/user/rtemspie.eps rtemspie.eps: $(top_srcdir)/user/rtemspie.eps
$(LN_S) $< $(LN_S) $<
semaphore_attributes.eps: $(top_srcdir)/user/semaphore_attributes.eps
$(LN_S) $<
states.eps: $(top_srcdir)/user/states.eps states.eps: $(top_srcdir)/user/states.eps
$(LN_S) $< $(LN_S) $<
CLEANFILES += rtemspie.eps states.eps rtemsarc.png rtemspie.png states.png \ CLEANFILES += rtrtemspie.eps states.eps rtemsarc.png rtemspie.png states.png \
ObjectId-32Bits.png ObjectId-32Bits.png semaphore_attributes.png
ObjectId-16Bits.png: $(top_srcdir)/user/ObjectId-16Bits.png ObjectId-16Bits.png: $(top_srcdir)/user/ObjectId-16Bits.png
$(LN_S) $< $(LN_S) $<
@@ -51,6 +53,8 @@ rtemsarc.png: $(top_srcdir)/user/rtemsarc.png
$(LN_S) $< $(LN_S) $<
rtemspie.png: $(top_srcdir)/user/rtemspie.png rtemspie.png: $(top_srcdir)/user/rtemspie.png
$(LN_S) $< $(LN_S) $<
semaphore_attributes.png: $(top_srcdir)/user/semaphore_attributes.png
$(LN_S) $<
states.png: $(top_srcdir)/user/states.png states.png: $(top_srcdir)/user/states.png
$(LN_S) $< $(LN_S) $<
@@ -59,11 +63,11 @@ ada_user_TEXINFOS = $(FILES) $(COMMON_FILES)
if USE_HTML if USE_HTML
html_project_DATA += rtemsarc.png rtemspie.png states.png \ html_project_DATA += rtemsarc.png rtemspie.png states.png \
ObjectId-16Bits.png ObjectId-32Bits.png ObjectId-16Bits.png ObjectId-32Bits.png semaphore_attributes.png
endif endif
$(PROJECT).dvi: rtemspie.eps states.eps ObjectId-16Bits.eps \ $(PROJECT).dvi: rtemspie.eps states.eps ObjectId-16Bits.eps \
ObjectId-32Bits.eps ObjectId-32Bits.eps semaphore_attributes.eps
PDF_IMAGES = rtemspie.pdf states.pdf PDF_IMAGES = rtemspie.pdf states.pdf
CLEANFILES += ada_user.info ada_user.info-? ada_user.info-?? CLEANFILES += ada_user.info ada_user.info-? ada_user.info-??

View File

@@ -79,6 +79,10 @@
@contents @contents
@node List of Figures, Preface, Top, Top
@unnumbered List of Figures
@listoffloats Figure
@include user/preface.texi @include user/preface.texi
@include user/overview.texi @include user/overview.texi
@include user/concepts.texi @include user/concepts.texi
@@ -112,12 +116,13 @@
@include example.texi @include example.texi
@include user/glossary.texi @include user/glossary.texi
@ifinfo @ifinfo
@node Top, Preface, (dir), (dir) @node Top, List of Figures, (dir), (dir)
@top ada_user @top ada_user
This is the online version of the RTEMS Ada User's Guide. This is the online version of the RTEMS Ada User's Guide.
@menu @menu
* List of Figures::
* Preface:: * Preface::
* Overview:: * Overview::
* Key Concepts:: * Key Concepts::

View File

@@ -28,14 +28,14 @@ c_user_TEXINFOS = $(FILES) $(COMMON_FILES) $(GENERATED_FILES)
TXT_FILES = rtemsarc.txt rtemspie.txt states.txt TXT_FILES = rtemsarc.txt rtemspie.txt states.txt
PNG_FILES = rtemsarc.png rtemspie.png states.png ObjectId-32Bits.png \ PNG_FILES = rtemsarc.png rtemspie.png states.png ObjectId-32Bits.png \
ObjectId-16Bits.png ObjectId-16Bits.png semaphore_attributes.png
EPS_IMAGES = rtemspie.eps states.eps ObjectId-32Bits.eps \ EPS_IMAGES = rtemspie.eps states.eps ObjectId-32Bits.eps \
ObjectId-32Bits.eps ObjectId-32Bits.eps semaphore_attributes.eps
$(PROJECT).dvi: $(EPS_IMAGES) $(PROJECT).dvi: $(EPS_IMAGES)
PDF_IMAGES = rtemspie.pdf states.pdf ObjectId-16Bits.pdf \ PDF_IMAGES = rtemspie.pdf states.pdf ObjectId-16Bits.pdf \
ObjectId-32Bits.pdf ObjectId-32Bits.pdf semaphore_attributes.pdf
CLEANFILES += $(PDF_IMAGES) CLEANFILES += $(PDF_IMAGES)
if USE_HTML if USE_HTML

View File

@@ -78,6 +78,10 @@
@contents @contents
@node List of Figures, Preface, Top, Top
@unnumbered List of Figures
@listoffloats Figure
@include preface.texi @include preface.texi
@include overview.texi @include overview.texi
@include concepts.texi @include concepts.texi
@@ -111,12 +115,13 @@
@include example.texi @include example.texi
@include glossary.texi @include glossary.texi
@ifinfo @ifinfo
@node Top, Preface, (dir), (dir) @node Top, List of Figures, (dir), (dir)
@top c_user @top c_user
This is the online version of the RTEMS C User's Guide. This is the online version of the RTEMS C User's Guide.
@menu @menu
* List of Figures::
* Preface:: * Preface::
* Overview:: * Overview::
* Key Concepts:: * Key Concepts::

View File

@@ -136,6 +136,9 @@ object class, node, and index. The data type @code{@value{DIRPREFIX}id}
is used to store object IDs. is used to store object IDs.
@float Figure,fig:Object-Id-32
@caption{Thirty-Two Bit Object Id}
@ifset use-ascii @ifset use-ascii
@example @example
@group @group
@@ -151,15 +154,16 @@ is used to store object IDs.
@ifset use-tex @ifset use-tex
@sp1 @sp1
@center{@image{ObjectId-32Bits,,2in}} @center{@image{ObjectId-32Bits,,2in,Thirty-Two Bit Object Id}}
@end ifset @end ifset
@ifset use-html @ifset use-html
@html @html
<P ALIGN="center"><IMG SRC="ObjectId-32Bits.png" <P ALIGN="center"><IMG SRC="ObjectId-32Bits.png"
WIDTH=550 HEIGHT=400 ALT="32 Bit Object Id"></P> WIDTH=550 HEIGHT=400 ALT="Thirty-Two Bit Object Id"></P>
@end html @end html
@end ifset @end ifset
@end float
The most significant five bits are the object class. The next The most significant five bits are the object class. The next
three bits indicate the API to which the object class belongs. three bits indicate the API to which the object class belongs.
@@ -176,6 +180,9 @@ The sixteen bit format for an object ID is composed of three parts: API,
object class, and index. The data type @code{@value{DIRPREFIX}id} object class, and index. The data type @code{@value{DIRPREFIX}id}
is used to store object IDs. is used to store object IDs.
@float Figure,fig:Object-Id-16
@caption{Sixteen Bit Object Id}
@ifset use-ascii @ifset use-ascii
@example @example
@@ -192,7 +199,7 @@ is used to store object IDs.
@ifset use-tex @ifset use-tex
@sp1 @sp1
@center{@image{ObjectId-16Bits,,2in}} @center{@image{ObjectId-16Bits,,2in,Sixteen Bit Object Id}}
@end ifset @end ifset
@ifset use-html @ifset use-html
@@ -201,6 +208,7 @@ is used to store object IDs.
WIDTH=550 HEIGHT=400 ALT="16 Bit Object Id"></P> WIDTH=550 HEIGHT=400 ALT="16 Bit Object Id"></P>
@end html @end html
@end ifset @end ifset
@end float
The sixteen-bit format is designed to be as similar as possible to the The sixteen-bit format is designed to be as similar as possible to the
thrity-two bit format. The differences are limited to the eliminatation thrity-two bit format. The differences are limited to the eliminatation

View File

@@ -141,6 +141,9 @@ project dependent application code and the target hardware.
Most hardware dependencies for real-time applications can be Most hardware dependencies for real-time applications can be
localized to the low level device drivers. localized to the low level device drivers.
@float Figure,fig:RTEMS-App-Arch
@caption{RTEMS Application Architecture}
@ifset use-ascii @ifset use-ascii
@example @example
@group @group
@@ -214,6 +217,7 @@ localized to the low level device drivers.
<IMG SRC="rtemsarc.png" WIDTH=500 HEIGHT=300 ALT="RTEMS Application Architecture"> <IMG SRC="rtemsarc.png" WIDTH=500 HEIGHT=300 ALT="RTEMS Application Architecture">
@end html @end html
@end ifset @end ifset
@end float
The RTEMS I/O interface manager provides an efficient tool for incorporating The RTEMS I/O interface manager provides an efficient tool for incorporating
these hardware dependencies into the system while simultaneously these hardware dependencies into the system while simultaneously
@@ -236,6 +240,9 @@ Together these components provide a powerful run time
environment that promotes the development of efficient real-time environment that promotes the development of efficient real-time
application systems. The following figure illustrates this organization: application systems. The following figure illustrates this organization:
@float Figure,fig:rtems-layers
@caption{RTEMS Layered Architecture}
@ifset use-ascii @ifset use-ascii
@example @example
@group @group
@@ -251,28 +258,18 @@ application systems. The following figure illustrates this organization:
@end ifset @end ifset
@ifset use-tex @ifset use-tex
@c for now use the ascii version @center{@image{rtemspie,4in,3in, RTEMS Layered Architecture}}
@c @example
@c @group
@c +-----------------------------------------------+
@c | RTEMS Executive Interface |
@c +-----------------------------------------------+
@c | RTEMS Core |
@c +-----------------------------------------------+
@c | CPU Dependent Code |
@c +-----------------------------------------------+
@c @end group
@c @end example
@image{rtemspie,4in,3in}
@tex @tex
@end tex @end tex
@end ifset @end ifset
@ifset use-html @ifset use-html
@html @html
<IMG SRC="rtemspie.png" WIDTH=500 HEIGHT=300 ALT="RTEMS Architecture"> <IMG SRC="rtemspie.png" WIDTH=500 HEIGHT=300 ALT="RTEMS Layered Architecture">
@end html @end html
@end ifset @end ifset
@end float
Subsequent chapters present a detailed description of the capabilities Subsequent chapters present a detailed description of the capabilities
provided by each of the following RTEMS managers: provided by each of the following RTEMS managers:

View File

@@ -7,7 +7,7 @@
@c @c
@ifinfo @ifinfo
@node Preface, Overview, Top, Top @node Preface, Overview, List of Figures, Top
@end ifinfo @end ifinfo
@unnumbered Preface @unnumbered Preface

View File

@@ -207,6 +207,9 @@ directive, at which time it enters the ready state. The task is
now permitted to be scheduled for the processor and to compete now permitted to be scheduled for the processor and to compete
for other system resources. for other system resources.
@float Figure,fig:RTEMS-Task-States
@caption{RTEMS Task States}
@ifset use-ascii @ifset use-ascii
@example @example
@group @group
@@ -243,35 +246,7 @@ for other system resources.
@ifset use-tex @ifset use-tex
@c @page @c @page
@example @example
@image{states,,3in} @center{@image{states,,3in,RTEMS Task States}}
@c @group
@c +-------------------------------------------------------------+
@c | Non-existent |
@c | +-------------------------------------------------------+ |
@c | | | |
@c | | | |
@c | | Creating +---------+ Deleting | |
@c | | -------------------> | Dormant | -------------------> | |
@c | | +---------+ | |
@c | | | | |
@c | | Starting | | |
@c | | | | |
@c | | V Deleting | |
@c | | +-------> +-------+ -------------------> | |
@c | | Yielding / +----- | Ready | ------+ | |
@c | | / / +-------+ <--+ \ | |
@c | | / / \ \ Blocking | |
@c | | / / Dispatching Readying \ \ | |
@c | | / V \ V | |
@c | | +-----------+ Blocking +---------+ | |
@c | | | Executing | --------------> | Blocked | | |
@c | | +-----------+ +---------+ | |
@c | | | |
@c | | | |
@c | +-------------------------------------------------------+ |
@c | Non-existent |
@c +-------------------------------------------------------------+
@c @end group
@end example @end example
@end ifset @end ifset
@@ -280,6 +255,7 @@ for other system resources.
<IMG SRC="states.png" WIDTH=550 HEIGHT=400 ALT="RTEMS Task States"> <IMG SRC="states.png" WIDTH=550 HEIGHT=400 ALT="RTEMS Task States">
@end html @end html
@end ifset @end ifset
@end float
A task occupies the blocked state whenever it is A task occupies the blocked state whenever it is
unable to be scheduled to run. A running task may block itself unable to be scheduled to run. A running task may block itself

View File

@@ -232,6 +232,35 @@ default for all created tasks. If a similar semaphore were to be known
globally, then the attribute_set parameter would be globally, then the attribute_set parameter would be
@code{@value{RPREFIX}GLOBAL @value{OR} @value{RPREFIX}PRIORITY}. @code{@value{RPREFIX}GLOBAL @value{OR} @value{RPREFIX}PRIORITY}.
Some combinatinos of these attributes are invalid. For example, priority
ordered blocking discipline must be applied to a binary semaphore in order
to use either the priority inheritance or priority ceiling functionality.
The following tree figure illustrates the valid combinations.
@float Figure,fig:semaphore-attributes
@caption{Valid Semaphore Attributes Combinations}
@ifset use-ascii
@example
@group
Not available in ASCII representation
@end group
@end example
@end ifset
@ifset use-tex
@example
@image{semaphore_attributes,5in,3.5in}
@end example
@end ifset
@ifset use-html
@html
<IMG SRC="semaphore_attributes.png" WIDTH=550 HEIGHT=400 ALT="Valid Semaphore Attribute Combinations">
@end html
@end ifset
@end float
@subsection Building a SEMAPHORE_OBTAIN Option Set @subsection Building a SEMAPHORE_OBTAIN Option Set
In general, an option is built by a bitwise OR of the In general, an option is built by a bitwise OR of the
@@ -468,9 +497,9 @@ inheritance (default)
@item @code{@value{RPREFIX}NO_PRIORITY_CEILING} - do not use priority @item @code{@value{RPREFIX}NO_PRIORITY_CEILING} - do not use priority
ceiling (default) ceiling (default)
@item @code{@value{RPREFIX}LOCAL} - local task (default) @item @code{@value{RPREFIX}LOCAL} - local semaphore (default)
@item @code{@value{RPREFIX}GLOBAL} - global task @item @code{@value{RPREFIX}GLOBAL} - global semaphore
@end itemize @end itemize
Semaphores should not be made global unless remote Semaphores should not be made global unless remote
@@ -480,9 +509,11 @@ semaphore. When a global semaphore is created, the semaphore's
name and id must be transmitted to every node in the system for name and id must be transmitted to every node in the system for
insertion in the local copy of the global object table. insertion in the local copy of the global object table.
The total number of global objects, including Note that some combinations of attributes are not valid. See the
semaphores, is limited by the maximum_global_objects field in earlier discussion on this.
the Configuration Table.
The total number of global objects, including semaphores, is limited by
the maximum_global_objects field in the Configuration Table.
@c @c
@c @c

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB