1 | .. SPDX-License-Identifier: CC-BY-SA-4.0 |
---|
2 | |
---|
3 | .. Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) |
---|
4 | |
---|
5 | Classic API Initialization Task Configuration |
---|
6 | ============================================= |
---|
7 | |
---|
8 | The ``<rtems/confdefs.h>`` configuration system can automatically generate an |
---|
9 | Initialization Tasks Table named ``Initialization_tasks`` with a single entry. |
---|
10 | The following parameters control the generation of that table. |
---|
11 | |
---|
12 | .. index:: CONFIGURE_INIT_TASK_ARGUMENTS |
---|
13 | |
---|
14 | .. _CONFIGURE_INIT_TASK_ARGUMENTS: |
---|
15 | |
---|
16 | CONFIGURE_INIT_TASK_ARGUMENTS |
---|
17 | ----------------------------- |
---|
18 | |
---|
19 | CONSTANT: |
---|
20 | ``CONFIGURE_INIT_TASK_ARGUMENTS`` |
---|
21 | |
---|
22 | DATA TYPE: |
---|
23 | RTEMS Task Argument (``rtems_task_argument``). |
---|
24 | |
---|
25 | RANGE: |
---|
26 | Complete range of the type. |
---|
27 | |
---|
28 | DEFAULT VALUE: |
---|
29 | The default value is 0. |
---|
30 | |
---|
31 | DESCRIPTION: |
---|
32 | ``CONFIGURE_INIT_TASK_ARGUMENTS`` is the task argument of the single |
---|
33 | initialization task defined by the Classic API Initialization Tasks Table. |
---|
34 | |
---|
35 | NOTES: |
---|
36 | None. |
---|
37 | |
---|
38 | .. index:: CONFIGURE_INIT_TASK_ATTRIBUTES |
---|
39 | |
---|
40 | .. _CONFIGURE_INIT_TASK_ATTRIBUTES: |
---|
41 | |
---|
42 | CONFIGURE_INIT_TASK_ATTRIBUTES |
---|
43 | ------------------------------ |
---|
44 | |
---|
45 | CONSTANT: |
---|
46 | ``CONFIGURE_INIT_TASK_ATTRIBUTES`` |
---|
47 | |
---|
48 | DATA TYPE: |
---|
49 | RTEMS Attributes (``rtems_attribute``). |
---|
50 | |
---|
51 | RANGE: |
---|
52 | Valid task attribute sets. |
---|
53 | |
---|
54 | DEFAULT VALUE: |
---|
55 | The default value is ``RTEMS_DEFAULT_ATTRIBUTES``. |
---|
56 | |
---|
57 | DESCRIPTION: |
---|
58 | ``CONFIGURE_INIT_TASK_ATTRIBUTES`` is the task attributes of the single |
---|
59 | initialization task defined by the Classic API Initialization Tasks Table. |
---|
60 | |
---|
61 | NOTES: |
---|
62 | None. |
---|
63 | |
---|
64 | .. index:: CONFIGURE_INIT_TASK_ENTRY_POINT |
---|
65 | |
---|
66 | .. _CONFIGURE_INIT_TASK_ENTRY_POINT: |
---|
67 | |
---|
68 | CONFIGURE_INIT_TASK_ENTRY_POINT |
---|
69 | ------------------------------- |
---|
70 | |
---|
71 | CONSTANT: |
---|
72 | ``CONFIGURE_INIT_TASK_ENTRY_POINT`` |
---|
73 | |
---|
74 | DATA TYPE: |
---|
75 | Task entry function pointer (``rtems_task_entry``). |
---|
76 | |
---|
77 | RANGE: |
---|
78 | Valid task entry function pointer. |
---|
79 | |
---|
80 | DEFAULT VALUE: |
---|
81 | The default value is ``Init``. |
---|
82 | |
---|
83 | DESCRIPTION: |
---|
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 | |
---|
88 | NOTES: |
---|
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 | |
---|
96 | CONFIGURE_INIT_TASK_INITIAL_MODES |
---|
97 | --------------------------------- |
---|
98 | |
---|
99 | CONSTANT: |
---|
100 | ``CONFIGURE_INIT_TASK_INITIAL_MODES`` |
---|
101 | |
---|
102 | DATA TYPE: |
---|
103 | RTEMS Mode (``rtems_mode``). |
---|
104 | |
---|
105 | RANGE: |
---|
106 | Valid task mode sets. |
---|
107 | |
---|
108 | DEFAULT VALUE: |
---|
109 | The default value is ``RTEMS_NO_PREEMPT``. |
---|
110 | |
---|
111 | DESCRIPTION: |
---|
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 | |
---|
116 | NOTES: |
---|
117 | None. |
---|
118 | |
---|
119 | .. index:: CONFIGURE_INIT_TASK_NAME |
---|
120 | |
---|
121 | .. _CONFIGURE_INIT_TASK_NAME: |
---|
122 | |
---|
123 | CONFIGURE_INIT_TASK_NAME |
---|
124 | ------------------------ |
---|
125 | |
---|
126 | CONSTANT: |
---|
127 | ``CONFIGURE_INIT_TASK_NAME`` |
---|
128 | |
---|
129 | DATA TYPE: |
---|
130 | RTEMS Name (``rtems_name``). |
---|
131 | |
---|
132 | RANGE: |
---|
133 | Any value. |
---|
134 | |
---|
135 | DEFAULT VALUE: |
---|
136 | The default value is ``rtems_build_name( 'U', 'I', '1', ' ' )``. |
---|
137 | |
---|
138 | DESCRIPTION: |
---|
139 | ``CONFIGURE_INIT_TASK_NAME`` is the name of the single initialization task |
---|
140 | defined by the Classic API Initialization Tasks Table. |
---|
141 | |
---|
142 | NOTES: |
---|
143 | None. |
---|
144 | |
---|
145 | .. index:: CONFIGURE_INIT_TASK_PRIORITY |
---|
146 | |
---|
147 | .. _CONFIGURE_INIT_TASK_PRIORITY: |
---|
148 | |
---|
149 | CONFIGURE_INIT_TASK_PRIORITY |
---|
150 | ---------------------------- |
---|
151 | |
---|
152 | CONSTANT: |
---|
153 | ``CONFIGURE_INIT_TASK_PRIORITY`` |
---|
154 | |
---|
155 | DATA TYPE: |
---|
156 | RTEMS Task Priority (``rtems_task_priority``). |
---|
157 | |
---|
158 | RANGE: |
---|
159 | One (1) to the maximum user priority value of the scheduler. |
---|
160 | |
---|
161 | DEFAULT VALUE: |
---|
162 | The default value is 1, which is the highest priority in the Classic API. |
---|
163 | |
---|
164 | DESCRIPTION: |
---|
165 | ``CONFIGURE_INIT_TASK_PRIORITY`` is the initial priority of the single |
---|
166 | initialization task defined by the Classic API Initialization Tasks Table. |
---|
167 | |
---|
168 | NOTES: |
---|
169 | None. |
---|
170 | |
---|
171 | .. index:: CONFIGURE_INIT_TASK_STACK_SIZE |
---|
172 | |
---|
173 | .. _CONFIGURE_INIT_TASK_STACK_SIZE: |
---|
174 | |
---|
175 | CONFIGURE_INIT_TASK_STACK_SIZE |
---|
176 | ------------------------------ |
---|
177 | |
---|
178 | CONSTANT: |
---|
179 | ``CONFIGURE_INIT_TASK_STACK_SIZE`` |
---|
180 | |
---|
181 | DATA TYPE: |
---|
182 | Unsigned integer (``size_t``). |
---|
183 | |
---|
184 | RANGE: |
---|
185 | Zero or positive. |
---|
186 | |
---|
187 | DEFAULT VALUE: |
---|
188 | The default value is RTEMS_MINIMUM_STACK_SIZE. |
---|
189 | |
---|
190 | DESCRIPTION: |
---|
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 | |
---|
194 | NOTES: |
---|
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 | |
---|
204 | CONFIGURE_RTEMS_INIT_TASKS_TABLE |
---|
205 | -------------------------------- |
---|
206 | |
---|
207 | CONSTANT: |
---|
208 | ``CONFIGURE_RTEMS_INIT_TASKS_TABLE`` |
---|
209 | |
---|
210 | DATA TYPE: |
---|
211 | Boolean feature macro. |
---|
212 | |
---|
213 | RANGE: |
---|
214 | Defined or undefined. |
---|
215 | |
---|
216 | DEFAULT VALUE: |
---|
217 | This is not defined by default. |
---|
218 | |
---|
219 | DESCRIPTION: |
---|
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 | |
---|
229 | NOTES: |
---|
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. |
---|