summaryrefslogtreecommitdiffstats
path: root/doc/user/conf.t
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 /doc/user/conf.t
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.
Diffstat (limited to 'doc/user/conf.t')
-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