]> rtime.felk.cvut.cz Git - arc.git/blob - system/kernel/testsystem/config/Os_Cfg.c
Updated testsystem. Added test suites. Added Autostart tests. Autotester with T32.
[arc.git] / system / kernel / testsystem / config / Os_Cfg.c
1 /* 
2 * Configuration of module Os (Os_Cfg.c)
3
4 * Created by: 
5 * Configured for (MCU): MPC551x
6
7 * Module editor vendor:  ArcCore
8 * Module editor version: 2.0.7
9
10
11 * Generated by Arctic Studio (http://arccore.com)
12 *           on Tue Jun 08 08:30:59 CEST 2010
13 */
14
15         \r
16 \r
17 #include <stdlib.h>\r
18 #include <stdint.h>\r
19 #include "Platform_Types.h"\r
20 #include "Os.h"                         // includes Os_Cfg.h\r
21 #include "os_config_macros.h"\r
22 #include "kernel.h"\r
23 #include "kernel_offset.h"\r
24 #include "alist_i.h"\r
25 #include "Mcu.h"\r
26 \r
27 extern void dec_exception( void );\r
28 \r
29 // Set the os tick frequency\r
30 OsTickType OsTickFreq = 1000;\r
31 \r
32 \r
33 // ###############################    DEBUG OUTPUT     #############################\r
34 uint32 os_dbg_mask = D_RESOURCE |D_SCHTBL |D_EVENT |D_TASK |D_ALARM;\r
35  \r
36 \r
37 \r
38 // #################################    COUNTERS     ###############################\r
39 GEN_COUNTER_HEAD {\r
40         GEN_COUNTER(    COUNTER_ID_OsTick,\r
41                                         "OsTick",\r
42                                         COUNTER_TYPE_HARD,\r
43                                         COUNTER_UNIT_NANO,\r
44                                         0xffff,\r
45                                         1,\r
46                                         1,\r
47                                         0),\r
48         GEN_COUNTER(    COUNTER_ID_soft_1,\r
49                                         "soft_1",\r
50                                         COUNTER_TYPE_SOFT,\r
51                                         COUNTER_UNIT_NANO,\r
52                                         65535,\r
53                                         1,\r
54                                         1,\r
55                                         0),\r
56         GEN_COUNTER(    COUNTER_ID_soft_2,\r
57                                         "soft_2",\r
58                                         COUNTER_TYPE_SOFT,\r
59                                         COUNTER_UNIT_NANO,\r
60                                         65535,\r
61                                         1,\r
62                                         1,\r
63                                         0),\r
64 };\r
65 \r
66 CounterType Os_Arc_OsTickCounter = COUNTER_ID_OsTick;\r
67 \r
68 // ##################################    ALARMS     ################################\r
69 \r
70 GEN_ALARM_HEAD {\r
71         GEN_ALARM(      ALARM_ID_c_soft_1_inc_counter_2,\r
72                                 "c_soft_1_inc_cou",\r
73                                 COUNTER_ID_soft_1,\r
74                                 NULL,\r
75                                 ALARM_ACTION_INCREMENTCOUNTER,\r
76                                 NULL,\r
77                                 NULL,\r
78                                 COUNTER_ID_soft_2 ),\r
79         GEN_ALARM(      ALARM_ID_c_soft_1_setevent_etask_m,\r
80                                 "c_soft_1_seteven",\r
81                                 COUNTER_ID_soft_1,\r
82                                 NULL,\r
83                                 ALARM_ACTION_SETEVENT,\r
84                                 TASK_ID_etask_sup_m,\r
85                                 EVENT_MASK_notif,\r
86                                 NULL ),\r
87         GEN_ALARM(      ALARM_ID_c_sys_1_setevent_etask_m,\r
88                                 "c_sys_1_setevent",\r
89                                 COUNTER_ID_OsTick,\r
90                                 NULL,\r
91                                 ALARM_ACTION_SETEVENT,\r
92                                 TASK_ID_etask_sup_m,\r
93                                 EVENT_MASK_notif,\r
94                                 NULL ),\r
95         GEN_ALARM(      ALARM_ID_c_sys_activate_btask_h,\r
96                                 "c_sys_activate_b",\r
97                                 COUNTER_ID_OsTick,\r
98                                 NULL,\r
99                                 ALARM_ACTION_ACTIVATETASK,\r
100                                 TASK_ID_btask_sup_h,\r
101                                 NULL,\r
102                                 NULL ),\r
103 };\r
104 \r
105 // ################################    RESOURCES     ###############################\r
106 GEN_RESOURCE_HEAD {\r
107         GEN_RESOURCE(\r
108                 RES_ID_int_1,\r
109                 RESOURCE_TYPE_INTERNAL,\r
110                 0\r
111         ),\r
112         GEN_RESOURCE(\r
113                 RES_ID_std_prio_3,\r
114                 RESOURCE_TYPE_STANDARD,\r
115                 0\r
116         ),\r
117         GEN_RESOURCE(\r
118                 RES_ID_std_prio_4,\r
119                 RESOURCE_TYPE_STANDARD,\r
120                 0\r
121         ),\r
122         GEN_RESOURCE(\r
123                 RES_ID_std_prio_5,\r
124                 RESOURCE_TYPE_STANDARD,\r
125                 0\r
126         ),\r
127 };\r
128 \r
129 // ##############################    STACKS (TASKS)     ############################\r
130 DECLARE_STACK(OsIdle,OS_OSIDLE_STACK_SIZE);\r
131 DECLARE_STACK(btask_sup_h,2048);\r
132 DECLARE_STACK(btask_sup_l,2048);\r
133 DECLARE_STACK(btask_sup_m,2048);\r
134 DECLARE_STACK(etask_master,2048);\r
135 DECLARE_STACK(etask_sup_h,2048);\r
136 DECLARE_STACK(etask_sup_l,2048);\r
137 DECLARE_STACK(etask_sup_m,2048);\r
138 \r
139 // ##################################    TASKS     #################################\r
140 GEN_TASK_HEAD {\r
141         GEN_ETASK(      OsIdle,\r
142                                 0,\r
143                                 FULL,\r
144                                 TRUE,\r
145                                 NULL,\r
146                                 0 \r
147         ),\r
148         GEN_BTASK(\r
149                 btask_sup_h,\r
150                 6,\r
151                 FULL,\r
152                 FALSE,\r
153                 NULL,\r
154                 RES_MASK_std_prio_3 | RES_MASK_std_prio_4 | RES_MASK_std_prio_5 | 0,\r
155                 1\r
156         ),\r
157                                 \r
158         GEN_BTASK(\r
159                 btask_sup_l,\r
160                 2,\r
161                 FULL,\r
162                 FALSE,\r
163                 NULL,\r
164                 RES_MASK_std_prio_3 | RES_MASK_std_prio_4 | RES_MASK_std_prio_5 | 0,\r
165                 1\r
166         ),\r
167                                 \r
168         GEN_BTASK(\r
169                 btask_sup_m,\r
170                 4,\r
171                 FULL,\r
172                 FALSE,\r
173                 NULL,\r
174                 RES_MASK_std_prio_3 | RES_MASK_std_prio_4 | RES_MASK_std_prio_5 | 0,\r
175                 1\r
176         ),\r
177                                 \r
178         GEN_ETASK(\r
179                 etask_master,\r
180                 1,\r
181                 FULL,\r
182                 TRUE,\r
183                 NULL,\r
184                 0\r
185         ),\r
186                 \r
187                                 \r
188         GEN_ETASK(\r
189                 etask_sup_h,\r
190                 6,\r
191                 FULL,\r
192                 FALSE,\r
193                 NULL,\r
194                 RES_MASK_std_prio_3 | RES_MASK_std_prio_4 | RES_MASK_std_prio_5 | 0\r
195         ),\r
196                 \r
197                                 \r
198         GEN_ETASK(\r
199                 etask_sup_l,\r
200                 2,\r
201                 FULL,\r
202                 FALSE,\r
203                 NULL,\r
204                 RES_MASK_std_prio_3 | RES_MASK_std_prio_4 | RES_MASK_std_prio_5 | 0\r
205         ),\r
206                 \r
207                                 \r
208         GEN_ETASK(\r
209                 etask_sup_m,\r
210                 4,\r
211                 FULL,\r
212                 FALSE,\r
213                 NULL,\r
214                 RES_MASK_std_prio_3 | RES_MASK_std_prio_4 | RES_MASK_std_prio_5 | 0\r
215         ),\r
216                 \r
217                                 \r
218 };\r
219 \r
220 // ##################################    HOOKS     #################################\r
221 GEN_HOOKS( \r
222         StartupHook, \r
223         NULL, \r
224         ShutdownHook, \r
225         ErrorHook,\r
226         PreTaskHook, \r
227         PostTaskHook \r
228 );\r
229 \r
230 // ##################################    ISRS     ##################################\r
231 \r
232 \r
233 // ############################    SCHEDULE TABLES     #############################\r
234 \r
235 // Table data 0\r
236 \r
237 GEN_SCHTBL_TASK_LIST_HEAD( 0, 5 ) { \r
238         \r
239         TASK_ID_etask_sup_m,\r
240         \r
241 };\r
242 \r
243 \r
244 \r
245 \r
246 GEN_SCHTBL_EVENT_LIST_HEAD( 0, 7 ) {\r
247         \r
248         { \r
249                 EVENT_MASK_notif, \r
250                 TASK_ID_etask_sup_m \r
251         },\r
252         \r
253 };\r
254 \r
255 \r
256 GEN_SCHTBL_TASK_LIST_HEAD( 0, 11 ) { \r
257         \r
258         TASK_ID_etask_sup_m,\r
259         \r
260 };\r
261 \r
262 GEN_SCHTBL_EVENT_LIST_HEAD( 0, 11 ) {\r
263         \r
264         { \r
265                 EVENT_MASK_notif, \r
266                 TASK_ID_etask_sup_m \r
267         },\r
268         \r
269 };\r
270 \r
271 \r
272 GEN_SCHTBL_EXPIRY_POINT_HEAD( 0 ) {\r
273         GEN_SCHTBL_EXPIRY_POINT_W_TASK(0, 5),
274         GEN_SCHTBL_EXPIRY_POINT_W_EVENT(0, 7),
275         GEN_SCHTBL_EXPIRY_POINT_W_TASK_EVENT(0, 11),
276         \r
277 };\r
278 \r
279 GEN_SCHTBL_AUTOSTART(\r
280         0,\r
281         SCHTBL_AUTOSTART_ABSOLUTE,\r
282         1, \r
283         OSDEFAULTAPPMODE\r
284 );\r
285 \r
286 // Table data 1\r
287 \r
288 GEN_SCHTBL_TASK_LIST_HEAD( 1, 2 ) { \r
289         \r
290         TASK_ID_etask_sup_m,\r
291         \r
292 };\r
293 \r
294 \r
295 \r
296 GEN_SCHTBL_EXPIRY_POINT_HEAD( 1 ) {\r
297         GEN_SCHTBL_EXPIRY_POINT_W_TASK(1, 2),
298         \r
299 };\r
300 \r
301 \r
302 // Table heads\r
303 GEN_SCHTBL_HEAD {\r
304         GEN_SCHEDULETABLE(\r
305                 0,\r
306                 "0",\r
307             COUNTER_ID_soft_1,\r
308             SINGLE_SHOT,\r
309                 15,\r
310                 GEN_SCHTBL_AUTOSTART_NAME(0)\r
311         ),\r
312         GEN_SCHEDULETABLE(\r
313                 1,\r
314                 "1",\r
315             COUNTER_ID_soft_1,\r
316             SINGLE_SHOT,\r
317                 5,\r
318                 NULL\r
319         ),\r
320 };\r
321 \r
322 GEN_PCB_LIST()\r
323 \r
324 uint8_t os_interrupt_stack[OS_INTERRUPT_STACK_SIZE] __attribute__ ((aligned (0x10)));\r
325 \r
326 GEN_IRQ_VECTOR_TABLE_HEAD {};\r
327 GEN_IRQ_ISR_TYPE_TABLE_HEAD {};\r
328 GEN_IRQ_PRIORITY_TABLE_HEAD {};\r
329 \r
330 #include "os_config_funcs.h"\r