From dfe0ec05b9c06e7dc915788e24c74582f51791f9 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 18 Mar 2020 16:50:00 +0100 Subject: c-user: Use new template for feature config opts Try to bring all descriptions up to date. Add cross-references to several options. Close #3900. --- c-user/config/idle-task.rst | 44 ++++++++++++++++++++++++++++---------------- 1 file changed, 28 insertions(+), 16 deletions(-) (limited to 'c-user/config/idle-task.rst') diff --git a/c-user/config/idle-task.rst b/c-user/config/idle-task.rst index a39aaa1..7af8b2f 100644 --- a/c-user/config/idle-task.rst +++ b/c-user/config/idle-task.rst @@ -44,29 +44,41 @@ CONFIGURE_IDLE_TASK_INITIALIZES_APPLICATION CONSTANT: ``CONFIGURE_IDLE_TASK_INITIALIZES_APPLICATION`` -DATA TYPE: - Boolean feature macro. +OPTION TYPE: + This configuration option is a boolean feature define. -RANGE: - Defined or undefined. - -DEFAULT VALUE: - This is not defined by default, the user is assumed to provide one or more - initialization tasks. +DEFAULT CONFIGURATION: + If this configuration option is undefined, then the user is assumed to + provide one or more initialization tasks. DESCRIPTION: - ``CONFIGURE_IDLE_TASK_INITIALIZES_APPLICATION`` is set to indicate that the - user has configured *NO* user initialization tasks or threads and that the - user provided IDLE task will perform application initialization and then - transform itself into an IDLE task. + This configuration option is defined to indicate that the user has configured + **no** user initialization tasks or threads and that the user provided idle + task will perform application initialization and then transform itself into + an idle task. NOTES: - If you use this option be careful, the user IDLE task *CANNOT* block at all + If you use this option be careful, the user idle task **cannot** block at all during the initialization sequence. Further, once application - initialization is complete, it must make itself preemptible and enter an - IDLE body loop. + initialization is complete, it must make itself preemptible and enter an idle + body loop. + + The idle task must run at the lowest priority of all tasks in the system. + + If this configuration option is defined, then it is mandatory to configure a + user idle task with the :ref:`CONFIGURE_IDLE_TASK_BODY` configuration option, + otherwise a compile time error in the configuration file will occur. + + The application must define exactly one of the following configuration + options + + * :ref:`CONFIGURE_RTEMS_INIT_TASKS_TABLE`, + + * :ref:`CONFIGURE_POSIX_INIT_THREAD_TABLE`, or + + * :ref:`CONFIGURE_IDLE_TASK_INITIALIZES_APPLICATION` - The IDLE task must run at the lowest priority of all tasks in the system. + otherwise a compile time error in the configuration file will occur. .. index:: CONFIGURE_IDLE_TASK_STACK_SIZE -- cgit v1.2.3