source: asp_ewarm/asp-1.7.0/test/test_dlynse.c@ 165

Last change on this file since 165 was 61, checked in by ertl-honda, 11 years ago

ASP for EWARM のコミット.

File size: 3.9 KB
Line 
1/*
2 * TOPPERS Software
3 * Toyohashi Open Platform for Embedded Real-Time Systems
4 *
5 * Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
6 * Toyohashi Univ. of Technology, JAPAN
7 * Copyright (C) 2007-2010 by Embedded and Real-Time Systems Laboratory
8 * Graduate School of Information Science, Nagoya Univ., JAPAN
9 *
10 * ã‹L’˜ìŒ ŽÒ‚́CˆÈ‰º‚Ì(1)`(4)‚ÌðŒ‚ð–ž‚½‚·ê‡‚ÉŒÀ‚èC–{ƒ\ƒtƒgƒEƒF
11 * ƒAi–{ƒ\ƒtƒgƒEƒFƒA‚ð‰ü•Ï‚µ‚½‚à‚Ì‚ðŠÜ‚ށDˆÈ‰º“¯‚¶j‚ðŽg—pE•¡»E‰ü
12 * •ÏEÄ”z•ziˆÈ‰ºC—˜—p‚ƌĂԁj‚·‚邱‚Ƃ𖳏ž‚Å‹–‘ø‚·‚éD
13 * (1) –{ƒ\ƒtƒgƒEƒFƒA‚ðƒ\[ƒXƒR[ƒh‚ÌŒ`‚Å—˜—p‚·‚éê‡‚ɂ́Cã‹L‚Ì’˜ì
14 * Œ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’肪C‚»‚Ì‚Ü‚Ü‚ÌŒ`‚Ń\[
15 * ƒXƒR[ƒh’†‚ÉŠÜ‚Ü‚ê‚Ä‚¢‚邱‚ƁD
16 * (2) –{ƒ\ƒtƒgƒEƒFƒA‚ðCƒ‰ƒCƒuƒ‰ƒŠŒ`Ž®‚ȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg
17 * —p‚Å‚«‚éŒ`‚ōĔz•z‚·‚éê‡‚ɂ́CÄ”z•z‚É”º‚¤ƒhƒLƒ…
18ƒƒ“ƒgi—˜—p
19 * ŽÒƒ}ƒjƒ…
20ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜ìŒ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L
21 * ‚Ì–³•ÛØ‹K’è‚ðŒfÚ‚·‚邱‚ƁD
22 * (3) –{ƒ\ƒtƒgƒEƒFƒA‚ðC‹@Ší‚É‘g‚ݍž‚ނȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg
23 * —p‚Å‚«‚È‚¢Œ`‚ōĔz•z‚·‚éê‡‚ɂ́CŽŸ‚Ì‚¢‚¸‚ê‚©‚ÌðŒ‚ð–ž‚½‚·‚±
24 * ‚ƁD
25 * (a) Ä”z•z‚É”º‚¤ƒhƒLƒ…
26ƒƒ“ƒgi—˜—pŽÒƒ}ƒjƒ…
27ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜
28 * ìŒ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’è‚ðŒfÚ‚·‚邱‚ƁD
29 * (b) Ä”z•z‚ÌŒ`‘Ô‚ðC•Ê‚É’è‚ß‚é•û–@‚É‚æ‚Á‚āCTOPPERSƒvƒƒWƒFƒNƒg‚É
30 * •ñ‚·‚邱‚ƁD
31 * (4) –{ƒ\ƒtƒgƒEƒFƒA‚Ì—˜—p‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚é‚¢‚©‚Ȃ鑹
32 * ŠQ‚©‚ç‚àCã‹L’˜ìŒ ŽÒ‚¨‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚ð–Ɛӂ·‚邱‚ƁD
33 * ‚Ü‚½C–{ƒ\ƒtƒgƒEƒFƒA‚̃†[ƒU‚Ü‚½‚̓Gƒ“ƒhƒ†[ƒU‚©‚ç‚Ì‚¢‚©‚Ȃ闝
34 * —R‚ÉŠî‚­¿‹‚©‚ç‚àCã‹L’˜ìŒ ŽÒ‚¨‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚ð
35 * –Ɛӂ·‚邱‚ƁD
36 *
37 * –{ƒ\ƒtƒgƒEƒFƒA‚́C–³•ÛØ‚Å’ñ‹Ÿ‚³‚ê‚Ä‚¢‚é‚à‚Ì‚Å‚ ‚éDã‹L’˜ìŒ ŽÒ‚¨
38 * ‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚́C–{ƒ\ƒtƒgƒEƒFƒA‚ÉŠÖ‚µ‚āC“Á’è‚ÌŽg—p–Ú“I
39 * ‚ɑ΂·‚é“K‡«‚àŠÜ‚߂āC‚¢‚©‚È‚é•ÛØ‚às‚í‚È‚¢D‚Ü‚½C–{ƒ\ƒtƒgƒEƒF
40 * ƒA‚Ì—˜—p‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚½‚¢‚©‚Ȃ鑹ŠQ‚ÉŠÖ‚µ‚Ä‚àC‚»
41 * ‚̐ӔC‚𕉂í‚È‚¢D
42 *
43 * @(#) $Id: test_dlynse.c 1803 2010-06-20 08:55:06Z ertl-hiro $
44 */
45
46/*
47 * sil_dly_nse‚ÉŠÖ‚·‚éƒeƒXƒg
48 */
49
50#include <kernel.h>
51#include <sil.h>
52#include <test_lib.h>
53#include <t_syslog.h>
54#include "kernel_cfg.h"
55#include "test_dlynse.h"
56
57/*
58 * SIL_DLY_TIM1‚ÆSIL_DLY_TIM2‚ðŽQÆ‚·‚邽‚߂ɁCƒJ[ƒlƒ‹—p‚̃wƒbƒ_ƒtƒ@
59 * ƒCƒ‹‚ðƒCƒ“ƒNƒ‹[ƒh‚·‚éD
60 */
61#include "kernel/kernel_impl.h"
62
63#define NO_LOOP ULONG_C(1000000)
64
65SYSTIM empty_time;
66
67static void
68test_empty(void)
69{
70 SYSTIM stime, etime;
71 volatile ulong_t i;
72
73 get_tim(&stime);
74 for (i = 0; i < NO_LOOP; i++) {
75 }
76 get_tim(&etime);
77 empty_time = etime - stime;
78 syslog(LOG_NOTICE, "empty loop: %u", empty_time);
79 syslog_flush();
80}
81
82static void
83test_dly_nse(ulong_t dlytim)
84{
85 SYSTIM stime, etime, delay_time;
86 volatile ulong_t i;
87
88 get_tim(&stime);
89 for (i = 0; i < NO_LOOP; i++) {
90 sil_dly_nse(dlytim);
91 }
92 get_tim(&etime);
93 delay_time = (etime - stime) - empty_time;
94 syslog(LOG_NOTICE, "sil_dly_nse(%u): %u %s", (uint_t)(dlytim),
95 (uint_t)(delay_time), delay_time > dlytim ? "OK" : "NG");
96 syslog_flush();
97}
98
99void
100main_task(intptr_t exinf)
101{
102 test_empty();
103
104 syslog(LOG_NOTICE, "-- for fitting parameters --");
105 test_dly_nse(0);
106 test_dly_nse(SIL_DLY_TIM1);
107 test_dly_nse(SIL_DLY_TIM1 + SIL_DLY_TIM2 * 1);
108 test_dly_nse(SIL_DLY_TIM1 + SIL_DLY_TIM2 * 2);
109 test_dly_nse(SIL_DLY_TIM1 + SIL_DLY_TIM2 * 3);
110 test_dly_nse(SIL_DLY_TIM1 + SIL_DLY_TIM2 * 4);
111 test_dly_nse(SIL_DLY_TIM1 + SIL_DLY_TIM2 * 5);
112 test_dly_nse(SIL_DLY_TIM1 + SIL_DLY_TIM2 * 10);
113 test_dly_nse(SIL_DLY_TIM1 + SIL_DLY_TIM2 * 20);
114 test_dly_nse(SIL_DLY_TIM1 + SIL_DLY_TIM2 * 50);
115
116 syslog(LOG_NOTICE, "-- for checking boundary conditions --");
117 test_dly_nse(SIL_DLY_TIM1 + 1);
118 test_dly_nse(SIL_DLY_TIM1 + SIL_DLY_TIM2 * 1 + 1);
119 test_dly_nse(SIL_DLY_TIM1 + SIL_DLY_TIM2 * 2 + 1);
120
121 test_finish();
122}
Note: See TracBrowser for help on using the repository browser.