source: atk1_sh2/trunk/tools/sh2-gnu/cq7144a_cfg/sample1_ecc2.oil@ 5

Last change on this file since 5 was 5, checked in by msugi, 14 years ago

新世代カーネル対応コンフィギュレータと必要なファイル追加.

File size: 4.8 KB
Line 
1/*
2 * サンプルプログラム(1)のOILファイル.
3 */
4
5/*
6 * 定義部のインクルード
7 */
8#include "impl_os_ecc2.oil"
9
10/*
11 * 実装部
12 */
13CPU current {
14
15 /*
16 * OS定義
17 */
18 OS os {
19 STATUS = EXTENDED;
20 STARTUPHOOK = TRUE;
21 ERRORHOOK = TRUE;
22 SHUTDOWNHOOK = TRUE;
23 PRETASKHOOK = FALSE;
24 POSTTASKHOOK = FALSE;
25 USEGETSERVICEID = TRUE;
26 USEPARAMETERACCESS = TRUE;
27 USERESSCHEDULER = TRUE;
28 };
29
30 /*
31 * アプリケーションモード定義
32 */
33 APPMODE AppMode1 {}; /* 並列実行タスク自動起動なし */
34 APPMODE AppMode2 {}; /* タスク1自動起動モード */
35 APPMODE AppMode3 {}; /* タスク3自動起動モード */
36
37 /*
38 * タスク定義
39 */
40 /* メインタスク */
41 TASK MainTask {
42 AUTOSTART = TRUE {
43 APPMODE = AppMode1;
44 APPMODE = AppMode2;
45 APPMODE = AppMode3;
46 };
47 PRIORITY = 14;
48 STACKSIZE = 0x0400;
49 ACTIVATION = 1;
50 SCHEDULE = NON;
51 EVENT = MainEvt;
52 EVENT = TestEvt;
53 };
54
55 /* 最高優先度タスク */
56 TASK HighPriorityTask {
57 AUTOSTART = FALSE;
58 PRIORITY = 15;
59 STACKSIZE = 0x00C0;
60 ACTIVATION = 1;
61 SCHEDULE = FULL;
62 };
63
64 /* ノンプリエンプティブタスク */
65 TASK NonPriTask {
66 AUTOSTART = FALSE;
67 PRIORITY = 1;
68 STACKSIZE = 0x0100;
69 ACTIVATION = 8;
70 SCHEDULE = NON;
71 };
72
73 /* 並列実行タスク1 */
74 TASK Task1 {
75 AUTOSTART = TRUE {
76 APPMODE = AppMode2;
77 };
78 PRIORITY = 4;
79 STACKSIZE = 0x0100;
80 ACTIVATION = 8;
81 SCHEDULE = FULL;
82 RESOURCE = TskLevelRes;
83 RESOURCE = IntLevelRes;
84 };
85
86 /* 並列実行タスク2 */
87 TASK Task2 {
88 AUTOSTART = FALSE;
89 PRIORITY = 7;
90 STACKSIZE = 0x0100;
91 ACTIVATION = 1;
92 SCHEDULE = FULL;
93 RESOURCE = TskLevelRes;
94 RESOURCE = IntLevelRes;
95 EVENT = T2Evt;
96 };
97
98 /* 並列実行タスク3 */
99 TASK Task3 {
100 AUTOSTART = TRUE {
101 APPMODE = AppMode3;
102 };
103 PRIORITY = 12;
104 STACKSIZE = 0x0100;
105 ACTIVATION = 1;
106 SCHEDULE = FULL;
107 RESOURCE = IntLevelRes;
108 EVENT = T3Evt;
109 };
110
111 /* 並列実行タスク4 */
112 TASK Task4 {
113 AUTOSTART = FALSE;
114 PRIORITY = 6;
115 STACKSIZE = 0x0100;
116 ACTIVATION = 5;
117 SCHEDULE = FULL;
118 RESOURCE = GroupRes;
119 RESOURCE = TskLevelRes;
120 RESOURCE = IntLevelRes;
121 };
122
123 /* 並列実行タスク5 */
124 TASK Task5 {
125 AUTOSTART = FALSE;
126 PRIORITY = 9;
127 STACKSIZE = 0x0100;
128 ACTIVATION = 5;
129 SCHEDULE = FULL;
130 RESOURCE = GroupRes;
131 RESOURCE = TskLevelRes;
132 RESOURCE = IntLevelRes;
133 };
134
135 /*
136 * 割込みサービスルーチン定義
137 */
138 /* シリアルIOエラー割込み(SCI1) */
139 ISR ErrHwSerialInt {
140 CATEGORY = 1;
141 ENTRY = 132;
142 PRIORITY = 6;
143 };
144
145 /* シリアルIO受信割込み(SCI1) */
146 ISR RxHwSerialInt {
147 CATEGORY = 1;
148 ENTRY = 133;
149 PRIORITY = 6;
150 };
151
152 /* HWカウンタ割込み1 */
153 ISR HwCnt1Int {
154 CATEGORY = 1;
155 ENTRY = 96;
156 PRIORITY = 5;
157 };
158
159 /* システムタイマ割込み */
160 ISR SysTimerInt {
161 CATEGORY = 2;
162 ENTRY = 144;
163 PRIORITY = 4;
164 };
165
166 /* サンプルカウンタソース割込み */
167 ISR CounterInt {
168 CATEGORY = 2;
169 ENTRY = 148;
170 PRIORITY = 3;
171 };
172
173 /* HWカウンタ割込み2 */
174 ISR HwCnt2Int {
175 CATEGORY = 2;
176 ENTRY = 105;
177 PRIORITY = 2;
178 RESOURCE = IntLevelRes;
179 };
180
181 /*
182 * リソース定義
183 */
184 /* タスク・タスク間リソース */
185 RESOURCE TskLevelRes {
186 RESOURCEPROPERTY = STANDARD;
187 };
188
189 /* タスク・割込み間リソース */
190 RESOURCE IntLevelRes {
191 RESOURCEPROPERTY = STANDARD;
192 };
193
194 /* グループタスク用内部リソース */
195 RESOURCE GroupRes {
196 RESOURCEPROPERTY = INTERNAL;
197 };
198
199 /*
200 * イベント定義
201 */
202 /* メインタスク周期イベント */
203 EVENT MainEvt {
204 MASK = AUTO;
205 };
206
207 /* 並列実行タスク2用イベント */
208 EVENT T2Evt {
209 MASK = AUTO;
210 };
211
212 /* 並列実行タスク3用イベント */
213 EVENT T3Evt {
214 MASK = AUTO;
215 };
216
217 /* 並列実行タスク3用イベント */
218 EVENT TestEvt {
219 MASK = AUTO;
220 };
221
222 /*
223 * カウンタ定義
224 */
225 /* システムタイマカウンタ */
226 COUNTER SysTimerCnt {
227 MINCYCLE = 1;
228 MAXALLOWEDVALUE = 999;
229 TICKSPERBASE = 1;
230 };
231
232 /* サンプルカウンタ */
233 COUNTER SampleCnt {
234 MINCYCLE = 10;
235 MAXALLOWEDVALUE = 99;
236 TICKSPERBASE = 10;
237 };
238
239 /*
240 * アラーム定義
241 */
242 /* メインタスク周期アラーム */
243 ALARM MainCycArm {
244 COUNTER = SysTimerCnt;
245 ACTION = SETEVENT {
246 TASK = MainTask;
247 EVENT = MainEvt;
248 };
249 AUTOSTART = TRUE {
250 APPMODE = AppMode1;
251 APPMODE = AppMode2;
252 APPMODE = AppMode3;
253 ALARMTIME = 100;
254 CYCLETIME = 100;
255 };
256 };
257
258 /* タスク起動用アラーム */
259 ALARM ActTskArm {
260 COUNTER = SysTimerCnt;
261 ACTION = ACTIVATETASK {
262 TASK = Task1;
263 };
264 AUTOSTART = FALSE;
265 };
266
267 /* イベント設定用アラーム */
268 ALARM SetEvtArm {
269 COUNTER = SysTimerCnt;
270 ACTION = SETEVENT {
271 TASK = Task3;
272 EVENT = T3Evt;
273 };
274 AUTOSTART = FALSE;
275 };
276
277 /* コールバック実行用アラーム */
278 ALARM CallBackArm {
279 COUNTER = SysTimerCnt;
280 ACTION = ALARMCALLBACK {
281 ALARMCALLBACKNAME = "SysTimerAlmCb";
282 };
283 AUTOSTART = FALSE;
284 };
285
286 /* サンプルカウンタ動作確認用アラーム */
287 ALARM SampleArm {
288 COUNTER = SampleCnt;
289 ACTION = ALARMCALLBACK {
290 ALARMCALLBACKNAME = "SampleAlmCb";
291 };
292 AUTOSTART = TRUE {
293 APPMODE = AppMode1;
294 APPMODE = AppMode2;
295 APPMODE = AppMode3;
296 ALARMTIME = 10;
297 CYCLETIME = 10;
298 };
299 };
300
301};
302
Note: See TracBrowser for help on using the repository browser.