]> rtime.felk.cvut.cz Git - arc.git/blob - examples/pwm_node/config/Os_Cfg.c
Initial commit.
[arc.git] / examples / pwm_node / config / Os_Cfg.c
1 /* -------------------------------- Arctic Core ------------------------------
2  * Arctic Core - the open source AUTOSAR platform http://arccore.com
3  *
4  * Copyright (C) 2009  ArcCore AB <contact@arccore.com>
5  *
6  * This source code is free software; you can redistribute it and/or modify it
7  * under the terms of the GNU General Public License version 2 as published by the
8  * Free Software Foundation; See <http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt>.
9  *
10  * This program is distributed in the hope that it will be useful, but
11  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
12  * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
13  * for more details.
14  * -------------------------------- Arctic Core ------------------------------*/
15
16
17
18
19
20
21
22
23 \r
24 #include "os_config_macros.h"\r
25 #include "kernel.h"\r
26 #include "Os_Cfg.h"\r
27 #include "Mcu.h"\r
28 #include "kernel_offset.h"\r
29 //#include "Hooks.h"\r
30 \r
31 extern void dec_exception( void );\r
32 \r
33 GEN_APPLICATION_HEAD {\r
34         GEN_APPLICATON(BLINKER_APP_ID,"PwmApp",true,NULL,NULL,NULL , 0,0,0,0,0,0 )\r
35 };\r
36 \r
37 GEN_RESOURCE_HEAD {\r
38         GEN_RESOURCE(RES_SCHEDULER,RESOURCE_TYPE_STANDARD,0,0,0),               // Standard resource..\r
39 };\r
40 \r
41 //--- TASKS ----\r
42 DECLARE_STACK(OsIdle,PRIO_STACK_SIZE);\r
43 DECLARE_STACK(bTask25,PRIO_STACK_SIZE);\r
44 DECLARE_STACK(bTask100,PRIO_STACK_SIZE);\r
45 DECLARE_STACK(Startup,PRIO_STACK_SIZE);\r
46 \r
47 GEN_TASK_HEAD {\r
48         GEN_ETASK(      OsIdle,\r
49                                 TASK_ID_OsIdle,\r
50                                 true/*auto*/,\r
51                                 NULL/*tm*/,\r
52                                 BLINKER_APP_ID/*app*/,\r
53                                 NULL/*rsrc*/),\r
54 \r
55         GEN_BTASK(      bTask25,\r
56                                 TASK_ID_bTask25,\r
57                                 false/*auto*/,\r
58                                 NULL/*tm*/,\r
59                                 BLINKER_APP_ID/*app*/,\r
60                                 NULL/*rsrc*/),\r
61 \r
62         GEN_BTASK(      bTask100,\r
63                                 TASK_ID_bTask100,\r
64                                 false/*auto*/,\r
65                                 NULL/*tm*/,\r
66                                 BLINKER_APP_ID/*app*/,\r
67                                 NULL/*rsrc*/),\r
68 \r
69         GEN_BTASK(      Startup,\r
70                                 TASK_ID_Startup,\r
71                                 true/*auto*/,\r
72                                 NULL/*tm*/,\r
73                                 BLINKER_APP_ID/*app*/,\r
74                                 NULL/*rsrc*/),\r
75 };\r
76 \r
77 GEN_PCB_LIST()\r
78 \r
79 \r
80 // --- INTERRUPTS ---\r
81 uint8_t os_interrupt_stack[OS_INTERRUPT_STACK_SIZE] __attribute__ ((aligned (0x10)));\r
82 \r
83 // The vector table\r
84 void * intc_vector_tbl[NUMBER_OF_INTERRUPTS_AND_EXCEPTIONS] __attribute__ ((aligned (0x0800),section(".data")))= {\r
85 };\r
86 \r
87 // The type of vector\r
88 uint8 intc_type_tbl[NUMBER_OF_INTERRUPTS_AND_EXCEPTIONS] = {\r
89 };\r
90 \r
91 \r
92 // --- COUNTERS ---\r
93 GEN_COUNTER_HEAD {\r
94         GEN_COUNTER(    OS_TICK_COUNTER,\r
95                                         "OS_TICK_COUNTER",\r
96                                         COUNTER_TYPE_HARD,\r
97                                         COUNTER_UNIT_NANO,\r
98                                         0xffff,1,1,0 ),\r
99 };\r
100 \r
101 // --- ALARMS ---\r
102 GEN_ALARM_HEAD {\r
103         {\r
104                 .expire_val     = 25,\r
105                 .active         = FALSE,\r
106                 .counter = &counter_list[OS_TICK_COUNTER],\r
107                 .counter_id = OS_TICK_COUNTER,\r
108                 .action =\r
109                 {\r
110                                 .type = ALARM_ACTION_ACTIVATETASK,\r
111                                 .task_id = TASK_ID_bTask25,\r
112                                 .event_id = 0,\r
113                 }\r
114         },\r
115         {\r
116                 .expire_val     = 100,\r
117                 .active         = FALSE,\r
118                 .counter = &counter_list[OS_TICK_COUNTER],\r
119                 .counter_id = OS_TICK_COUNTER,\r
120                 .action =\r
121                 {\r
122                                 .type = ALARM_ACTION_ACTIVATETASK,\r
123                                 .task_id = TASK_ID_bTask100,\r
124                                 .event_id = 0,\r
125                 }\r
126         },\r
127 };\r
128 \r
129 // --- HOOKS ---\r
130 GEN_HOOKS( StartupHook, ProtectionHook, ShutdownHook, ErrorHook, PreTaskHook, PostTaskHook )\r
131 \r
132 // --- MISC ---\r
133 uint32 os_dbg_mask = 0;\r
134 \r
135 //      D_MASTER_PRINT |\\r
136 //      D_ISR_MASTER_PRINT |\\r
137 //      D_STDOUT |\\r
138 //      D_ISR_STDOUT |\r
139 //      D_ALARM | D_TASK;\r
140 \r
141 \r
142 #include "os_config_funcs.h"\r
143 \r
144 \r