source: asp3_wo_tecs/trunk/test/test_notify1.c@ 302

Last change on this file since 302 was 302, checked in by ertl-honda, 7 years ago

TECSレスのASP3の開発のため以下のtrunkからコピー
http://dev.toppers.jp/svn/asp3/branches/WO_TECS-3.C.0

File size: 16.8 KB
Line 
1/*
2 * TOPPERS Software
3 * Toyohashi Open Platform for Embedded Real-Time Systems
4 *
5 * Copyright (C) 2015 by Embedded and Real-Time Systems Laboratory
6 * Graduate School of Information Science, Nagoya Univ., JAPAN
7 *
8 * 上記著作権者
9は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ
10 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
11 * 変・再é…
12å¸ƒï¼ˆä»¥ä¸‹ï¼Œåˆ©ç”¨ã¨å‘¼ã¶ï¼‰ã™ã‚‹ã“とを無償で許諾する.
13 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
14 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
15 * スコード中に含まれていること.
16 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
17 * 用できる形で再é…
18å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é…
19å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
20 * 者
21マニュアルなど)に,上記の著作権表示,この利用条件および下記
22 * の無保証規定を掲載すること.
23 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
24 * 用できない形で再é…
25å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
26 * と.
27 * (a) 再é…
28å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€…
29マニュアルなど)に,上記の著
30 * 作権表示,この利用条件および下記の無保証規定を掲載すること.
31 * (b) 再é…
32å¸ƒã®å½¢æ…
33‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
34 * 報告すること.
35 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
36 * 害からも,上記著作権者
37およびTOPPERSプロジェクトをå…
38è²¬ã™ã‚‹ã“と.
39 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
40 * 由に基づく請求からも,上記著作権者
41およびTOPPERSプロジェクトを
42 * å…
43è²¬ã™ã‚‹ã“と.
44 *
45 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者
46お
47 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
48 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
49 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
50 * の責任を負わない.
51 *
52 * $Id: test_notify1.c 463 2015-10-18 14:25:55Z ertl-hiro $
53 */
54
55/*
56 * 通知処理のテスト(1)
57 *
58 * 【テストの目的】
59 *
60 * タイムイベントとエラーの通知処理が正しく動作することを,アラーム通
61 * 知機能を用いて確認する.ただし,以下はこのテストの範囲外とする.
62 * ・タイムイベントハンドラの呼出しによる通知(他のテストでカバーされ
63 *  ているため)
64 * ・通知のタイミングの妥当性(他のテストでカバーされているため)
65 * ・付随情
66報のエラーチェック(コンフィギュレータで実施しているため)
67 *
68 * 【テスト項
69目】
70 *
71 * (A) タイムイベントの通知
72 * (A-1) 変数の設定
73 * (A-2) 変数のインクリメント
74 * (A-3) タスクの起動
75 * (A-4) タスクの起床
76 * (A-5) セマフォの資源の返却
77 * (A-6) イベントフラグのセット
78 * (A-7) データキューへの送信
79 * (B) エラーの通知
80 * (B-1) 変数の設定
81 * (B-2) 変数のインクリメント
82 * (B-3) タスクの起動
83 * (B-4) タスクの起床
84 * (B-5) セマフォの資源の返却
85 * (B-6) イベントフラグのセット
86 * (B-7) データキューへの送信
87 *
88 * 【使用リソース】
89 *
90 * TASK1: 中優å…
91ˆåº¦ã‚¿ã‚¹ã‚¯ï¼Œãƒ¡ã‚¤ãƒ³ã‚¿ã‚¹ã‚¯ï¼Œæœ€åˆã‹ã‚‰èµ·å‹•
92 * TASK2: 低優å…
93ˆåº¦ã‚¿ã‚¹ã‚¯
94 * SEM1: セマフォ
95 * FLG1: イベントフラグ
96 * DTQ1: データキュー
97 * ALM1: アラーム通知,変数の設定によるタイムイベントの通知
98 * ALM2: アラーム通知,タスクの起動によるタイムイベントの通知
99 * ALM3: アラーム通知,タスクの起床によるタイムイベントの通知,
100 * 変数の設定によるエラーの通知
101 * ALM4: アラーム通知,セマフォの資源の返却によるタイムイベントの通知,
102 * タスクの起動によるエラーの通知
103 * ALM5: アラーム通知,イベントフラグのセットによるタイムイベントの通知
104 * ※ASP3カーネルでは,イベントフラグのセットでエラー
105 * になることはない
106 * ALM6: アラーム通知,データキューへの送信によるタイムイベントの通知,
107 * タスクの起床によるエラーの通知
108 * ALM7: アラーム通知,タスクの起動によるタイムイベントの通知,
109 * セマフォの資源の返却によるエラーの通知
110 * ALM8: アラーム通知,タスクの起動によるタイムイベントの通知,
111 * イベントフラグのセットによるエラーの通知
112 * ALM9: アラーム通知,タスクの起動によるタイムイベントの通知,
113 * データキューへの送信によるエラーの通知
114 * ALM10: アラーム通知,変数のインクリメントによるタイムイベントの通知
115 * ALM11: アラーム通知,タスクの起動によるタイムイベントの通知,
116 * 変数のインクリメントによるエラーの通知
117 *
118 * 【テストシーケンス】
119 *
120 * == TASK1 ==
121 * 1: sta_alm(ALM1, ALM_RELTIM)
122 * assert(event_variable == false)
123 * ref_alm(ALM1, &ralm)
124 * assert((ralm.almstat & TALM_STA) != 0U)
125 * DO(wait_event()) ... (A-1)
126 * 2: ref_alm(ALM1, &ralm)
127 * assert((ralm.almstat & TALM_STP) != 0U)
128 * 3: sta_alm(ALM2, ALM_RELTIM)
129 * ref_tsk(TASK2, &rtsk)
130 * assert((rtsk.tskstat & TTS_DMT) != 0U)
131 * ref_alm(ALM2, &ralm)
132 * assert((ralm.almstat & TALM_STA) != 0U)
133 * 4: slp_tsk()
134 * == TASK2-1(1回目)==
135 * 5: ref_alm(ALM2, &ralm) ... (A-3)
136 * assert((ralm.almstat & TALM_STP) != 0U)
137 * 6: wup_tsk(TASK1)
138 * == TASK1(続き)==
139 * 7: sta_alm(ALM3, ALM_RELTIM)
140 * ref_tsk(TASK2, &rtsk)
141 * assert((rtsk.tskstat & TTS_RDY) != 0U)
142 * ref_alm(ALM3, &ralm)
143 * assert((ralm.almstat & TALM_STA) != 0U)
144 * 8: slp_tsk()
145 * == TASK2-1(続き)==
146 * 9: slp_tsk() ... (A-4)
147 * 10: ref_alm(ALM3, &ralm)
148 * assert((ralm.almstat & TALM_STP) != 0U)
149 * 11: wup_tsk(TASK1)
150 * == TASK1(続き)==
151 * 12: dly_tsk(1000U)
152 * == TASK2-1(続き)==
153 * 13: ext_tsk()
154 * == TASK1(続き)==
155 * 14: sta_alm(ALM3, ALM_RELTIM)
156 * DO(wait_error()) ... (B-1)
157 * assert(error_variable == E_OBJ)
158 * 15: sta_alm(ALM4, ALM_RELTIM)
159 * ref_sem(SEM1, &rsem)
160 * assert(rsem.semcnt == 0U)
161 * ref_alm(ALM4, &ralm)
162 * assert((ralm.almstat & TALM_STA) != 0U)
163 * 16: dly_tsk(ALM_RELTIM * 2)
164 * 17: ref_sem(SEM1, &rsem) ... (A-5)
165 * assert(rsem.semcnt == 1U)
166 * ref_alm(ALM4, &ralm)
167 * assert((ralm.almstat & TALM_STP) != 0U)
168 * 18: sta_alm(ALM4, ALM_RELTIM)
169 * 19: slp_tsk()
170 * == TASK2-2(2回目)==
171 * 20: wup_tsk(TASK1) ... (B-3)
172 * == TASK1(続き)==
173 * 21: pol_sem(SEM1)
174 * 22: sta_alm(ALM5, ALM_RELTIM)
175 * ref_flg(FLG1, &rflg)
176 * assert(rflg.flgptn == 0x00U)
177 * ref_alm(ALM5, &ralm)
178 * assert((ralm.almstat & TALM_STA) != 0U)
179 * 23: wai_flg(FLG1, 0x01U, TWF_ORW, &flgptn) ... (A-6)
180 * == TASK2-2(続き)==
181 * 24: slp_tsk()
182 * == TASK1(続き)==
183 * 25: assert(flgptn == 0x01U)
184 * ref_alm(ALM5, &ralm)
185 * assert((ralm.almstat & TALM_STP) != 0U)
186 * 26: sta_alm(ALM6, ALM_RELTIM)
187 * ref_dtq(DTQ1, &rdtq)
188 * assert(rdtq.sdtqcnt == 0U)
189 * ref_alm(ALM6, &ralm)
190 * assert((ralm.almstat & TALM_STA) != 0U)
191 * 27: dly_tsk(ALM_RELTIM * 2)
192 * 28: ref_dtq(DTQ1, &rdtq) ... (A-7)
193 * assert(rdtq.sdtqcnt == 1U)
194 * ref_alm(ALM6, &ralm)
195 * assert((ralm.almstat & TALM_STP) != 0U)
196 * 29: sta_alm(ALM6, ALM_RELTIM)
197 * 30: slp_tsk()
198 * == TASK2-2(続き)==
199 * 31: wup_tsk(TASK1) ... (B-4)
200 * == TASK1(続き)==
201 * 32: prcv_dtq(DTQ1, &data)
202 * assert(data == 0x01)
203 * 33: act_tsk(TASK2)
204 * sta_alm(ALM7, ALM_RELTIM)
205 * ref_sem(SEM1, &rsem)
206 * assert(rsem.semcnt == 0U)
207 * ref_alm(ALM7, &ralm)
208 * assert((ralm.almstat & TALM_STA) != 0U)
209 * 34: wai_sem(SEM1) ... (B-5)
210 * == TASK2-2(続き)==
211 * 35: slp_tsk()
212 * == TASK1(続き)==
213 * 36: ref_alm(ALM7, &ralm)
214 * assert((ralm.almstat & TALM_STP) != 0U)
215 * 37: sta_alm(ALM8, ALM_RELTIM)
216 * ref_flg(FLG1, &rflg)
217 * assert(rflg.flgptn == 0x01U)
218 * ref_alm(ALM8, &ralm)
219 * assert((ralm.almstat & TALM_STA) != 0U)
220 * 38: wai_flg(FLG1, 0x02U, TWF_ORW, &flgptn) ... (B-6)
221 * 39: assert(flgptn == 0x03U)
222 * ref_alm(ALM8, &ralm)
223 * assert((ralm.almstat & TALM_STP) != 0U)
224 * 40: sta_alm(ALM9, ALM_RELTIM)
225 * 41: ref_dtq(DTQ1, &rdtq)
226 * assert(rdtq.sdtqcnt == 0U)
227 * ref_alm(ALM9, &ralm)
228 * assert((ralm.almstat & TALM_STA) != 0U)
229 * 42: rcv_dtq(DTQ1, &data) ... (B-7)
230 * 43: assert(data == E_QOVR)
231 * ref_alm(ALM9, &ralm)
232 * assert((ralm.almstat & TALM_STP) != 0U)
233 * 44: sta_alm(ALM10, ALM_RELTIM)
234 * 45: assert(count_variable == 1)
235 * ref_alm(ALM10, &ralm)
236 * assert((ralm.almstat & TALM_STA) != 0U)
237 * DO(wait_count(1)) ... (A-2)
238 * 46: ref_alm(ALM10, &ralm)
239 * assert((ralm.almstat & TALM_STP) != 0U)
240 * 47: sta_alm(ALM11, ALM_RELTIM)
241 * 48: assert(count_variable == 2)
242 * ref_alm(ALM11, &ralm)
243 * assert((ralm.almstat & TALM_STA) != 0U)
244 * DO(wait_count(2)) ... (B-2)
245 * 49: ref_alm(ALM9, &ralm)
246 * assert((ralm.almstat & TALM_STP) != 0U)
247 * 50: END
248 */
249
250#include <kernel.h>
251#include <t_syslog.h>
252#include "syssvc/test_svc.h"
253#include "kernel_cfg.h"
254#include "test_notify1.h"
255
256volatile bool_t event_variable = false;
257volatile int_t count_variable = 1;
258volatile ER error_variable = E_INVALID;
259
260void
261wait_event(void)
262{
263 while (event_variable == false);
264}
265
266void
267wait_count(int_t current)
268{
269 while (count_variable == current);
270}
271
272void
273wait_error(void)
274{
275 while (error_variable == E_INVALID);
276}
277
278/* DO NOT DELETE THIS LINE -- gentest depends on it. */
279
280void
281task1(intptr_t exinf)
282{
283 T_RTSK rtsk;
284 T_RDTQ rdtq;
285 T_RFLG rflg;
286 intptr_t data;
287 FLGPTN flgptn;
288 ER_UINT ercd;
289 T_RALM ralm;
290 T_RSEM rsem;
291
292 test_start(__FILE__);
293
294 check_point(1);
295 ercd = sta_alm(ALM1, ALM_RELTIM);
296 check_ercd(ercd, E_OK);
297
298 check_assert(event_variable == false);
299
300 ercd = ref_alm(ALM1, &ralm);
301 check_ercd(ercd, E_OK);
302
303 check_assert((ralm.almstat & TALM_STA) != 0U);
304
305 wait_event();
306
307 check_point(2);
308 ercd = ref_alm(ALM1, &ralm);
309 check_ercd(ercd, E_OK);
310
311 check_assert((ralm.almstat & TALM_STP) != 0U);
312
313 check_point(3);
314 ercd = sta_alm(ALM2, ALM_RELTIM);
315 check_ercd(ercd, E_OK);
316
317 ercd = ref_tsk(TASK2, &rtsk);
318 check_ercd(ercd, E_OK);
319
320 check_assert((rtsk.tskstat & TTS_DMT) != 0U);
321
322 ercd = ref_alm(ALM2, &ralm);
323 check_ercd(ercd, E_OK);
324
325 check_assert((ralm.almstat & TALM_STA) != 0U);
326
327 check_point(4);
328 ercd = slp_tsk();
329 check_ercd(ercd, E_OK);
330
331 check_point(7);
332 ercd = sta_alm(ALM3, ALM_RELTIM);
333 check_ercd(ercd, E_OK);
334
335 ercd = ref_tsk(TASK2, &rtsk);
336 check_ercd(ercd, E_OK);
337
338 check_assert((rtsk.tskstat & TTS_RDY) != 0U);
339
340 ercd = ref_alm(ALM3, &ralm);
341 check_ercd(ercd, E_OK);
342
343 check_assert((ralm.almstat & TALM_STA) != 0U);
344
345 check_point(8);
346 ercd = slp_tsk();
347 check_ercd(ercd, E_OK);
348
349 check_point(12);
350 ercd = dly_tsk(1000U);
351 check_ercd(ercd, E_OK);
352
353 check_point(14);
354 ercd = sta_alm(ALM3, ALM_RELTIM);
355 check_ercd(ercd, E_OK);
356
357 wait_error();
358
359 check_assert(error_variable == E_OBJ);
360
361 check_point(15);
362 ercd = sta_alm(ALM4, ALM_RELTIM);
363 check_ercd(ercd, E_OK);
364
365 ercd = ref_sem(SEM1, &rsem);
366 check_ercd(ercd, E_OK);
367
368 check_assert(rsem.semcnt == 0U);
369
370 ercd = ref_alm(ALM4, &ralm);
371 check_ercd(ercd, E_OK);
372
373 check_assert((ralm.almstat & TALM_STA) != 0U);
374
375 check_point(16);
376 ercd = dly_tsk(ALM_RELTIM * 2);
377 check_ercd(ercd, E_OK);
378
379 check_point(17);
380 ercd = ref_sem(SEM1, &rsem);
381 check_ercd(ercd, E_OK);
382
383 check_assert(rsem.semcnt == 1U);
384
385 ercd = ref_alm(ALM4, &ralm);
386 check_ercd(ercd, E_OK);
387
388 check_assert((ralm.almstat & TALM_STP) != 0U);
389
390 check_point(18);
391 ercd = sta_alm(ALM4, ALM_RELTIM);
392 check_ercd(ercd, E_OK);
393
394 check_point(19);
395 ercd = slp_tsk();
396 check_ercd(ercd, E_OK);
397
398 check_point(21);
399 ercd = pol_sem(SEM1);
400 check_ercd(ercd, E_OK);
401
402 check_point(22);
403 ercd = sta_alm(ALM5, ALM_RELTIM);
404 check_ercd(ercd, E_OK);
405
406 ercd = ref_flg(FLG1, &rflg);
407 check_ercd(ercd, E_OK);
408
409 check_assert(rflg.flgptn == 0x00U);
410
411 ercd = ref_alm(ALM5, &ralm);
412 check_ercd(ercd, E_OK);
413
414 check_assert((ralm.almstat & TALM_STA) != 0U);
415
416 check_point(23);
417 ercd = wai_flg(FLG1, 0x01U, TWF_ORW, &flgptn);
418 check_ercd(ercd, E_OK);
419
420 check_point(25);
421 check_assert(flgptn == 0x01U);
422
423 ercd = ref_alm(ALM5, &ralm);
424 check_ercd(ercd, E_OK);
425
426 check_assert((ralm.almstat & TALM_STP) != 0U);
427
428 check_point(26);
429 ercd = sta_alm(ALM6, ALM_RELTIM);
430 check_ercd(ercd, E_OK);
431
432 ercd = ref_dtq(DTQ1, &rdtq);
433 check_ercd(ercd, E_OK);
434
435 check_assert(rdtq.sdtqcnt == 0U);
436
437 ercd = ref_alm(ALM6, &ralm);
438 check_ercd(ercd, E_OK);
439
440 check_assert((ralm.almstat & TALM_STA) != 0U);
441
442 check_point(27);
443 ercd = dly_tsk(ALM_RELTIM * 2);
444 check_ercd(ercd, E_OK);
445
446 check_point(28);
447 ercd = ref_dtq(DTQ1, &rdtq);
448 check_ercd(ercd, E_OK);
449
450 check_assert(rdtq.sdtqcnt == 1U);
451
452 ercd = ref_alm(ALM6, &ralm);
453 check_ercd(ercd, E_OK);
454
455 check_assert((ralm.almstat & TALM_STP) != 0U);
456
457 check_point(29);
458 ercd = sta_alm(ALM6, ALM_RELTIM);
459 check_ercd(ercd, E_OK);
460
461 check_point(30);
462 ercd = slp_tsk();
463 check_ercd(ercd, E_OK);
464
465 check_point(32);
466 ercd = prcv_dtq(DTQ1, &data);
467 check_ercd(ercd, E_OK);
468
469 check_assert(data == 0x01);
470
471 check_point(33);
472 ercd = act_tsk(TASK2);
473 check_ercd(ercd, E_OK);
474
475 ercd = sta_alm(ALM7, ALM_RELTIM);
476 check_ercd(ercd, E_OK);
477
478 ercd = ref_sem(SEM1, &rsem);
479 check_ercd(ercd, E_OK);
480
481 check_assert(rsem.semcnt == 0U);
482
483 ercd = ref_alm(ALM7, &ralm);
484 check_ercd(ercd, E_OK);
485
486 check_assert((ralm.almstat & TALM_STA) != 0U);
487
488 check_point(34);
489 ercd = wai_sem(SEM1);
490 check_ercd(ercd, E_OK);
491
492 check_point(36);
493 ercd = ref_alm(ALM7, &ralm);
494 check_ercd(ercd, E_OK);
495
496 check_assert((ralm.almstat & TALM_STP) != 0U);
497
498 check_point(37);
499 ercd = sta_alm(ALM8, ALM_RELTIM);
500 check_ercd(ercd, E_OK);
501
502 ercd = ref_flg(FLG1, &rflg);
503 check_ercd(ercd, E_OK);
504
505 check_assert(rflg.flgptn == 0x01U);
506
507 ercd = ref_alm(ALM8, &ralm);
508 check_ercd(ercd, E_OK);
509
510 check_assert((ralm.almstat & TALM_STA) != 0U);
511
512 check_point(38);
513 ercd = wai_flg(FLG1, 0x02U, TWF_ORW, &flgptn);
514 check_ercd(ercd, E_OK);
515
516 check_point(39);
517 check_assert(flgptn == 0x03U);
518
519 ercd = ref_alm(ALM8, &ralm);
520 check_ercd(ercd, E_OK);
521
522 check_assert((ralm.almstat & TALM_STP) != 0U);
523
524 check_point(40);
525 ercd = sta_alm(ALM9, ALM_RELTIM);
526 check_ercd(ercd, E_OK);
527
528 check_point(41);
529 ercd = ref_dtq(DTQ1, &rdtq);
530 check_ercd(ercd, E_OK);
531
532 check_assert(rdtq.sdtqcnt == 0U);
533
534 ercd = ref_alm(ALM9, &ralm);
535 check_ercd(ercd, E_OK);
536
537 check_assert((ralm.almstat & TALM_STA) != 0U);
538
539 check_point(42);
540 ercd = rcv_dtq(DTQ1, &data);
541 check_ercd(ercd, E_OK);
542
543 check_point(43);
544 check_assert(data == E_QOVR);
545
546 ercd = ref_alm(ALM9, &ralm);
547 check_ercd(ercd, E_OK);
548
549 check_assert((ralm.almstat & TALM_STP) != 0U);
550
551 check_point(44);
552 ercd = sta_alm(ALM10, ALM_RELTIM);
553 check_ercd(ercd, E_OK);
554
555 check_point(45);
556 check_assert(count_variable == 1);
557
558 ercd = ref_alm(ALM10, &ralm);
559 check_ercd(ercd, E_OK);
560
561 check_assert((ralm.almstat & TALM_STA) != 0U);
562
563 wait_count(1);
564
565 check_point(46);
566 ercd = ref_alm(ALM10, &ralm);
567 check_ercd(ercd, E_OK);
568
569 check_assert((ralm.almstat & TALM_STP) != 0U);
570
571 check_point(47);
572 ercd = sta_alm(ALM11, ALM_RELTIM);
573 check_ercd(ercd, E_OK);
574
575 check_point(48);
576 check_assert(count_variable == 2);
577
578 ercd = ref_alm(ALM11, &ralm);
579 check_ercd(ercd, E_OK);
580
581 check_assert((ralm.almstat & TALM_STA) != 0U);
582
583 wait_count(2);
584
585 check_point(49);
586 ercd = ref_alm(ALM9, &ralm);
587 check_ercd(ercd, E_OK);
588
589 check_assert((ralm.almstat & TALM_STP) != 0U);
590
591 check_finish(50);
592 check_point(0);
593}
594
595static uint_t task2_count = 0;
596
597void
598task2(intptr_t exinf)
599{
600 ER_UINT ercd;
601 T_RALM ralm;
602
603 switch (++task2_count) {
604 case 1:
605 check_point(5);
606 ercd = ref_alm(ALM2, &ralm);
607 check_ercd(ercd, E_OK);
608
609 check_assert((ralm.almstat & TALM_STP) != 0U);
610
611 check_point(6);
612 ercd = wup_tsk(TASK1);
613 check_ercd(ercd, E_OK);
614
615 check_point(9);
616 ercd = slp_tsk();
617 check_ercd(ercd, E_OK);
618
619 check_point(10);
620 ercd = ref_alm(ALM3, &ralm);
621 check_ercd(ercd, E_OK);
622
623 check_assert((ralm.almstat & TALM_STP) != 0U);
624
625 check_point(11);
626 ercd = wup_tsk(TASK1);
627 check_ercd(ercd, E_OK);
628
629 check_point(13);
630 ercd = ext_tsk();
631 check_ercd(ercd, E_OK);
632
633 check_point(0);
634
635 case 2:
636 check_point(20);
637 ercd = wup_tsk(TASK1);
638 check_ercd(ercd, E_OK);
639
640 check_point(24);
641 ercd = slp_tsk();
642 check_ercd(ercd, E_OK);
643
644 check_point(31);
645 ercd = wup_tsk(TASK1);
646 check_ercd(ercd, E_OK);
647
648 check_point(35);
649 ercd = slp_tsk();
650 check_ercd(ercd, E_OK);
651
652 check_point(0);
653
654 default:
655 check_point(0);
656 }
657 check_point(0);
658}
Note: See TracBrowser for help on using the repository browser.