2008-11-07 Joel Sherrill <joel.sherrill@OARcorp.com>

PR 1334/doc
	* user/Makefile.am, user/concepts.t, user/init.t, user/overview.t,
	user/part.t, user/task.t: Correct typos and correctly document 4
	parts of 32-bit object id.
	* user/ObjectId-32Bits.eps, user/ObjectId-32Bits.png: New files.
This commit is contained in:
Joel Sherrill
2008-11-07 15:02:55 +00:00
parent 719a5c7433
commit 1fa78236b7
9 changed files with 19510 additions and 75 deletions

View File

@@ -1,3 +1,11 @@
2008-11-07 Joel Sherrill <joel.sherrill@OARcorp.com>
PR 1334/doc
* user/Makefile.am, user/concepts.t, user/init.t, user/overview.t,
user/part.t, user/task.t: Correct typos and correctly document 4
parts of 32-bit object id.
* user/ObjectId-32Bits.eps, user/ObjectId-32Bits.png: New files.
2008-10-14 Joel Sherrill <joel.sherrill@OARcorp.com> 2008-10-14 Joel Sherrill <joel.sherrill@OARcorp.com>
* user/conf.t: Fix typo. * user/conf.t: Fix typo.

View File

@@ -27,7 +27,7 @@ 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 PNG_FILES = rtemsarc.png rtemspie.png states.png ObjectId-32Bits.png
EPS_IMAGES = rtemspie.eps states.eps EPS_IMAGES = rtemspie.eps states.eps
$(PROJECT).dvi: $(EPS_IMAGES) $(PROJECT).dvi: $(EPS_IMAGES)

19480
doc/user/ObjectId-32Bits.eps Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

View File

