summaryrefslogtreecommitdiffstats
path: root/cpukit/doxygen
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2020-04-09 12:12:13 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2020-09-17 17:42:25 +0200
commit6942e5f99171d1cb38c2c573aba8cb9212d7efd8 (patch)
treef49a2afc076013602f4d437784391415cb6ed6a6 /cpukit/doxygen
parentCONFIGURE_MAXIMUM_THREAD_LOCAL_STORAGE_SIZE (diff)
downloadrtems-6942e5f99171d1cb38c2c573aba8cb9212d7efd8.tar.bz2
rtems: Add rtems_task_construct()
In contrast to rtems_task_create() this function constructs a task with a user-provided task storage area. The new directive uses a configuration structure instead of individual parameters. Add RTEMS_TASK_STORAGE_SIZE() to calculate the recommended size of a task storage area based on the task attributes and the size dedicated to the task stack and thread-local storage. This macro may allow future extensions without breaking the API. Add application configuration option CONFIGURE_MINIMUM_TASKS_WITH_USER_PROVIDED_STORAGE to adjust RTEMS Workspace size estimate. Update #3959.
Diffstat (limited to 'cpukit/doxygen')
-rw-r--r--cpukit/doxygen/appl-config.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/cpukit/doxygen/appl-config.h b/cpukit/doxygen/appl-config.h
index 47a8e2d39e..0386f83315 100644
--- a/cpukit/doxygen/appl-config.h
+++ b/cpukit/doxygen/appl-config.h
@@ -901,6 +901,28 @@
*/
#define CONFIGURE_MAXIMUM_USER_EXTENSIONS
+/**
+ * @brief This configuration option is an integer define.
+ *
+ * The value of this configuration option defines the minimum count of Classic
+ * API Tasks which are constructed by rtems_task_construct().
+ *
+ * @par Default Value
+ * The default value is 0.
+ *
+ * @par Value Constraints
+ * The value of this configuration option shall be greater than or equal to 0
+ * and less than or equal to #CONFIGURE_MAXIMUM_TASKS.
+ *
+ * @par Notes
+ * By default, the calculation for the required memory in the RTEMS Workspace
+ * for tasks assumes that all Classic API Tasks are created by
+ * rtems_task_create(). This configuration option can be used to reduce the
+ * required memory for the system-provided task storage areas since tasks
+ * constructed by rtems_task_construct() use a user-provided task storage area.
+ */
+#define CONFIGURE_MINIMUM_TASKS_WITH_USER_PROVIDED_STORAGE
+
/** @} */
/**