summaryrefslogtreecommitdiffstats
path: root/c-user/config/idle-task.rst
blob: a39aaa16a904f524f73d8290dd31b86cfeef14f4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
.. SPDX-License-Identifier: CC-BY-SA-4.0

.. Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)

Idle Task Configuration
=======================

This section describes configuration options related to the idle tasks.

.. index:: CONFIGURE_IDLE_TASK_BODY

.. _CONFIGURE_IDLE_TASK_BODY:

CONFIGURE_IDLE_TASK_BODY
------------------------

CONSTANT:
    ``CONFIGURE_IDLE_TASK_BODY``

DATA TYPE:
    Function pointer.

RANGE:
    Undefined or valid function pointer.

DEFAULT VALUE:
    This is not defined by default.

DESCRIPTION:
    ``CONFIGURE_IDLE_TASK_BODY`` is set to the function name corresponding to
    the application specific IDLE thread body.  If not specified, the BSP or
    RTEMS default IDLE thread body will be used.

NOTES:
    None.

.. index:: CONFIGURE_IDLE_TASK_INITIALIZES_APPLICATION

.. _CONFIGURE_IDLE_TASK_INITIALIZES_APPLICATION:

CONFIGURE_IDLE_TASK_INITIALIZES_APPLICATION
-------------------------------------------

CONSTANT:
    ``CONFIGURE_IDLE_TASK_INITIALIZES_APPLICATION``

DATA TYPE:
    Boolean feature macro.

RANGE:
    Defined or undefined.

DEFAULT VALUE:
    This is not defined by default, 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.

NOTES:
    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.

    The IDLE task must run at the lowest priority of all tasks in the system.

.. index:: CONFIGURE_IDLE_TASK_STACK_SIZE

.. _CONFIGURE_IDLE_TASK_STACK_SIZE:

CONFIGURE_IDLE_TASK_STACK_SIZE
------------------------------

CONSTANT:
    ``CONFIGURE_IDLE_TASK_STACK_SIZE``

DATA TYPE:
    Unsigned integer (``size_t``).

RANGE:
    Undefined or positive.

DEFAULT VALUE:
    The default value is RTEMS_MINIMUM_STACK_SIZE.

DESCRIPTION:
    ``CONFIGURE_IDLE_TASK_STACK_SIZE`` is set to the desired stack size for the
    IDLE task.

NOTES:
    None.