source: rtems-docs/c-user/config/classic-init-task.rst @ a9e6a1d

5
Last change on this file since a9e6a1d was a9e6a1d, checked in by Sebastian Huber <sebastian.huber@…>, on 03/09/20 at 07:47:12

c-user: Move "Classic API Initialization Task Configuration"

Update #3836.

  • Property mode set to 100644
File size: 5.5 KB
Line 
1.. SPDX-License-Identifier: CC-BY-SA-4.0
2
3.. Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
4
5Classic API Initialization Task Configuration
6=============================================
7
8The ``<rtems/confdefs.h>`` configuration system can automatically generate an
9Initialization Tasks Table named ``Initialization_tasks`` with a single entry.
10The following parameters control the generation of that table.
11
12.. index:: CONFIGURE_INIT_TASK_ARGUMENTS
13
14.. _CONFIGURE_INIT_TASK_ARGUMENTS:
15
16CONFIGURE_INIT_TASK_ARGUMENTS
17-----------------------------
18
19CONSTANT:
20    ``CONFIGURE_INIT_TASK_ARGUMENTS``
21
22DATA TYPE:
23    RTEMS Task Argument (``rtems_task_argument``).
24
25RANGE:
26    Complete range of the type.
27
28DEFAULT VALUE:
29    The default value is 0.
30
31DESCRIPTION:
32    ``CONFIGURE_INIT_TASK_ARGUMENTS`` is the task argument of the single
33    initialization task defined by the Classic API Initialization Tasks Table.
34
35NOTES:
36    None.
37
38.. index:: CONFIGURE_INIT_TASK_ATTRIBUTES
39
40.. _CONFIGURE_INIT_TASK_ATTRIBUTES:
41
42CONFIGURE_INIT_TASK_ATTRIBUTES
43------------------------------
44
45CONSTANT:
46    ``CONFIGURE_INIT_TASK_ATTRIBUTES``
47
48DATA TYPE:
49    RTEMS Attributes (``rtems_attribute``).
50
51RANGE:
52    Valid task attribute sets.
53
54DEFAULT VALUE:
55    The default value is ``RTEMS_DEFAULT_ATTRIBUTES``.
56
57DESCRIPTION:
58    ``CONFIGURE_INIT_TASK_ATTRIBUTES`` is the task attributes of the single
59    initialization task defined by the Classic API Initialization Tasks Table.
60
61NOTES:
62    None.
63
64.. index:: CONFIGURE_INIT_TASK_ENTRY_POINT
65
66.. _CONFIGURE_INIT_TASK_ENTRY_POINT:
67
68CONFIGURE_INIT_TASK_ENTRY_POINT
69-------------------------------
70
71CONSTANT:
72    ``CONFIGURE_INIT_TASK_ENTRY_POINT``
73
74DATA TYPE:
75    Task entry function pointer (``rtems_task_entry``).
76
77RANGE:
78    Valid task entry function pointer.
79
80DEFAULT VALUE:
81    The default value is ``Init``.
82
83DESCRIPTION:
84    ``CONFIGURE_INIT_TASK_ENTRY_POINT`` is the entry point (a.k.a. function
85    name) of the single initialization task defined by the Classic API
86    Initialization Tasks Table.
87
88NOTES:
89    The user must implement the function ``Init`` or the function name provided
90    in this configuration parameter.
91
92.. index:: CONFIGURE_INIT_TASK_INITIAL_MODES
93
94.. _CONFIGURE_INIT_TASK_INITIAL_MODES:
95
96CONFIGURE_INIT_TASK_INITIAL_MODES
97---------------------------------
98
99CONSTANT:
100    ``CONFIGURE_INIT_TASK_INITIAL_MODES``
101
102DATA TYPE:
103    RTEMS Mode (``rtems_mode``).
104
105RANGE:
106    Valid task mode sets.
107
108DEFAULT VALUE:
109    The default value is ``RTEMS_NO_PREEMPT``.
110
111DESCRIPTION:
112    ``CONFIGURE_INIT_TASK_INITIAL_MODES`` is the initial execution mode of the
113    single initialization task defined by the Classic API Initialization Tasks
114    Table.
115
116NOTES:
117    None.
118
119.. index:: CONFIGURE_INIT_TASK_NAME
120
121.. _CONFIGURE_INIT_TASK_NAME:
122
123CONFIGURE_INIT_TASK_NAME
124------------------------
125
126CONSTANT:
127    ``CONFIGURE_INIT_TASK_NAME``
128
129DATA TYPE:
130    RTEMS Name (``rtems_name``).
131
132RANGE:
133    Any value.
134
135DEFAULT VALUE:
136    The default value is ``rtems_build_name( 'U', 'I', '1', ' ' )``.
137
138DESCRIPTION:
139    ``CONFIGURE_INIT_TASK_NAME`` is the name of the single initialization task
140    defined by the Classic API Initialization Tasks Table.
141
142NOTES:
143    None.
144
145.. index:: CONFIGURE_INIT_TASK_PRIORITY
146
147.. _CONFIGURE_INIT_TASK_PRIORITY:
148
149CONFIGURE_INIT_TASK_PRIORITY
150----------------------------
151
152CONSTANT:
153    ``CONFIGURE_INIT_TASK_PRIORITY``
154
155DATA TYPE:
156    RTEMS Task Priority (``rtems_task_priority``).
157
158RANGE:
159    One (1) to the maximum user priority value of the scheduler.
160
161DEFAULT VALUE:
162    The default value is 1, which is the highest priority in the Classic API.
163
164DESCRIPTION:
165    ``CONFIGURE_INIT_TASK_PRIORITY`` is the initial priority of the single
166    initialization task defined by the Classic API Initialization Tasks Table.
167
168NOTES:
169    None.
170
171.. index:: CONFIGURE_INIT_TASK_STACK_SIZE
172
173.. _CONFIGURE_INIT_TASK_STACK_SIZE:
174
175CONFIGURE_INIT_TASK_STACK_SIZE
176------------------------------
177
178CONSTANT:
179    ``CONFIGURE_INIT_TASK_STACK_SIZE``
180
181DATA TYPE:
182    Unsigned integer (``size_t``).
183
184RANGE:
185    Zero or positive.
186
187DEFAULT VALUE:
188    The default value is RTEMS_MINIMUM_STACK_SIZE.
189
190DESCRIPTION:
191    ``CONFIGURE_INIT_TASK_STACK_SIZE`` is the stack size of the single
192    initialization task defined by the Classic API Initialization Tasks Table.
193
194NOTES:
195    If the stack size specified is greater than the configured minimum, it must
196    be accounted for in ``CONFIGURE_EXTRA_TASK_STACKS``.  See :ref:`Reserve
197    Task/Thread Stack Memory Above Minimum` for more information about
198    ``CONFIGURE_EXTRA_TASK_STACKS``.
199
200.. index:: CONFIGURE_RTEMS_INIT_TASKS_TABLE
201
202.. _CONFIGURE_RTEMS_INIT_TASKS_TABLE:
203
204CONFIGURE_RTEMS_INIT_TASKS_TABLE
205--------------------------------
206
207CONSTANT:
208    ``CONFIGURE_RTEMS_INIT_TASKS_TABLE``
209
210DATA TYPE:
211    Boolean feature macro.
212
213RANGE:
214    Defined or undefined.
215
216DEFAULT VALUE:
217    This is not defined by default.
218
219DESCRIPTION:
220    ``CONFIGURE_RTEMS_INIT_TASKS_TABLE`` is defined if the user wishes to use a
221    Classic RTEMS API Initialization Task Table. The table built by
222    ``<rtems/confdefs.h>`` specifies the parameters for a single task. This is
223    sufficient for applications which initialization the system from a single
224    task.
225
226    By default, this field is not defined as the user MUST select their own API
227    for initialization tasks.
228
229NOTES:
230    The application may choose to use the initialization tasks or threads table
231    from another API.
232
233    A compile time error will be generated if the user does not configure any
234    initialization tasks or threads.
Note: See TracBrowser for help on using the repository browser.