summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2000-05-28 18:21:16 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2000-05-28 18:21:16 +0000
commit81ecc05b4cf2c4cbb5b75aec4dca831c4cd231d5 (patch)
tree136ce28ae5078342dfe92a53d3631043b9fa79ce
parentThese files were added or deleted on the 4.5 branch as part of (diff)
downloadrtems-81ecc05b4cf2c4cbb5b75aec4dca831c4cd231d5.tar.bz2
Updated to reflect lower confdefs.h values and new control
over number of termios ports.
-rw-r--r--doc/user/conf.t82
-rw-r--r--doc/user/example.texi2
2 files changed, 73 insertions, 11 deletions
diff --git a/doc/user/conf.t b/doc/user/conf.t
index d79be6a943..f014a93744 100644
--- a/doc/user/conf.t
+++ b/doc/user/conf.t
@@ -62,6 +62,7 @@ a message queue and a time slice of 50 milliseconds is configured:
#define CONFIGURE_MICROSECONDS_PER_TICK 1000 /* 1 millisecond */
#define CONFIGURE_TICKS_PER_TIMESLICE 50 /* 50 milliseconds */
+#define CONFIGURE_MAXIMUM_TASKS 4
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
@end group
@end example
@@ -81,6 +82,46 @@ application that includes @code{confdefs.h} or the symbol
table will be instantiated multiple times and linking errors
produced.
+The user should be aware that the defaults are intentionally
+set as low as possible. By default, no application resources
+are configured. The @code{confdefs.h} file ensures that
+at least one application tasks or thread is configured
+and that at least one of the initialization task/thread
+tables is configured.
+
+The @code{confdefs.h} file estimates the amount of
+memory required for the RTEMS Executive Workspace. This
+estimate is only as accurate as the information given
+to @code{confdefs.h} and may be either too high or too
+low for a variety of reasons. Some of the reasons that
+@code{confdefs.h} may reserve too much memory for RTEMS
+are:
+
+@itemize @bullet
+@item All tasks/threads are assumed to be floating point.
+@end itemize
+
+Conversely, there are many more reasons, the resource
+estimate could be too low:
+
+@itemize @bullet
+@item Task/thread stacks greater than minimum size must be
+accounted for explicitly by developer.
+
+@item Memory for messages is not included.
+
+@item Device driver requirements are not included.
+
+
+@item Network stack requirements are not included.
+
+@item Requirements for add-on libraries are not included.
+@end itemize
+
+In general, @code{confdefs.h} is very accurate when given
+enough information. However, it is quite easy to use
+a library and not account for its resources.
+
The following subsection list all of the constants which can be
set by the user.
@@ -95,7 +136,22 @@ related configuration parameters supported by
@item @code{CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS} is set to the
maximum number of files that can be concurrently open. Libio requires
a Classic RTEMS semaphore for each file descriptor as well as one
-global one. The default value is 20 file descriptors.
+global one. The default value is 3 file descriptors which is
+enough to support standard input, output, and error output.
+
+@findex CONFIGURE_TERMIOS_DISABLED
+@item @code{CONFIGURE_TERMIOS_DISABLED} is defined if the
+software implementing POSIX termios functionality is
+not going to be used by this application. By default, this
+is not defined and resources are reserved for the
+termios functionality.
+
+@findex CONFIGURE_NUMBER_OF_TERMIOS_PORTS
+@item @code{CONFIGURE_NUMBER_OF_TERMIOS_PORTS} is set to the
+number of ports using the termios functionality. Each
+concurrently active termios port requires resources.
+By default, this is set to 1 so a console port can be
+used.
@findex CONFIGURE_HAS_OWN_MOUNT_TABLE
@item @code{CONFIGURE_HAS_OWN_MOUNT_TABLE} is defined when the
@@ -106,15 +162,16 @@ entries pointed to by the global variable
entries in this table is in an integer variable named
@code{rtems_filesystem_mount_table_t}.
-@findex CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM
-@item @code{CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM} is defined
-if the application wishes to use a minimal functionality subset
-of the In-Memory FileSystem (IMFS). The miniIMFS is comparable
+@findex CONFIGURE_USE_IMFS_AS_BASE_FILESYSTEM
+@item @code{CONFIGURE_USE_IMFS_AS_BASE_FILESYSTEM} is defined
+if the application wishes to use the full functionality
+IMFS. By default, the miniIMFS is used. The miniIMFS
+is a minimal functionality subset of the In-Memory
+FileSystem (IMFS). The miniIMFS is comparable
in functionality to the pseudo-filesystem name space provided
before RTEMS release 4.5.0. The miniIMFS supports
only directories and device nodes and is smaller in executable
-code size than the full IMFS. By default, this is not
-defined and the full functionality IMFS is used.
+code size than the full IMFS.
@findex STACK_CHECKER_ON
@item @code{STACK_CHECKER_ON} is defined when the application
@@ -141,7 +198,10 @@ tables.
size of the interrupt stack. The interrupt stack size is
usually set by the BSP but since this memory is allocated
from the RTEMS Ram Workspace, it must be accounted for. The
-default for this field is RTEMS_MINIMUM_STACK_SIZE.
+default for this field is RTEMS_MINIMUM_STACK_SIZE. [NOTE:
+At this time, changing this constant does NOT change the
+size of the interrupt stack, only the amount of memory
+reserved for it.]
@findex CONFIGURE_EXECUTIVE_RAM_WORK_AREA
@item @code{CONFIGURE_EXECUTIVE_RAM_WORK_AREA} is the base
@@ -287,7 +347,7 @@ system configuration parameters supported by @code{confdefs.h}.
@findex CONFIGURE_MAXIMUM_TASKS
@item @code{CONFIGURE_MAXIMUM_TASKS} is the maximum number of
Classic API tasks that can be concurrently active.
-The default for this field is 10.
+The default for this field is 0.
@findex CONFIGURE_MAXIMUM_TIMERS
@item @code{CONFIGURE_MAXIMUM_TIMERS} is the maximum number of
@@ -415,7 +475,7 @@ is enabled at configure time using the @code{--enable-posix} option.
@findex CONFIGURE_MAXIMUM_POSIX_THREADS
@item @code{CONFIGURE_MAXIMUM_POSIX_THREADS} is the maximum number of
POSIX API threads that can be concurrently active.
-The default is 10.
+The default is 0.
@findex CONFIGURE_MAXIMUM_POSIX_MUTEXES
@item @code{CONFIGURE_MAXIMUM_POSIX_MUTEXES} is the maximum number of
@@ -503,7 +563,7 @@ is enabled at configure time using the @code{--enable-itron} option.
@item @code{CONFIGURE_MAXIMUM_ITRON_TASKS}
is the maximum number of
ITRON API tasks that can be concurrently active.
-The default is 10.
+The default is 0.
@findex CONFIGURE_MAXIMUM_ITRON_SEMAPHORES
@item @code{CONFIGURE_MAXIMUM_ITRON_SEMAPHORES}
diff --git a/doc/user/example.texi b/doc/user/example.texi
index 72ad71f740..3371bdf3b5 100644
--- a/doc/user/example.texi
+++ b/doc/user/example.texi
@@ -74,6 +74,8 @@ rtems_task user_application(rtems_task_argument argument)
#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER /* for stdio */
#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER /* for time services */
+#define CONFIGURE_MAXIMUM_TASKS 2
+
#define CONFIGURE_INIT_TASK_NAME rtems_build_name( 'E', 'X', 'A', 'M' )
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE