summaryrefslogtreecommitdiffstats
path: root/doc/user/conf.t
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2008-04-16 18:30:16 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2008-04-16 18:30:16 +0000
commit211cafba7fffec27986d8e5e9b3826af94e4e383 (patch)
tree125c1cfc35401728d83ca721816d902a0f4a7f85 /doc/user/conf.t
parent2008-04-14 Ralf Corsépius <ralf.corsepius@rtems.org> (diff)
downloadrtems-211cafba7fffec27986d8e5e9b3826af94e4e383.tar.bz2
2008-04-16 Joel Sherrill <joel.sherrill@OARcorp.com>
* user/bsp.t, user/conf.t, user/init.t, user/intr.t, user/overview.t, user/timer.t: Correct default values. Make it clear that confdefs.h calculates the memory required for you.
Diffstat (limited to 'doc/user/conf.t')
-rw-r--r--doc/user/conf.t58
1 files changed, 36 insertions, 22 deletions
diff --git a/doc/user/conf.t b/doc/user/conf.t
index fcae0a445f..943794934c 100644
--- a/doc/user/conf.t
+++ b/doc/user/conf.t
@@ -1,4 +1,4 @@
-@c COPYRIGHT (c) 1988-2002.
+@c COPYRIGHT (c) 1988-2008.
@c On-Line Applications Research Corporation (OAR).
@c All rights reserved.
@c
@@ -1058,7 +1058,7 @@ When using the @code{rtems/confdefs.h} mechanism for configuring
an RTEMS application, the value for this field corresponds
to the setting of the macro @code{CONFIGURE_MAXIMUM_TASKS}.
If not defined by the application, then the @code{CONFIGURE_MAXIMUM_TASKS}
-macro defaults to 10.
+macro defaults to 0.
@item maximum_timers
is the maximum number of timers
@@ -1221,7 +1221,7 @@ When using the @code{rtems/confdefs.h} mechanism for configuring
an RTEMS application, the value for this field corresponds
to the setting of the macro @code{CONFIGURE_MAXIMUM_POSIX_THREADS}.
If not defined by the application, then the
-@code{CONFIGURE_MAXIMUM_POSIX_THREADS} macro defaults to 10.
+@code{CONFIGURE_MAXIMUM_POSIX_THREADS} macro defaults to 0.
@item maximum_mutexes
is the maximum number of mutexes that can be concurrently
@@ -1800,13 +1800,23 @@ This allows the application designer the flexibility to tailor
RTEMS to most efficiently meet system requirements while still
satisfying even the most stringent memory constraints. As
result, the size of the RTEMS executive is application
-dependent. A Memory Requirements worksheet is provided in the
-Applications Supplement document for a specific target
-processor. This worksheet can be used to calculate the memory
-requirements of a custom RTEMS run-time environment. To insure
-that enough memory is allocated for future versions of RTEMS,
-the application designer should round these memory requirements
-up. The following Classic API managers may be optionally excluded:
+dependent.
+
+It is not necessary for RTEMS Application Developers to calculate
+the amount of memory required for the RTEMS Workspace. This
+is done automatically by @code{<rtems/confdefs.h>}.
+See @ref{Configuring a System Sizing the RTEMS RAM Workspace} for
+more details on how
+this works. In the event, you are interested in the memory required
+for an instance of a particular RTEMS object, please run the test
+@code{spsize} on your target board.
+
+RTEMS is built to be a library and any routines that you do not
+directly or indirectly require in your application will @b{NOT}
+be included in your executable image. However, some managers
+may be explicitly excluded and no attempt to create these instances
+of these objects will succeed even if they are configured.
+The following Classic API managers may be optionally excluded:
@itemize @bullet
@item signal
@@ -1827,7 +1837,10 @@ RTEMS is implemented in such a way that there is a single
entry point per source file. This avoids having the
linker being forced to pull large object files in their
entirety into an application when the application references
-a single symbol.
+a single symbol. In the event you discover an RTEMS method
+that is included in your executable but never entered, please
+let us know. It might be an opportunity to break a dependency
+and shrink many RTEMS applications.
RTEMS based applications must somehow provide memory
for RTEMS' code and data space. Although RTEMS' data space must
@@ -1879,13 +1892,14 @@ the workspace area will result in the
directive being invoked with the
@code{@value{RPREFIX}INVALID_ADDRESS} error code.
-A worksheet is provided in the @b{Memory Requirements}
-chapter of the Applications Supplement document for a specific
-target processor to assist the user in calculating the minimum
-size of the RTEMS RAM Workspace for each application. The value
-calculated with this worksheet is the minimum value that should
-be specified as the @code{work_space_size} parameter of the
-Configuration Table.
+The file @code{<rtems/confdefs.h>} will calculate the
+value that is specified as the @code{work_space_size}
+parameter of the Configuration Table. There are many
+parameters the application developer can specify to
+help @code{<rtems/confdefs.h>} in its calculations. Correctly
+specifying the application requirements via parameters
+such as @code{CONFIGURE_EXTRA_TASK_STACKS} and
+@code{CONFIGURE_MAXIMUM_TASKS} is critical.
The allocation of objects can operate in two modes. The default mode
has an object number ceiling. No more than the specified number of
@@ -1914,10 +1928,10 @@ The user is cautioned that future versions of RTEMS may not have the
same memory requirements per object. Although the value calculated is
suficient for a particular target processor and release of RTEMS,
memory usage is subject to change across versions and target
-processors. The user is advised to allocate somewhat more memory than
-the worksheet recommends to insure compatibility with future releases
-for a specific target processor and other target processors. To avoid
-problems, the user should recalculate the memory requirements each
+processors. To avoid problems, the user should accurately
+specify each configuration parameter and allow
+@code{<rtems/confdefs.h>} to calculate the memory requirements.
+The memory requirements are likely to change each
time one of the following events occurs:
@itemize @bullet