[PATCH] doc: Extend documentation for unlimited objects

Ralf Kirchner ralf.kirchner at embedded-brains.de
Tue Apr 29 14:57:37 UTC 2014


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 |   40 ++++++++++++++++++++++++++++++++++++----
 1 Datei geändert, 36 Zeilen hinzugefügt(+), 4 Zeilen entfernt(-)

diff --git a/doc/user/conf.t b/doc/user/conf.t
index f0aa022..ef40480 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,34 @@ 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 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_RTEMS_INIT_TASKS_TABLE
+
+#define CONFIGURE_UNIFIED_WORK_AREAS
+#define CONFIGURE_UNLIMITED_OBJECTS
+
+#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
-- 
1.7.10.4




More information about the devel mailing list