@@ -119,98 +119,45 @@ void print_name(rtems_id the_object)
@need 3000 @need 3000
An object ID is a unique unsigned thirty-two bit An object ID is a unique unsigned thirty-two bit
entity composed of three parts: object class, node, and index. entity composed of three parts: API, object class, node, and index.
The data type @code{@value{DIRPREFIX}id} is used to store object IDs. The data type @code{@value{DIRPREFIX}id} is used to store object IDs.
@ifset use-ascii @ifset use-ascii
@example @example
@group @group
31 26 25 16 15 0 31 27 26 24 23 16 15 0
+-----------+------------------+-------------------------------+ +---------+-------+--------------+-------------------------------+
| | | | | | | | |
| Class | Node | Index | | Class | API | Node | Index |
| | | | | | | | |
+-----------+------------------+-------------------------------+ +---------+-------+--------------+-------------------------------+
@end group @end group
@end example @end example
@end ifset @end ifset
@ifset use-tex @ifset use-tex
@sp 1 @sp1
@tex @center{@image{ObjectId-32Bits,,2in}}
\centerline{\vbox{\offinterlineskip\halign{
\strut#&
\hbox to 0.50in{\enskip#}&
\hbox to 0.50in{\enskip#}&
#&
\hbox to 0.50in{\enskip#}&
\hbox to 0.50in{\enskip#}&
#&
\hbox to 1.00in{\enskip#}&
\hbox to 1.00in{\enskip#}&
#\cr
\multispan{9}\cr
\multispan{2}31\hfil&\multispan{2}\hfil26\enskip&
\multispan{1}\enskip25\hfil&\multispan{2}\hfil16\enskip&
\multispan{1}\enskip15\hfil&\multispan{2}\hfil0\cr
&&&&&&&&&\cr
}}\hfil}
\centerline{\vbox{\offinterlineskip\halign{
\strut\vrule#&
\hbox to 0.50in{\enskip#}&
\hbox to 0.50in{\enskip#}&
\vrule#&
\hbox to 0.50in{\enskip#}&
\hbox to 0.50in{\enskip#}&
\vrule#&
\hbox to 0.50in{\enskip#}&
\hbox to 0.50in{\enskip#}&
\vrule#\cr
\multispan{9}\cr
\noalign{\hrule}
&&&&&&&&&\cr
&\multispan{2}\hfil Class\hfil&&
\multispan{2}\hfil Node\hfil&&
\multispan{2}\hfil Index\hfil&\cr
&&&&&&&&&\cr
\noalign{\hrule}
}}\hfil}
@end tex
@end ifset @end ifset
@ifset use-html @ifset use-html
@html @html
<CENTER> <IMG SRC="ObjectId-16Bits.png" WIDTH=550 HEIGHT=400 ALT="32 Bit Object Id">
<TABLE COLS=6 WIDTH="60%" BORDER=0>
<TR><TD ALIGN=left><STRONG>31</STRONG></TD>
<TD ALIGN=right><STRONG>26</STRONG></TD>
<TD ALIGN=left><STRONG>25</STRONG></TD>
<TD ALIGN=right><STRONG>16</STRONG></TD>
<TD ALIGN=left><STRONG>15</STRONG></TD>
<TD ALIGN=right><STRONG>0</STRONG></TD></TR>
</TABLE>
</CENTER>
<CENTER>
<TABLE COLS=6 WIDTH="60%" BORDER=2>
<TR><TD ALIGN=center COLSPAN=2>Class</TD>
<TD ALIGN=center COLSPAN=2>Node</TD>
<TD ALIGN=center COLSPAN=2>Index</TD></TD>
</TABLE>
</CENTER>
@end html @end html
@end ifset @end ifset
The most significant six bits are the object class. The next
ten bits are the number of the node on which this object was The most significant five bits are the object class. The next
created. The node number is always one (1) in a single three bits indicate the API to which the object class belongs.
The next eight bits (16-23) are the number of the node on which
this object was created. The node number is always one (1) in a single
processor system. The least significant sixteen bits form an processor system. The least significant sixteen bits form an
identifier within a particular object type. This identifier, identifier within a particular object type. This identifier,
called the object index, ranges in value from 1 to the maximum called the object index, ranges in value from 1 to the maximum
number of objects configured for this object type. number of objects configured for this object type.
The four components of an object ID make it possible
The three components of an object ID make it possible
to quickly locate any object in even the most complicated to quickly locate any object in even the most complicated
multiprocessor system. Object ID's are associated with an multiprocessor system. Object ID's are associated with an
object by RTEMS when the object is created and the corresponding object by RTEMS when the object is created and the corresponding

View File

@@ -165,7 +165,7 @@ C Library.
The effect of calling any blocking RTEMS directives before The effect of calling any blocking RTEMS directives before
@code{@value{DIRPREFIX}initialize_start_multitasking} @code{@value{DIRPREFIX}initialize_start_multitasking}
is unpredictable but guaranteed to be bad. Afer the is unpredictable but guaranteed to be bad. After the
directive @code{@value{DIRPREFIX}initialize_data_structures} directive @code{@value{DIRPREFIX}initialize_data_structures}
is invoked, it is permissible to allocate RTEMS objects and is invoked, it is permissible to allocate RTEMS objects and
perform non-blocking operations. But the user should be perform non-blocking operations. But the user should be

View File

@@ -332,7 +332,7 @@ Since memory is a critical resource in many real-time
embedded systems, RTEMS was specifically designed to automatically embedded systems, RTEMS was specifically designed to automatically
leave out all services that are not required from the run-time leave out all services that are not required from the run-time
environment. Features such as networking, various fileystems, environment. Features such as networking, various fileystems,
and many other features are completely optionsl. This allows and many other features are completely optional. This allows
the application designer the flexibility to tailor RTEMS to most the application designer the flexibility to tailor RTEMS to most
efficiently meet system requirements while still satisfying even efficiently meet system requirements while still satisfying even
the most stringent memory constraints. As a result, the size the most stringent memory constraints. As a result, the size

View File

@@ -200,7 +200,7 @@ preempted.
The @code{starting_address} must be properly aligned for the The @code{starting_address} must be properly aligned for the
target architecture. target architecture.
Th @code{buffer_size} parameter must be a multiple of The @code{buffer_size} parameter must be a multiple of
the CPU alignment factor. Additionally, @code{buffer_size} the CPU alignment factor. Additionally, @code{buffer_size}
must be large enough to hold two pointers on the target must be large enough to hold two pointers on the target
architecture. This is required for RTEMS to manage the architecture. This is required for RTEMS to manage the

View File

@@ -944,10 +944,10 @@ procedure Task_Start (
@code{@value{RPREFIX}ILLEGAL_ON_REMOTE_OBJECT} - cannot start remote task @code{@value{RPREFIX}ILLEGAL_ON_REMOTE_OBJECT} - cannot start remote task
@subheading DESCRIPTION: @subheading DESCRIPTION:
This directive readies the task, specified by tid, for execution This directive readies the task, specified by @code{id}, for execution
based on the priority and execution mode specified when the task based on the priority and execution mode specified when the task
was created. The starting address of the task is given in was created. The starting address of the task is given in
entry_point. The task's starting argument is contained in @code{entry_point}. The task's starting argument is contained in
argument. This argument can be a single value or used as an index into an argument. This argument can be a single value or used as an index into an
array of parameter blocks. The type of this numeric argument is an unsigned array of parameter blocks. The type of this numeric argument is an unsigned
integer type with the property that any valid pointer to void can be converted integer type with the property that any valid pointer to void can be converted