summaryrefslogtreecommitdiffstats
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
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 '')
-rw-r--r--doc/ChangeLog6
-rw-r--r--doc/user/bsp.t4
-rw-r--r--doc/user/conf.t58
-rw-r--r--doc/user/init.t6
-rw-r--r--doc/user/intr.t6
-rw-r--r--doc/user/overview.t43
-rw-r--r--doc/user/timer.t4
7 files changed, 67 insertions, 60 deletions
diff --git a/doc/ChangeLog b/doc/ChangeLog
index 22d0789795..9691bf3f8a 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,9 @@
+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.
+
2008-03-29 Chris Johns <chrisj@rtems.org>
* networking/testing.t: Cleaned up the patch from Ian.
diff --git a/doc/user/bsp.t b/doc/user/bsp.t
index e0b0434d12..01c0075d79 100644
--- a/doc/user/bsp.t
+++ b/doc/user/bsp.t
@@ -1,5 +1,5 @@
@c
-@c COPYRIGHT (c) 1988-2002.
+@c COPYRIGHT (c) 1988-2008.
@c On-Line Applications Research Corporation (OAR).
@c All rights reserved.
@c
@@ -63,7 +63,7 @@ by the reset application initialization code. Because
interrupts are enabled automatically by RTEMS as part of the
@code{@value{DIRPREFIX}initialize_executive} directive,
the Interrupt Vector Table MUST
-be set before this directive is invoked to insure correct
+be set before this directive is invoked to ensure correct
interrupt vectoring. The processor's Interrupt Vector Table
must be accessible by RTEMS as it will be modified by the
@code{@value{DIRPREFIX}interrupt_catch} directive.
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
diff --git a/doc/user/init.t b/doc/user/init.t
index 375cc6ea0f..3dc368f9d1 100644
--- a/doc/user/init.t
+++ b/doc/user/init.t
@@ -1,5 +1,5 @@
@c
-@c COPYRIGHT (c) 1988-2007.
+@c COPYRIGHT (c) 1988-2008.
@c On-Line Applications Research Corporation (OAR).
@c All rights reserved.
@c
@@ -37,7 +37,7 @@ they are defined in the User Initialization Tasks Table and
automatically created and started by RTEMS as part of its
initialization sequence. Since the initialization tasks are
scheduled using the same algorithm as all other RTEMS tasks,
-they must be configured at a priority and mode which will insure
+they must be configured at a priority and mode which will ensure
that they will complete execution before other application tasks
execute. Although there is no upper limit on the number of
initialization tasks, an application is required to define at
@@ -57,7 +57,7 @@ initialization tasks.
The System Initialization Task is responsible for
initializing all device drivers. As a result, this task has a
-higher priority than all other tasks to insure that no
+higher priority than all other tasks to ensure that no
application tasks executes until all device drivers are
initialized. After device initialization in a single processor
system, this task will delete itself.
diff --git a/doc/user/intr.t b/doc/user/intr.t
index f3e19e8d72..a8917e11ad 100644
--- a/doc/user/intr.t
+++ b/doc/user/intr.t
@@ -1,5 +1,5 @@
@c
-@c COPYRIGHT (c) 1988-2007.
+@c COPYRIGHT (c) 1988-2008.
@c On-Line Applications Research Corporation (OAR).
@c All rights reserved.
@c
@@ -139,7 +139,7 @@ sections of code may be executed. When these sections are
encountered, RTEMS disables all maskable interrupts before the
execution of the section and restores them to the previous level
upon completion of the section. RTEMS has been optimized to
-insure that interrupts are disabled for a minimum length of
+ensure that interrupts are disabled for a minimum length of
time. The maximum length of time interrupts are disabled by
RTEMS is processor dependent and is detailed in the Timing
Specification chapter of the Applications Supplement document
@@ -167,7 +167,7 @@ contents of the specified vector in the RTEMS' Vector Table.
@subsection Directives Allowed from an ISR
-Using the interrupt manager insures that RTEMS knows
+Using the interrupt manager ensures that RTEMS knows
when a directive is being called from an ISR. The ISR may then
use system calls to synchronize itself with an application task.
The synchronization may involve messages, events or signals
diff --git a/doc/user/overview.t b/doc/user/overview.t
index 817d0dc552..d5e0a05506 100644
--- a/doc/user/overview.t
+++ b/doc/user/overview.t
@@ -1,5 +1,5 @@
@c
-@c COPYRIGHT (c) 1988-2002.
+@c COPYRIGHT (c) 1988-2008.
@c On-Line Applications Research Corporation (OAR).
@c All rights reserved.
@c
@@ -329,33 +329,20 @@ microprocessor architecture.
@section Memory Requirements
Since memory is a critical resource in many real-time
-embedded systems, RTEMS was specifically designed to allow
-unused managers to be excluded from the run-time environment.
-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 a
-result, the size of the RTEMS executive is application
-dependent. A worksheet is provided in the Memory Requirements
-chapter of the Applications Supplement document for a specific
-target processor. The worksheet is used to calculate the memory
-requirements of a custom RTEMS run-time environment. The
-following managers may be optionally excluded:
-
-@itemize @bullet
-@item clock
-@item timer
-@item semaphore
-@item message
-@item event
-@item signal
-@item partition
-@item region
-@item dual ported memory
-@item I/O
-@item rate monotonic
-@item fatal error
-@item multiprocessing
-@end itemize
+embedded systems, RTEMS was specifically designed to automatically
+leave out all services that are not required from the run-time
+environment. Features such as networking, various fileystems,
+and many other features are completely optionsl. 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 a result, the size
+of the RTEMS executive is application dependent.
+
+RTEMS requires RAM to manage each instance of an RTEMS object
+that is created. Thus the more RTEMS objects an application
+needs, the more memory that must be reserved. See
+@ref{Configuring a System Determining Memory Requirements} for
+more details.
RTEMS utilizes memory for both code and data space.
Although RTEMS' data space must be in RAM, its code space can be
diff --git a/doc/user/timer.t b/doc/user/timer.t
index 17a6ab4cf7..3b929a6e40 100644
--- a/doc/user/timer.t
+++ b/doc/user/timer.t
@@ -1,5 +1,5 @@
@c
-@c COPYRIGHT (c) 1988-2007.
+@c COPYRIGHT (c) 1988-2008.
@c On-Line Applications Research Corporation (OAR).
@c All rights reserved.
@c
@@ -49,7 +49,7 @@ would be performed by the application code which invoked the
The timer can be used to implement watchdog routines
which only fire to denote that an application error has
occurred. The timer is reset at specific points in the
-application to insure that the watchdog does not fire. Thus, if
+application to ensure that the watchdog does not fire. Thus, if
the application does not reset the watchdog timer, then the
timer service routine will fire to indicate that the application
has failed to reach a reset point. This use of a timer is