[rtems commit] doc: Extend documentation for unlimited objects
Sebastian Huber
sebh at rtems.org
Wed Apr 30 06:22:55 UTC 2014
Module: rtems
Branch: master
Commit: 0832ca7dc3def9aa0207c1d2952b3b53189c842b
Changeset: http://git.rtems.org/rtems/commit/?id=0832ca7dc3def9aa0207c1d2952b3b53189c842b
Author: Ralf Kirchner <ralf.kirchner at embedded-brains.de>
Date: Tue Apr 29 16:57:37 2014 +0200
doc: Extend documentation for unlimited objects
Mark POSIX Keys and POSIX Key Value Pairs as supported.
Add list of unsupported object classes.
Add hint to unified work areas.
Add example.
---
doc/user/conf.t | 41 +++++++++++++++++++++++++++++++++++++----
1 files changed, 37 insertions(+), 4 deletions(-)
diff --git a/doc/user/conf.t b/doc/user/conf.t
index f0aa022..4709022 100644
--- a/doc/user/conf.t
+++ b/doc/user/conf.t
@@ -355,6 +355,14 @@ software is unknown. In these situations users do not need to control
the size of the workspace very tightly because they just want to get
the new software to run; later they can tune the workspace size as needed.
+The following API-independent object classes can be configured in
+unlimited mode:
+
+ at itemize @bullet
+ at item POSIX Keys
+ at item POSIX Key Value Pairs
+ at end itemize
+
The following object classes in the Classic API can be configured in
unlimited mode:
@@ -377,7 +385,6 @@ configured in unlimited mode:
@item Threads
@item Mutexes
@item Condition Variables
- at item Keys
@item Timers
@item Message Queues
@item Message Queue Descriptors
@@ -387,9 +394,35 @@ configured in unlimited mode:
@item Spinlocks
@end itemize
-Due to how the POSIX object memory requirements are configured the
-unlimited object support does not provide unlimited size declarations
-for POSIX keys or queued signals.
+The following object classes can @strong{not} be configured in unlimited mode:
+ at itemize @bullet
+ at item Drivers
+ at item File Descriptors
+ at item User Extensions
+ at item POSIX Queued Signals
+ at end itemize
+
+Due to the memory requirements of unlimited objects it is strongly recommended
+to use them only in combination with the unified work areas. See
+ at ref{Configuring a System Separate or Unified Work Areas} for more information
+on unified work areas.
+
+The following example demonstrates how the two simple configuration defines for
+unlimited objects and unified works areas can replace many seperate
+configuration defines for supported object classes:
+ at example
+#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
+#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
+
+#define CONFIGURE_UNIFIED_WORK_AREAS
+#define CONFIGURE_UNLIMITED_OBJECTS
+
+#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
+
+#define CONFIGURE_INIT
+
+#include <rtems/confdefs.h>
+ at end example
Users are cautioned that using unlimited objects is not recommended for
production software unless the dynamic growth is absolutely required. It
More information about the vc
mailing list