summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRalf Kirchner <ralf.kirchner@embedded-brains.de>2014-04-29 16:57:37 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2014-04-30 08:29:55 +0200
commit0832ca7dc3def9aa0207c1d2952b3b53189c842b (patch)
treedad40a96883d88faee9688d7a1d191dc391ec618
parentscore: Statically initialize _ISR_Vector_table (diff)
downloadrtems-0832ca7dc3def9aa0207c1d2952b3b53189c842b.tar.bz2
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.
-rw-r--r--doc/user/conf.t41
1 files changed, 37 insertions, 4 deletions
diff --git a/doc/user/conf.t b/doc/user/conf.t
index f0aa02243a..4709022a8d 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:
+
+@itemize @bullet
+@item POSIX Keys
+@item POSIX Key Value Pairs
+@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
-@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:
+@itemize @bullet
+@item Drivers
+@item File Descriptors
+@item User Extensions
+@item POSIX Queued Signals
+@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
+@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:
+@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>
+@end example
Users are cautioned that using unlimited objects is not recommended for
production software unless the dynamic growth is absolutely required. It