]> rtime.felk.cvut.cz Git - arc.git/blob - system/kernel/testsystem/suite_01/Os_Cfg.c
9ae174192be325411cec7ecacfe7c852fb7e7250
[arc.git] / system / kernel / testsystem / suite_01 / 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 May 04 16:38:43 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_SCHEDULER,\r
109                 RESOURCE_TYPE_STANDARD,\r
110                 0\r
111         ),\r
112         GEN_RESOURCE(\r
113                 RES_ID_int_1,\r
114                 RESOURCE_TYPE_INTERNAL,\r
115                 0\r
116         ),\r
117         GEN_RESOURCE(\r
118                 RES_ID_std_prio_3,\r
119                 RESOURCE_TYPE_STANDARD,\r
120                 0\r
121         ),\r
122         GEN_RESOURCE(\r
123                 RES_ID_std_prio_4,\r
124                 RESOURCE_TYPE_STANDARD,\r
125                 0\r
126         ),\r
127         GEN_RESOURCE(\r
128                 RES_ID_std_prio_5,\r
129                 RESOURCE_TYPE_STANDARD,\r
130                 0\r
131         ),\r
132 };\r
133 \r
134 // ##############################    STACKS (TASKS)     ############################\r
135 DECLARE_STACK(OsIdle,OS_OSIDLE_STACK_SIZE);\r
136 DECLARE_STACK(btask_sup_h,2048);\r
137 DECLARE_STACK(btask_sup_l,2048);\r
138 DECLARE_STACK(btask_sup_m,2048);\r
139 DECLARE_STACK(etask_master,2048);\r
140 DECLARE_STACK(etask_sup_h,2048);\r
141 DECLARE_STACK(etask_sup_l,2048);\r
142 DECLARE_STACK(etask_sup_m,2048);\r
143 \r
144 // ##################################    TASKS     #################################\r
145 GEN_TASK_HEAD {\r
146         GEN_ETASK(      OsIdle,\r
147                                 0,\r
148                                 FULL,\r
149                                 TRUE,\r
150                                 NULL,\r
151                                 0 \r
152         ),\r
153         GEN_BTASK(\r
154                 btask_sup_h,\r
155                 6,\r
156                 FULL,\r
157                 FALSE,\r
158                 NULL,\r
159                 RES_MASK_std_prio_3 | RES_MASK_std_prio_4 | RES_MASK_std_prio_5 | 0,\r
160                 1\r
161         ),\r
162                                 \r
163         GEN_BTASK(\r
164                 btask_sup_l,\r
165                 2,\r
166                 FULL,\r
167                 FALSE,\r
168                 NULL,\r
169                 RES_MASK_std_prio_3 | RES_MASK_std_prio_4 | RES_MASK_std_prio_5 | 0,\r
170                 1\r
171         ),\r
172                                 \r
173         GEN_BTASK(\r
174                 btask_sup_m,\r
175                 4,\r
176                 FULL,\r
177                 FALSE,\r
178                 NULL,\r
179                 RES_MASK_std_prio_3 | RES_MASK_std_prio_4 | RES_MASK_std_prio_5 | 0,\r
180                 1\r
181         ),\r
182                                 \r
183         GEN_ETASK(\r
184                 etask_master,\r
185                 1,\r
186                 FULL,\r
187                 TRUE,\r
188                 NULL,\r
189                 0\r
190         ),\r
191                 \r
192                                 \r
193         GEN_ETASK(\r
194                 etask_sup_h,\r
195                 6,\r
196                 FULL,\r
197                 FALSE,\r
198                 NULL,\r
199                 RES_MASK_std_prio_3 | RES_MASK_std_prio_4 | RES_MASK_std_prio_5 | 0\r
200         ),\r
201                 \r
202                                 \r
203         GEN_ETASK(\r
204                 etask_sup_l,\r
205                 2,\r
206                 FULL,\r
207                 FALSE,\r
208                 NULL,\r
209                 RES_MASK_std_prio_3 | RES_MASK_std_prio_4 | RES_MASK_std_prio_5 | 0\r
210         ),\r
211                 \r
212                                 \r
213         GEN_ETASK(\r
214                 etask_sup_m,\r
215                 4,\r
216                 FULL,\r
217                 FALSE,\r
218                 NULL,\r
219                 RES_MASK_std_prio_3 | RES_MASK_std_prio_4 | RES_MASK_std_prio_5 | 0\r
220         ),\r
221                 \r
222                                 \r
223 };\r
224 \r
225 // ##################################    HOOKS     #################################\r
226 GEN_HOOKS( \r
227         StartupHook, \r
228         NULL, \r
229         ShutdownHook, \r
230         ErrorHook,\r
231         PreTaskHook, \r
232         PostTaskHook \r
233 );\r
234 \r
235 // ##################################    ISRS     ##################################\r
236 \r
237 \r
238 // ############################    SCHEDULE TABLES     #############################\r
239 \r
240 // Table data 0\r
241 \r
242 GEN_SCHTBL_TASK_LIST_HEAD( 0, 5 ) { \r
243         \r
244         TASK_ID_etask_sup_m,\r
245         \r
246 };\r
247 \r
248 \r
249 \r
250 \r
251 GEN_SCHTBL_EVENT_LIST_HEAD( 0, 7 ) {\r
252         \r
253         { \r
254                 EVENT_MASK_NOTIF, \r
255                 TASK_ID_etask_sup_m \r
256         },\r
257         \r
258 };\r
259 \r
260 \r
261 GEN_SCHTBL_TASK_LIST_HEAD( 0, 11 ) { \r
262         \r
263         TASK_ID_etask_sup_m,\r
264         \r
265 };\r
266 \r
267 GEN_SCHTBL_EVENT_LIST_HEAD( 0, 11 ) {\r
268         \r
269         { \r
270                 EVENT_MASK_NOTIF, \r
271                 TASK_ID_etask_sup_m \r
272         },\r
273         \r
274 };\r
275 \r
276 \r
277 GEN_SCHTBL_EXPIRY_POINT_HEAD( 0 ) {\r
278         GEN_SCHTBL_EXPIRY_POINT_W_TASK(0, 5),
279         GEN_SCHTBL_EXPIRY_POINT_W_EVENT(0, 7),
280         GEN_SCHTBL_EXPIRY_POINT_W_TASK_EVENT(0, 11),
281         \r
282 };\r
283 \r
284 GEN_SCHTBL_AUTOSTART(\r
285         0,\r
286         SCHTBL_AUTOSTART_ABSOLUTE,\r
287         1, \r
288         OSDEFAULTAPPMODE\r
289 );\r
290 \r
291 // Table data 1\r
292 \r
293 GEN_SCHTBL_TASK_LIST_HEAD( 1, 2 ) { \r
294         \r
295         TASK_ID_etask_sup_m,\r
296         \r
297 };\r
298 \r
299 \r
300 \r
301 GEN_SCHTBL_EXPIRY_POINT_HEAD( 1 ) {\r
302         GEN_SCHTBL_EXPIRY_POINT_W_TASK(1, 2),
303         \r
304 };\r
305 \r
306 \r
307 // Table heads\r
308 GEN_SCHTBL_HEAD {\r
309         GEN_SCHEDULETABLE(\r
310                 0,\r
311                 "0",\r
312             COUNTER_ID_soft_1,\r
313             SINGLE_SHOT,\r
314                 15,\r
315                 GEN_SCHTBL_AUTOSTART_NAME(0)\r
316         ),\r
317         GEN_SCHEDULETABLE(\r
318                 1,\r
319                 "1",\r
320             COUNTER_ID_soft_1,\r
321             SINGLE_SHOT,\r
322                 5,\r
323                 NULL\r
324         ),\r
325 };\r
326 \r
327 GEN_PCB_LIST()\r
328 \r
329 uint8_t os_interrupt_stack[OS_INTERRUPT_STACK_SIZE] __attribute__ ((aligned (0x10)));\r
330 \r
331 GEN_IRQ_VECTOR_TABLE_HEAD {};\r
332 GEN_IRQ_ISR_TYPE_TABLE_HEAD {};\r
333 GEN_IRQ_PRIORITY_TABLE_HEAD {};\r
334 \r
335 #include "os_config_funcs.h"\r