forked from Imagelibrary/rtems
2008-12-01 Joel Sherrill <joel.sherrill@oarcorp.com>
* ada_user/Makefile.am, user/Makefile.am, user/concepts.t: Add 16 bit object Id format information. * user/ObjectId-16Bits.eps, user/ObjectId-16Bits.png: New files.
This commit is contained in:
@@ -1,3 +1,9 @@
|
||||
2008-12-01 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||
|
||||
* ada_user/Makefile.am, user/Makefile.am, user/concepts.t: Add 16 bit
|
||||
object Id format information.
|
||||
* user/ObjectId-16Bits.eps, user/ObjectId-16Bits.png: New files.
|
||||
|
||||
2008-12-01 Joel Sherrill <joel.sherrill@OARcorp.com>
|
||||
|
||||
* user/datatypes.t: Add C99 uint types.
|
||||
|
||||
@@ -24,7 +24,7 @@ COMMON_FILES += \
|
||||
$(top_builddir)/user/overview.texi $(top_builddir)/user/part.texi \
|
||||
$(top_builddir)/user/preface.texi $(top_builddir)/user/region.texi \
|
||||
$(top_builddir)/user/rtmon.texi $(top_builddir)/user/schedule.texi \
|
||||
$(top_builddir)/user/sem.texi $(top_builddir)/user/signal.texi \
|
||||
$(top_builddir)/user/sem.textexii $(top_builddir)/user/signal.texi \
|
||||
$(top_builddir)/user/task.texi $(top_builddir)/user/timer.texi \
|
||||
$(top_builddir)/user/userext.texi $(top_builddir)/user/stackchk.texi \
|
||||
$(top_builddir)/user/cpuuse.texi $(top_srcdir)/common/cpright.texi \
|
||||
@@ -32,6 +32,8 @@ COMMON_FILES += \
|
||||
|
||||
FILES = example.texi
|
||||
|
||||
ObjectId-16Bits.eps: $(top_srcdir)/user/ObjectId-16Bits.eps
|
||||
$(LN_S) $<
|
||||
ObjectId-32Bits.eps: $(top_srcdir)/user/ObjectId-32Bits.eps
|
||||
$(LN_S) $<
|
||||
rtemspie.eps: $(top_srcdir)/user/rtemspie.eps
|
||||
@@ -41,6 +43,8 @@ states.eps: $(top_srcdir)/user/states.eps
|
||||
CLEANFILES += rtemspie.eps states.eps rtemsarc.png rtemspie.png states.png \
|
||||
ObjectId-32Bits.png
|
||||
|
||||
ObjectId-16Bits.png: $(top_srcdir)/user/ObjectId-16Bits.png
|
||||
$(LN_S) $<
|
||||
ObjectId-32Bits.png: $(top_srcdir)/user/ObjectId-32Bits.png
|
||||
$(LN_S) $<
|
||||
rtemsarc.png: $(top_srcdir)/user/rtemsarc.png
|
||||
@@ -54,10 +58,12 @@ info_TEXINFOS = ada_user.texi
|
||||
ada_user_TEXINFOS = $(FILES) $(COMMON_FILES)
|
||||
|
||||
if USE_HTML
|
||||
html_project_DATA += rtemsarc.png rtemspie.png states.png ObjectId-32Bits.png
|
||||
html_project_DATA += rtemsarc.png rtemspie.png states.png \
|
||||
ObjectId-16Bits.png ObjectId-32Bits.png
|
||||
endif
|
||||
|
||||
$(PROJECT).dvi: rtemspie.eps states.eps ObjectId-32Bits.eps
|
||||
$(PROJECT).dvi: rtemspie.eps states.eps ObjectId-16Bits.eps \
|
||||
ObjectId-32Bits.eps
|
||||
PDF_IMAGES = rtemspie.pdf states.pdf
|
||||
|
||||
CLEANFILES += ada_user.info ada_user.info-? ada_user.info-??
|
||||
|
||||
@@ -27,12 +27,15 @@ c_user_TEXINFOS = $(FILES) $(COMMON_FILES) $(GENERATED_FILES)
|
||||
|
||||
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
|
||||
|
||||
EPS_IMAGES = rtemspie.eps states.eps
|
||||
EPS_IMAGES = rtemspie.eps states.eps ObjectId-32Bits.eps \
|
||||
ObjectId-32Bits.eps
|
||||
$(PROJECT).dvi: $(EPS_IMAGES)
|
||||
|
||||
PDF_IMAGES = rtemspie.pdf states.pdf
|
||||
PDF_IMAGES = rtemspie.pdf states.pdf ObjectId-16Bits.pdf \
|
||||
ObjectId-32Bits.pdf
|
||||
CLEANFILES += $(PDF_IMAGES)
|
||||
|
||||
if USE_HTML
|
||||
|
||||
23070
doc/user/ObjectId-16Bits.eps
Normal file
23070
doc/user/ObjectId-16Bits.eps
Normal file
File diff suppressed because it is too large
Load Diff
BIN
doc/user/ObjectId-16Bits.png
Normal file
BIN
doc/user/ObjectId-16Bits.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 6.1 KiB |
@@ -118,9 +118,22 @@ void print_name(rtems_id the_object)
|
||||
|
||||
@need 3000
|
||||
|
||||
An object ID is a unique unsigned thirty-two bit
|
||||
entity composed of three parts: API, object class, node, and index.
|
||||
The data type @code{@value{DIRPREFIX}id} is used to store object IDs.
|
||||
An object ID is a unique unsigned integer value which uniquely identifies
|
||||
an object instance. Object IDs are passed as arguments to many directives
|
||||
in RTEMS and RTEMS translates the ID to an internal object pointer. The
|
||||
efficient manipulation of object IDs is critical to the performance
|
||||
of RTEMS services. Because of this, there are two object Id formats
|
||||
defined. Each target architecture specifies which format it will use.
|
||||
There is a thirty-two bit format which is used for most of the supported
|
||||
architectures and supports multiprocessor configurations. There is also
|
||||
a simpler sixteen bit format which is appropriate for smaller target
|
||||
architectures and does not support multiprocessor configurations.
|
||||
|
||||
@subsubsection Thirty-Two Object ID Format
|
||||
|
||||
The thirty-two bit format for an object ID is composed of four parts: API,
|
||||
object class, node, and index. The data type @code{@value{DIRPREFIX}id}
|
||||
is used to store object IDs.
|
||||
|
||||
|
||||
@ifset use-ascii
|
||||
@@ -157,7 +170,49 @@ identifier within a particular object type. This identifier,
|
||||
called the object index, ranges in value from 1 to the maximum
|
||||
number of objects configured for this object type.
|
||||
|
||||
The four components of an object ID make it possible
|
||||
@subsubsection Sixteen Bit Object ID Format
|
||||
|
||||
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}
|
||||
is used to store object IDs.
|
||||
|
||||
|
||||
@ifset use-ascii
|
||||
@example
|
||||
@group
|
||||
15 11 10 8 7 0
|
||||
+---------+-------+--------------+
|
||||
| | | |
|
||||
| Class | API | Index |
|
||||
| | | |
|
||||
+---------+-------+--------------+
|
||||
@end group
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset use-tex
|
||||
@sp1
|
||||
@center{@image{ObjectId-16Bits,,2in}}
|
||||
@end ifset
|
||||
|
||||
@ifset use-html
|
||||
@html
|
||||
<P ALIGN="center"><IMG SRC="ObjectId-16Bits.png"
|
||||
WIDTH=550 HEIGHT=400 ALT="16 Bit Object Id"></P>
|
||||
@end html
|
||||
@end ifset
|
||||
|
||||
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
|
||||
of the node field and reduction of the index field from sixteen-bits
|
||||
to 8-bits. Thus the sixteen bit format only supports up to 255 object
|
||||
instances per API/Class combination and single processor systems.
|
||||
As this format is typically utilized by sixteen-bit processors with
|
||||
limited address space, this is more than enough object instances.
|
||||
|
||||
@subsection Object ID Description
|
||||
|
||||
The components of an object ID make it possible
|
||||
to quickly locate any object in even the most complicated
|
||||
multiprocessor system. Object ID's are associated with an
|
||||
object by RTEMS when the object is created and the corresponding
|
||||
|
||||
Reference in New Issue
Block a user