diff options
author | Ralf Kirchner <ralf.kirchner@embedded-brains.de> | 2014-04-29 16:57:37 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-04-30 08:29:55 +0200 |
commit | 0832ca7dc3def9aa0207c1d2952b3b53189c842b (patch) | |
tree | dad40a96883d88faee9688d7a1d191dc391ec618 | |
parent | score: Statically initialize _ISR_Vector_table (diff) | |
download | rtems-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.t | 41 |
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 |