Changeset 315 for rubycfg_asp/trunk/asp_dcre/test
- Timestamp:
- Jul 23, 2017, 2:29:40 PM (7 years ago)
- Location:
- rubycfg_asp/trunk/asp_dcre/test
- Files:
-
- 56 edited
Legend:
- Unmodified
- Added
- Removed
-
rubycfg_asp/trunk/asp_dcre/test/bit_kernel.c
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r313 r315 7 7 * Graduate School of Information Science, Nagoya Univ., JAPAN 8 8 * 9 * ä¸è¨èä½æ¨©è 10 ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ 11 * ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹ 12 * å¤ã»åé 13 å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 14 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 15 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 16 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 17 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 18 * ç¨ã§ããå½¢ã§åé 19 å¸ããå ´åã«ã¯ï¼åé 20 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 21 * è 22 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 23 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 24 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 25 * ç¨ã§ããªãå½¢ã§åé 26 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 27 * ã¨ï¼ 28 * (a) åé 29 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 30 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 31 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 32 * (b) åé 33 å¸ã®å½¢æ 34 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 35 * å ±åãããã¨ï¼ 36 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 37 * 害ãããï¼ä¸è¨èä½æ¨©è 38 ããã³TOPPERSããã¸ã§ã¯ããå 39 責ãããã¨ï¼ 40 * ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç 41 * ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è 42 ããã³TOPPERSããã¸ã§ã¯ãã 43 * å 44 責ãããã¨ï¼ 9 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 10 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 11 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 12 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 13 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 14 * スコード中に含まれていること. 15 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 16 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 17 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 18 * の無保証規定を掲載すること. 19 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 20 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 21 * と. 22 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 23 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 24 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 25 * 報告すること. 26 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 27 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 28 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 29 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 30 * 免責すること. 45 31 * 46 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 47 ã 48 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 49 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 50 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 51 * ã®è²¬ä»»ãè² ããªãï¼ 32 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 33 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 34 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 35 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 36 * の責任を負わない. 52 37 * 53 38 * @(#) $Id$ … … 55 40 56 41 /* 57 * ã«ã¼ãã«ã®æ´åæ§æ¤æ»42 * カーネルの整合性検査 58 43 */ 59 44 … … 70 55 71 56 /* 72 * ã¨ã©ã¼ã³ã¼ãã®å®ç¾©57 * エラーコードの定義 73 58 */ 74 59 #define E_SYS_LINENO ERCD(E_SYS, -(__LINE__)) 75 60 76 61 /* 77 * 管çãããã¯ã®ã¢ãã¬ã¹ã®æ£å½æ§ã®ãã§ãã¯62 * 管理ブロックのアドレスの正当性のチェック 78 63 */ 79 64 #define VALID_TCB(p_tcb) \ … … 106 91 107 92 /* 108 * ãã¥ã¼ã®ãã§ãã¯ã®ããã®é¢æ°93 * キューのチェックのための関数 109 94 * 110 * p_queue ã«p_entryãå«ã¾ãã¦ãããã調ã¹ãï¼å«ã¾ãã¦ããã°trueï¼å«ã¾111 * ãã¦ããªãå ´åã«ã¯falseãè¿ãï¼ããã«ãªã³ã¯ã®ä¸æ´åã®å ´åã«ãï¼112 * false ãè¿ãï¼95 * p_queueにp_entryが含まれているかを調べる.含まれていればtrue,含ま 96 * れていない場合にはfalseを返す.ダブルリンクの不整合の場合にも, 97 * falseを返す. 113 98 */ 114 99 static bool_t … … 119 104 p_current = p_queue->p_next; 120 105 if (p_current->p_prev != p_queue) { 121 return(false); /* ããã«ãªã³ã¯ã®ä¸æ´å*/106 return(false); /* ダブルリンクの不整合 */ 122 107 } 123 108 while (p_current != p_queue) { 124 109 if (p_current == p_entry) { 125 return(true); /* p_entry ãå«ã¾ãã¦ãã*/110 return(true); /* p_entryが含まれていた */ 126 111 } 127 112 128 113 /* 129 * ãã¥ã¼ã®æ¬¡ã®è¦ç´ ã«é²ã114 * キューの次の要素に進む 130 115 */ 131 116 p_next = p_current->p_next; 132 117 if (p_next->p_prev != p_current) { 133 return(false); /* ããã«ãªã³ã¯ã®ä¸æ´å*/118 return(false); /* ダブルリンクの不整合 */ 134 119 } 135 120 p_current = p_next; … … 139 124 140 125 /* 141 * ã¹ã¿ãã¯ä¸ãæãã¦ãããã®æ¤æ»126 * スタック上を指しているかの検査 142 127 */ 143 128 static bool_t … … 152 137 153 138 /* 154 * ã¿ã¹ã¯æ¯ã®æ´åæ§æ¤æ»139 * タスク毎の整合性検査 155 140 */ 156 141 static ER … … 178 163 179 164 /* 180 * åæåãããã¯ã¸ã®ãã¤ã³ã¿ã®æ¤æ»165 * 初期化ブロックへのポインタの検査 181 166 */ 182 167 if (p_tinib != &(tinib_table[INDEX_TSK(tskid)])) { … … 185 170 186 171 /* 187 * tstat ã®æ¤æ»172 * tstatの検査 188 173 */ 189 174 switch (tstat & (TS_RUNNABLE | TS_WAITING | TS_SUSPENDED)) { … … 218 203 219 204 /* 220 * actque ã®æ¤æ»205 * actqueの検査 221 206 */ 222 207 if (TSTAT_DORMANT(tstat) && p_tcb->actque) { … … 225 210 226 211 /* 227 * ã¿ã¹ã¯åªå 228 度ã®æ¤æ» 212 * タスク優先度の検査 229 213 */ 230 214 if (pri >= TNUM_TPRI) { … … 233 217 234 218 /* 235 * texptn ã®æ¤æ»219 * texptnの検査 236 220 */ 237 221 if (p_tcb->p_tinib->texrtn == NULL && p_tcb->texptn != 0U) { … … 240 224 241 225 /* 242 * ä¼æ¢ç¶æ 243 ã«ããããã§ã㯠226 * 休止状態におけるチェック 244 227 */ 245 228 if (TSTAT_DORMANT(tstat)) { … … 253 236 254 237 /* 255 * å®è¡ã§ããç¶æ 256 ã«ããããã§ã㯠238 * 実行できる状態におけるチェック 257 239 */ 258 240 if (TSTAT_RUNNABLE(tstat)) { … … 263 245 264 246 /* 265 * å¾ 266 ã¡ç¶æ 267 ã«ããããã§ã㯠247 * 待ち状態におけるチェック 268 248 */ 269 249 if (TSTAT_WAITING(tstat)) { … … 277 257 } 278 258 /* 279 * (*p_tmevtb) ã®æ¤æ»ï¼æªå®æï¼259 * (*p_tmevtb)の検査(未完成) 280 260 */ 281 261 } … … 377 357 378 358 /* 379 * tskctxb ã®æ¤æ»359 * tskctxbの検査 380 360 */ 381 361 if (!TSTAT_DORMANT(tstat) && p_tcb != p_runtsk) { 382 362 /* 383 * ã¿ã¼ã²ããä¾åã®æ¤æ»363 * ターゲット依存の検査 384 364 */ 385 365 #if 0 … … 393 373 394 374 /* 395 * ã»ããã©æ¯ã®æ´åæ§æ¤æ»375 * セマフォ毎の整合性検査 396 376 */ 397 377 #define INDEX_SEM(semid) ((uint_t)((semid) - TMIN_SEMID)) … … 415 395 416 396 /* 417 * åæåãããã¯ã¸ã®ãã¤ã³ã¿ã®æ¤æ»397 * 初期化ブロックへのポインタの検査 418 398 */ 419 399 if (p_seminib != &(seminib_table[INDEX_SEM(semid)])) { … … 422 402 423 403 /* 424 * semcnt ã®æ¤æ»404 * semcntの検査 425 405 */ 426 406 if (semcnt > p_seminib->maxsem) { … … 429 409 430 410 /* 431 * wait_queue ã®æ¤æ»411 * wait_queueの検査 432 412 */ 433 413 if (semcnt == 0) { … … 456 436 457 437 /* 458 * æ´åæ§æ¤æ»ã«ã¼ãã³æ¬ä½438 * 整合性検査ルーチン本体 459 439 */ 460 440 ER … … 466 446 467 447 /* 468 * ã¿ã¹ã¯æ¯ã®æ¤æ»448 * タスク毎の検査 469 449 */ 470 450 for (tskid = TMIN_TSKID; tskid <= tmax_tskid; tskid++) { … … 476 456 477 457 /* 478 * ã»ããã©æ¯ã®æ¤æ»458 * セマフォ毎の検査 479 459 */ 480 460 for (semid = TMIN_SEMID; semid <= tmax_semid; semid++) { -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/perf0.c
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r313 r315 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 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 責ãããã¨ï¼ 8 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 44 30 * 45 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 46 ã 47 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 48 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 49 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 50 * ã®è²¬ä»»ãè² ããªãï¼ 31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 51 36 * 52 37 * @(#) $Id$ … … 54 39 55 40 /* 56 * ã«ã¼ãã«æ§è½è©ä¾¡ããã°ã©ã(0)41 * カーネル性能評価プログラム(0) 57 42 * 58 * æéè¨æ¸¬ã®ãªã¼ãããããè¨æ¸¬ããããã®ããã°ã©ã ï¼43 * 時間計測のオーバヘッドを計測するためのプログラム. 59 44 */ 60 45 … … 67 52 68 53 /* 69 * è¨æ¸¬åæ°ã¨å®è¡æéåå¸ãè¨é²ããæ大æé54 * 計測回数と実行時間分布を記録する最大時間 70 55 */ 71 #define NO_MEASURE 10000U /* è¨æ¸¬åæ°*/72 #define MAX_TIME 1000U /* å®è¡æéåå¸ãè¨é²ããæ大æé*/56 #define NO_MEASURE 10000U /* 計測回数 */ 57 #define MAX_TIME 1000U /* 実行時間分布を記録する最大時間 */ 73 58 74 59 /* 75 * å®è¡æéåå¸ãè¨é²ããã¡ã¢ãªé å60 * 実行時間分布を記録するメモリ領域 76 61 */ 77 62 static uint_t histarea1[MAX_TIME + 1]; 78 63 79 64 /* 80 * ã¡ã¤ã³ã¿ã¹ã¯65 * メインタスク 81 66 */ 82 67 void main_task(intptr_t exinf) -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/perf0.cfg
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r313 r315 4 4 5 5 /* 6 * ã«ã¼ãã«æ§è½è©ä¾¡ããã°ã©ã (0)ã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«6 * カーネル性能評価プログラム(0)のシステムコンフィギュレーションファイル 7 7 */ 8 8 INCLUDE("target_timer.cfg"); -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/perf0.h
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r313 r315 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 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 責ãããã¨ï¼ 8 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 44 30 * 45 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 46 ã 47 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 48 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 49 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 50 * ã®è²¬ä»»ãè² ããªãï¼ 31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 51 36 * 52 37 * @(#) $Id$ … … 54 39 55 40 /* 56 * ã«ã¼ãã«æ§è½è©ä¾¡ããã°ã©ã(0)41 * カーネル性能評価プログラム(0) 57 42 */ 58 43 59 44 /* 60 * ã¿ã¼ã²ããä¾åã®å®ç¾©45 * ターゲット依存の定義 61 46 */ 62 47 #include "target_test.h" 63 48 64 49 /* 65 * åã¿ã¹ã¯ã®åªå 66 度ã®å®ç¾© 50 * 各タスクの優先度の定義 67 51 */ 68 #define MAIN_PRIORITY 11 /* ã¡ã¤ã³ã¿ã¹ã¯ã®åªå 69 度 */ 52 #define MAIN_PRIORITY 11 /* メインタスクの優先度 */ 70 53 71 54 /* 72 * ã¿ã¼ã²ããã«ä¾åããå¯è½æ§ã®ããå®æ°ã®å®ç¾©55 * ターゲットに依存する可能性のある定数の定義 73 56 */ 74 57 #ifndef STACK_SIZE 75 #define STACK_SIZE 4096 /* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº*/58 #define STACK_SIZE 4096 /* タスクのスタックサイズ */ 76 59 #endif /* STACK_SIZE */ 77 60 78 61 /* 79 * é¢æ°ã®ãããã¿ã¤ã宣è¨62 * 関数のプロトタイプ宣言 80 63 */ 81 64 extern void main_task(intptr_t exinf); -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/perf1.c
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r313 r315 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 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 責ãããã¨ï¼ 8 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 44 30 * 45 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 46 ã 47 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 48 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 49 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 50 * ã®è²¬ä»»ãè² ããªãï¼ 31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 51 36 * 52 37 * @(#) $Id$ … … 54 39 55 40 /* 56 * ã«ã¼ãã«æ§è½è©ä¾¡ããã°ã©ã(1)41 * カーネル性能評価プログラム(1) 57 42 * 58 * slp_tsk ï¼wup_tskã«ããã¿ã¹ã¯åæãæéãè¨æ¸¬ããããã®ããã°ã©ã ï¼43 * slp_tsk,wup_tskによるタスク切換え時間を計測するためのプログラム. 59 44 */ 60 45 … … 67 52 68 53 /* 69 * è¨æ¸¬åæ°ã¨å®è¡æéåå¸ãè¨é²ããæ大æé54 * 計測回数と実行時間分布を記録する最大時間 70 55 */ 71 #define NO_MEASURE 10000U /* è¨æ¸¬åæ°*/72 #define MAX_TIME 1000U /* å®è¡æéåå¸ãè¨é²ããæ大æé*/56 #define NO_MEASURE 10000U /* 計測回数 */ 57 #define MAX_TIME 1000U /* 実行時間分布を記録する最大時間 */ 73 58 74 59 /* 75 * å®è¡æéåå¸ãè¨é²ããã¡ã¢ãªé å60 * 実行時間分布を記録するメモリ領域 76 61 */ 77 62 static uint_t histarea1[MAX_TIME + 1]; … … 79 64 80 65 /* 81 * è¨æ¸¬ã¿ã¹ã¯1ï¼é«åªå 82 åº¦ï¼ 66 * 計測タスク1(高優先度) 83 67 */ 84 68 void task1(intptr_t exinf) … … 98 82 99 83 /* 100 * è¨æ¸¬ã¿ã¹ã¯2ï¼ä¸åªå 101 åº¦ï¼ 84 * 計測タスク2(中優先度) 102 85 */ 103 86 void task2(intptr_t exinf) … … 114 97 115 98 /* 116 * ã¡ã¤ã³ã¿ã¹ã¯ï¼ä½åªå 117 åº¦ï¼ 99 * メインタスク(低優先度) 118 100 */ 119 101 void main_task(intptr_t exinf) -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/perf1.cfg
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r313 r315 4 4 5 5 /* 6 * ã«ã¼ãã«æ§è½è©ä¾¡ããã°ã©ã (1)ã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«6 * カーネル性能評価プログラム(1)のシステムコンフィギュレーションファイル 7 7 */ 8 8 INCLUDE("target_timer.cfg"); -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/perf1.h
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r313 r315 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 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 責ãããã¨ï¼ 8 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 44 30 * 45 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 46 ã 47 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 48 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 49 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 50 * ã®è²¬ä»»ãè² ããªãï¼ 31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 51 36 * 52 37 * @(#) $Id$ … … 54 39 55 40 /* 56 * ã«ã¼ãã«æ§è½è©ä¾¡ããã°ã©ã(1)41 * カーネル性能評価プログラム(1) 57 42 */ 58 43 59 44 /* 60 * ã¿ã¼ã²ããä¾åã®å®ç¾©45 * ターゲット依存の定義 61 46 */ 62 47 #include "target_test.h" 63 48 64 49 /* 65 * åã¿ã¹ã¯ã®åªå 66 度ã®å®ç¾© 50 * 各タスクの優先度の定義 67 51 */ 68 #define TASK1_PRIORITY 9 /* è¨æ¸¬ã¿ã¹ã¯1ã®åªå 69 度 */ 70 #define TASK2_PRIORITY 10 /* è¨æ¸¬ã¿ã¹ã¯2ã®åªå 71 度 */ 72 #define MAIN_PRIORITY 11 /* ã¡ã¤ã³ã¿ã¹ã¯ã®åªå 73 度 */ 52 #define TASK1_PRIORITY 9 /* 計測タスク1の優先度 */ 53 #define TASK2_PRIORITY 10 /* 計測タスク2の優先度 */ 54 #define MAIN_PRIORITY 11 /* メインタスクの優先度 */ 74 55 75 56 /* 76 * ã¿ã¼ã²ããã«ä¾åããå¯è½æ§ã®ããå®æ°ã®å®ç¾©57 * ターゲットに依存する可能性のある定数の定義 77 58 */ 78 59 #ifndef STACK_SIZE 79 #define STACK_SIZE 4096 /* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº*/60 #define STACK_SIZE 4096 /* タスクのスタックサイズ */ 80 61 #endif /* STACK_SIZE */ 81 62 82 63 /* 83 * é¢æ°ã®ãããã¿ã¤ã宣è¨64 * 関数のプロトタイプ宣言 84 65 */ 85 66 extern void task1(intptr_t exinf); -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/perf2.c
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r313 r315 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 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 責ãããã¨ï¼ 8 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 44 30 * 45 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 46 ã 47 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 48 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 49 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 50 * ã®è²¬ä»»ãè² ããªãï¼ 31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 51 36 * 52 37 * @(#) $Id$ … … 54 39 55 40 /* 56 * ã«ã¼ãã«æ§è½è©ä¾¡ããã°ã©ã(2)41 * カーネル性能評価プログラム(2) 57 42 * 58 * åªå 59 度ãã¼ã¿ãã¥ã¼ã«èç©ããã¦ãããã¼ã¿ã®æ°ã«ããï¼snd_pdqã®å¦çæ 60 * éãã©ã®ããã«å¤åããããè¨æ¸¬ããããã®ããã°ã©ã ï¼ 43 * 優先度データキューに蓄積されているデータの数により,snd_pdqの処理時 44 * 間がどのように変化するかを計測するためのプログラム. 61 45 */ 62 46 … … 69 53 70 54 /* 71 * è¨æ¸¬åæ°ã¨å®è¡æéåå¸ãè¨é²ããæ大æé55 * 計測回数と実行時間分布を記録する最大時間 72 56 */ 73 #define NO_MEASURE 10000U /* è¨æ¸¬åæ°*/74 #define MAX_TIME 1000U /* å®è¡æéåå¸ãè¨é²ããæ大æé*/57 #define NO_MEASURE 10000U /* 計測回数 */ 58 #define MAX_TIME 1000U /* 実行時間分布を記録する最大時間 */ 75 59 76 60 /* 77 * å®è¡æéåå¸ãè¨é²ããã¡ã¢ãªé å61 * 実行時間分布を記録するメモリ領域 78 62 */ 79 63 static uint_t histarea1[MAX_TIME + 1]; 80 64 81 65 /* 82 * è¨æ¸¬ã«ã¼ãã³66 * 計測ルーチン 83 67 */ 84 68 void … … 112 96 113 97 /* 114 * ã¡ã¤ã³ã¿ã¹ã¯ï¼ä½åªå 115 åº¦ï¼ 98 * メインタスク(低優先度) 116 99 */ 117 100 void main_task(intptr_t exinf) -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/perf2.cfg
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r313 r315 4 4 5 5 /* 6 * ã«ã¼ãã«æ§è½è©ä¾¡ããã°ã©ã (2)ã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«6 * カーネル性能評価プログラム(2)のシステムコンフィギュレーションファイル 7 7 */ 8 8 INCLUDE("target_timer.cfg"); -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/perf2.h
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r313 r315 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 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 責ãããã¨ï¼ 8 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 44 30 * 45 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 46 ã 47 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 48 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 49 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 50 * ã®è²¬ä»»ãè² ããªãï¼ 31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 51 36 * 52 37 * @(#) $Id$ … … 54 39 55 40 /* 56 * ã«ã¼ãã«æ§è½è©ä¾¡ããã°ã©ã(2)41 * カーネル性能評価プログラム(2) 57 42 */ 58 43 59 44 /* 60 * ã¿ã¼ã²ããä¾åã®å®ç¾©45 * ターゲット依存の定義 61 46 */ 62 47 #include "target_test.h" 63 48 64 49 /* 65 * åã¿ã¹ã¯ã®åªå 66 度ã®å®ç¾© 50 * 各タスクの優先度の定義 67 51 */ 68 #define MAIN_PRIORITY 11 /* ã¡ã¤ã³ã¿ã¹ã¯ã®åªå 69 度 */ 52 #define MAIN_PRIORITY 11 /* メインタスクの優先度 */ 70 53 71 54 /* 72 * ã¿ã¼ã²ããã«ä¾åããå¯è½æ§ã®ããå®æ°ã®å®ç¾©55 * ターゲットに依存する可能性のある定数の定義 73 56 */ 74 57 #ifndef STACK_SIZE 75 #define STACK_SIZE 4096 /* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº*/58 #define STACK_SIZE 4096 /* タスクのスタックサイズ */ 76 59 #endif /* STACK_SIZE */ 77 60 78 61 /* 79 * é¢æ°ã®ãããã¿ã¤ã宣è¨62 * 関数のプロトタイプ宣言 80 63 */ 81 64 extern void main_task(intptr_t exinf); -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/perf3.c
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r313 r315 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 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 責ãããã¨ï¼ 8 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 44 30 * 45 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 46 ã 47 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 48 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 49 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 50 * ã®è²¬ä»»ãè² ããªãï¼ 31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 51 36 * 52 37 * @(#) $Id$ … … 54 39 55 40 /* 56 * ã«ã¼ãã«æ§è½è©ä¾¡ããã°ã©ã(3)41 * カーネル性能評価プログラム(3) 57 42 * 58 * å¾ 59 ã¡è§£é¤ããã¿ã¹ã¯ã®æ°ã«ããï¼set_flgã®å¦çæéãã©ã®ããã«å¤åãã 60 * ããè¨æ¸¬ããããã®ããã°ã©ã ï¼ 43 * 待ち解除するタスクの数により,set_flgの処理時間がどのように変化する 44 * かを計測するためのプログラム. 61 45 */ 62 46 … … 69 53 70 54 /* 71 * è¨æ¸¬åæ°ã¨å®è¡æéåå¸ãè¨é²ããæ大æé55 * 計測回数と実行時間分布を記録する最大時間 72 56 */ 73 #define NO_MEASURE 10000U /* è¨æ¸¬åæ°*/74 #define MAX_TIME 1000U /* å®è¡æéåå¸ãè¨é²ããæ大æé*/57 #define NO_MEASURE 10000U /* 計測回数 */ 58 #define MAX_TIME 1000U /* 実行時間分布を記録する最大時間 */ 75 59 76 60 /* 77 * å®è¡æéåå¸ãè¨é²ããã¡ã¢ãªé å61 * 実行時間分布を記録するメモリ領域 78 62 */ 79 63 static uint_t histarea1[MAX_TIME + 1]; 80 64 81 65 /* 82 * è¨æ¸¬ã¿ã¹ã¯ã®ãªã¹ã66 * 計測タスクのリスト 83 67 */ 84 68 static ID task_list[20] = { … … 90 74 91 75 /* 92 * è¨æ¸¬ã¿ã¹ã¯ï¼ä¸åªå 93 åº¦ï¼ 76 * 計測タスク(中優先度) 94 77 */ 95 78 void task(intptr_t exinf) … … 101 84 102 85 /* 103 * è¨æ¸¬ã«ã¼ãã³86 * 計測ルーチン 104 87 */ 105 88 void … … 116 99 } 117 100 chg_pri(TSK_SELF, MAIN_PRIORITY_LOW); 118 /* ã¿ã¹ã¯ãå¾ 119 ã¡ç¶æ 120 ã«å 121 ¥ãã®ãå¾ 122 㤠*/ 101 /* タスクが待ち状態に入るのを待つ */ 123 102 chg_pri(TSK_SELF, TPRI_INI); 124 103 … … 128 107 129 108 chg_pri(TSK_SELF, MAIN_PRIORITY_LOW); 130 /* ã¿ã¹ã¯ãçµäºããã®ãå¾ 131 㤠*/ 109 /* タスクが終了するのを待つ */ 132 110 chg_pri(TSK_SELF, TPRI_INI); 133 111 } … … 140 118 141 119 /* 142 * ã¡ã¤ã³ã¿ã¹ã¯ï¼é«åªå 143 åº¦ï¼ 120 * メインタスク(高優先度) 144 121 */ 145 122 void main_task(intptr_t exinf) -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/perf3.cfg
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r313 r315 4 4 5 5 /* 6 * ã«ã¼ãã«æ§è½è©ä¾¡ããã°ã©ã (3)ã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«6 * カーネル性能評価プログラム(3)のシステムコンフィギュレーションファイル 7 7 */ 8 8 INCLUDE("target_timer.cfg"); -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/perf3.h
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r313 r315 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 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 責ãããã¨ï¼ 8 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 44 30 * 45 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 46 ã 47 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 48 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 49 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 50 * ã®è²¬ä»»ãè² ããªãï¼ 31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 51 36 * 52 37 * @(#) $Id$ … … 54 39 55 40 /* 56 * ã«ã¼ãã«æ§è½è©ä¾¡ããã°ã©ã(3)41 * カーネル性能評価プログラム(3) 57 42 */ 58 43 59 44 /* 60 * ã¿ã¼ã²ããä¾åã®å®ç¾©45 * ターゲット依存の定義 61 46 */ 62 47 #include "target_test.h" 63 48 64 49 /* 65 * åã¿ã¹ã¯ã®åªå 66 度ã®å®ç¾© 50 * 各タスクの優先度の定義 67 51 */ 68 #define TASK_PRIORITY 10 /* ã¿ã¹ã¯ã®åªå 69 度 */ 70 #define MAIN_PRIORITY 9 /* ã¡ã¤ã³ã¿ã¹ã¯ã®åªå 71 度 */ 72 #define MAIN_PRIORITY_LOW 11 /* ã¡ã¤ã³ã¿ã¹ã¯ã®ä½åªå 73 度 */ 52 #define TASK_PRIORITY 10 /* タスクの優先度 */ 53 #define MAIN_PRIORITY 9 /* メインタスクの優先度 */ 54 #define MAIN_PRIORITY_LOW 11 /* メインタスクの低優先度 */ 74 55 75 56 /* 76 * ã¿ã¼ã²ããã«ä¾åããå¯è½æ§ã®ããå®æ°ã®å®ç¾©57 * ターゲットに依存する可能性のある定数の定義 77 58 */ 78 59 #ifndef STACK_SIZE 79 #define STACK_SIZE 4096 /* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº*/60 #define STACK_SIZE 4096 /* タスクのスタックサイズ */ 80 61 #endif /* STACK_SIZE */ 81 62 82 63 /* 83 * é¢æ°ã®ãããã¿ã¤ã宣è¨64 * 関数のプロトタイプ宣言 84 65 */ 85 66 extern void task(intptr_t exinf); -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/perf4.c
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r313 r315 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 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 責ãããã¨ï¼ 8 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 44 30 * 45 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 46 ã 47 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 48 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 49 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 50 * ã®è²¬ä»»ãè² ããªãï¼ 31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 51 36 * 52 37 * @(#) $Id$ … … 54 39 55 40 /* 56 * ã«ã¼ãã«æ§è½è©ä¾¡ããã°ã©ã(4)41 * カーネル性能評価プログラム(4) 57 42 * 58 * act_tsk ï¼iact_tskã®å¦çæéã¨ã¿ã¹ã¯åæãæéãè¨æ¸¬ããããã®ããã°59 * ã©ã ï¼ä»¥ä¸ã®3ã¤ã®æéã測å®ããï¼43 * act_tsk,iact_tskの処理時間とタスク切換え時間を計測するためのプログ 44 * ラム.以下の3つの時間を測定する. 60 45 * 61 * (1) ã¿ã¹ã¯åæããèµ·ãããªãact_tskã®å¦çæéï¼èªã¿ã¹ã¯ãããåªå 62 度 63 * ã®ä½ãã¿ã¹ã¯ã«å¯¾ãã¦act_tskãçºè¡ãï¼ä¼æ¢ç¶æ 64 ããå®è¡ã§ããç¶æ 65 66 * ã«é·ç§»ãããå¦çã®æéï¼ 46 * (1) タスク切換えを起こさないact_tskの処理時間.自タスクよりも優先度 47 * の低いタスクに対してact_tskを発行し,休止状態から実行できる状態 48 * に遷移させる処理の時間. 67 49 * 68 * (2) ã¿ã¹ã¯åæããèµ·ããact_tskã®å¦çæéï¼èªã¿ã¹ã¯ãããåªå 69 度ã®é« 70 * ãã¿ã¹ã¯ã«å¯¾ãã¦act_tskãçºè¡ãï¼ä¼æ¢ç¶æ 71 ããå®è¡ã§ããç¶æ 72 ã«é· 73 * 移ããï¼ã¿ã¹ã¯åæããèµ·ããã¦ï¼é«ãåªå 74 度ã®ã¿ã¹ã¯ã®å®è¡ãå§ã¾ 75 * ãã¾ã§ã®æéï¼ 50 * (2) タスク切換えを起こすact_tskの処理時間.自タスクよりも優先度の高 51 * いタスクに対してact_tskを発行し,休止状態から実行できる状態に遷 52 * 移させ,タスク切換えを起こして,高い優先度のタスクの実行が始ま 53 * るまでの時間. 76 54 * 77 * (3) ã¿ã¹ã¯åæããèµ·ããiact_tskã®å¦çæéï¼å¨æãã³ãã©ããï¼å®è¡ 78 * ç¶æ 79 ã®ã¿ã¹ã¯ãããé«ãåªå 80 度ã®ã¿ã¹ã¯ã«å¯¾ãã¦act_tskãçºè¡ãï¼ä¼ 81 * æ¢ç¶æ 82 ããå®è¡ã§ããç¶æ 83 ã«é·ç§»ããããã¨ã«å¨æãã³ãã©ãããªã¿ã¼ 84 * ã³ãï¼ã¿ã¹ã¯åæããèµ·ããã¦ï¼é«ãåªå 85 度ã®ã¿ã¹ã¯ã®å®è¡ãå§ã¾ã 86 * ã¾ã§ã®æéï¼ 55 * (3) タスク切換えを起こすiact_tskの処理時間.周期ハンドラから,実行 56 * 状態のタスクよりも高い優先度のタスクに対してact_tskを発行し,休 57 * 止状態から実行できる状態に遷移させたあとに周期ハンドラからリター 58 * ンし,タスク切換えを起こして,高い優先度のタスクの実行が始まる 59 * までの時間. 87 60 */ 88 61 … … 95 68 96 69 /* 97 * è¨æ¸¬åæ°ã¨å®è¡æéåå¸ãè¨é²ããæ大æé70 * 計測回数と実行時間分布を記録する最大時間 98 71 */ 99 #define NO_MEASURE 10000U /* è¨æ¸¬åæ°*/100 #define MAX_TIME 1000U /* å®è¡æéåå¸ãè¨é²ããæ大æé*/72 #define NO_MEASURE 10000U /* 計測回数 */ 73 #define MAX_TIME 1000U /* 実行時間分布を記録する最大時間 */ 101 74 102 75 /* 103 * å®è¡æéåå¸ãè¨é²ããã¡ã¢ãªé å76 * 実行時間分布を記録するメモリ領域 104 77 */ 105 78 static uint_t histarea1[MAX_TIME + 1]; … … 108 81 109 82 /* 110 * è¨æ¸¬ã¿ã¹ã¯1ï¼é«åªå 111 åº¦ï¼ 83 * 計測タスク1(高優先度) 112 84 */ 113 85 void task1(intptr_t exinf) … … 118 90 119 91 /* 120 * è¨æ¸¬ã¿ã¹ã¯2ã¨ã¡ã¤ã³ã¿ã¹ã¯ã®å 121 ±æå¤æ° 92 * 計測タスク2とメインタスクの共有変数 122 93 */ 123 94 volatile uint_t task2_count; 124 95 125 96 /* 126 * è¨æ¸¬ã¿ã¹ã¯2ï¼é«åªå 127 åº¦ï¼ 97 * 計測タスク2(高優先度) 128 98 */ 129 99 void task2(intptr_t exinf) … … 135 105 136 106 /* 137 * è¨æ¸¬ã¿ã¹ã¯3ï¼ä½åªå 138 åº¦ï¼ 107 * 計測タスク3(低優先度) 139 108 */ 140 109 void task3(intptr_t exinf) … … 144 113 145 114 /* 146 * è¨æ¸¬ã¿ã¹ã¯4ï¼æä½åªå 147 åº¦ï¼ 115 * 計測タスク4(最低優先度) 148 116 */ 149 117 void task4(intptr_t exinf) … … 155 123 156 124 /* 157 * å¨æãã³ãã©125 * 周期ハンドラ 158 126 */ 159 127 void cyclic_handler(intptr_t exinf) … … 164 132 165 133 /* 166 * ã¡ã¤ã³ã¿ã¹ã¯ï¼ä¸åªå 167 åº¦ï¼ 134 * メインタスク(中優先度) 168 135 */ 169 136 void main_task(intptr_t exinf) … … 178 145 179 146 /* 180 * ã¿ã¹ã¯åæããèµ·ãããªãact_tskã®å¦çæéã®æ¸¬å®147 * タスク切換えを起こさないact_tskの処理時間の測定 181 148 */ 182 149 for (i = 0; i < NO_MEASURE; i++) { … … 188 155 189 156 /* 190 * ã¿ã¹ã¯åæããèµ·ããact_tskã®å¦çæéã®æ¸¬å®157 * タスク切換えを起こすact_tskの処理時間の測定 191 158 */ 192 159 for (i = 0; i < NO_MEASURE; i++) { … … 196 163 197 164 /* 198 * ã¿ã¹ã¯åæããèµ·ããiact_tskã®å¦çæéã®æ¸¬å®ï¼æ¸¬å®åæ°ã¯10åã®1ï¼165 * タスク切換えを起こすiact_tskの処理時間の測定(測定回数は10分の1) 199 166 */ 200 167 task2_count = 0; -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/perf4.cfg
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r313 r315 4 4 5 5 /* 6 * ã«ã¼ãã«æ§è½è©ä¾¡ããã°ã©ã (4)ã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«6 * カーネル性能評価プログラム(4)のシステムコンフィギュレーションファイル 7 7 */ 8 8 INCLUDE("target_timer.cfg"); -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/perf4.h
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r313 r315 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 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 責ãããã¨ï¼ 8 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 44 30 * 45 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 46 ã 47 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 48 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 49 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 50 * ã®è²¬ä»»ãè² ããªãï¼ 31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 51 36 * 52 37 * @(#) $Id$ … … 54 39 55 40 /* 56 * ã«ã¼ãã«æ§è½è©ä¾¡ããã°ã©ã(4)41 * カーネル性能評価プログラム(4) 57 42 */ 58 43 59 44 /* 60 * ã¿ã¼ã²ããä¾åã®å®ç¾©45 * ターゲット依存の定義 61 46 */ 62 47 #include "target_test.h" 63 48 64 49 /* 65 * åã¿ã¹ã¯ã®åªå 66 度ã®å®ç¾© 50 * 各タスクの優先度の定義 67 51 */ 68 #define TASK1_PRIORITY 9 /* è¨æ¸¬ã¿ã¹ã¯1ã®åªå 69 度 */ 70 #define TASK2_PRIORITY 9 /* è¨æ¸¬ã¿ã¹ã¯2ã®åªå 71 度 */ 72 #define TASK3_PRIORITY 11 /* è¨æ¸¬ã¿ã¹ã¯3ã®åªå 73 度 */ 74 #define TASK4_PRIORITY 12 /* è¨æ¸¬ã¿ã¹ã¯4ã®åªå 75 度 */ 76 #define MAIN_PRIORITY 10 /* ã¡ã¤ã³ã¿ã¹ã¯ã®åªå 77 度 */ 52 #define TASK1_PRIORITY 9 /* 計測タスク1の優先度 */ 53 #define TASK2_PRIORITY 9 /* 計測タスク2の優先度 */ 54 #define TASK3_PRIORITY 11 /* 計測タスク3の優先度 */ 55 #define TASK4_PRIORITY 12 /* 計測タスク4の優先度 */ 56 #define MAIN_PRIORITY 10 /* メインタスクの優先度 */ 78 57 79 58 /* 80 * ã¿ã¼ã²ããã«ä¾åããå¯è½æ§ã®ããå®æ°ã®å®ç¾©59 * ターゲットに依存する可能性のある定数の定義 81 60 */ 82 61 #ifndef STACK_SIZE 83 #define STACK_SIZE 4096 /* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº*/62 #define STACK_SIZE 4096 /* タスクのスタックサイズ */ 84 63 #endif /* STACK_SIZE */ 85 64 86 65 /* 87 * é¢æ°ã®ãããã¿ã¤ã宣è¨66 * 関数のプロトタイプ宣言 88 67 */ 89 68 extern void task1(intptr_t exinf); -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/test_cpuexc.cfg
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r313 r315 4 4 5 5 /* 6 * CPU ä¾å¤å¦çã®ãã¹ã(1)ï½(13)ã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«6 * CPU例外処理のテスト(1)~(13)のシステムコンフィギュレーションファイル 7 7 */ 8 8 INCLUDE("target_timer.cfg"); -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/test_cpuexc.h
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r313 r315 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 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 責ãããã¨ï¼ 8 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 44 30 * 45 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 46 ã 47 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 48 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 49 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 50 * ã®è²¬ä»»ãè² ããªãï¼ 31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 51 36 * 52 37 * @(#) $Id$ … … 54 39 55 40 /* 56 * CPU ä¾å¤å¦çã®ãã¹ã(1)ï½(13)41 * CPU例外処理のテスト(1)~(13) 57 42 */ 58 43 59 44 /* 60 * ã¿ã¼ã²ããä¾åã®å®ç¾©45 * ターゲット依存の定義 61 46 */ 62 47 #include "target_test.h" 63 48 64 49 /* 65 * åã¿ã¹ã¯ã®åªå 66 度ã®å®ç¾© 50 * 各タスクの優先度の定義 67 51 */ 68 #define HIGH_PRIORITY 9 /* é«åªå 69 度 */ 70 #define MID_PRIORITY 10 /* ä¸åªå 71 度 */ 52 #define HIGH_PRIORITY 9 /* 高優先度 */ 53 #define MID_PRIORITY 10 /* 中優先度 */ 72 54 73 55 /* 74 * ã¿ã¼ã²ããã«ä¾åããå¯è½æ§ã®ããå®æ°ã®å®ç¾©56 * ターゲットに依存する可能性のある定数の定義 75 57 */ 76 58 #ifndef STACK_SIZE 77 #define STACK_SIZE 4096 /* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº*/59 #define STACK_SIZE 4096 /* タスクのスタックサイズ */ 78 60 #endif /* STACK_SIZE */ 79 61 80 62 /* 81 * é¢æ°ã®ãããã¿ã¤ã宣è¨63 * 関数のプロトタイプ宣言 82 64 */ 83 65 #ifndef TOPPERS_MACRO_ONLY -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/test_cpuexc.txt
-
Property svn:mime-type
changed from
text/plain
totext/plane; charset=UTF-8
r313 r315 1 1 2 CPU ä¾å¤å¦çã®ãã¹ã2 CPU例外処理のテスト 3 3 4 ããã¹ãã®ç®çã 4 【テストの目的】 5 5 6 CPUä¾å¤ãã³ãã©ã®å®è¡éå§ï¼ãªã¿ã¼ã³æã®ã·ã¹ãã ç¶æ 7 ã¨ï¼CPUä¾å¤ãã³ãã© 8 ä¸ã§ã®xsns_dpnã¨xsns_xpnã®åä½ãç¶²ç¾ 9 çã«ãã¹ãããï¼ 6 CPU例外ハンドラの実行開始/リターン時のシステム状態と,CPU例外ハンドラ 7 中でのxsns_dpnとxsns_xpnの動作を網羅的にテストする. 10 8 11 ããã¹ãé 12 ç®ã 9 【テスト項目】 13 10 14 (A) CPU ä¾å¤ãã³ãã©å®è¡éå§æã«CPUããã¯ãã©ã°ãå¤åããªããã¨11 (A) CPU例外ハンドラ実行開始時にCPUロックフラグが変化しないこと 15 12 16 (B) CPUä¾å¤ãã³ãã©å®è¡éå§æã«å²è¾¼ã¿åªå 17 度ãã¹ã¯ãå¤åããªãã㨠18 ï¼CPUä¾å¤ãã³ãã©ä¸ã§å²è¾¼ã¿åªå 19 度ãã¹ã¯ãèªããªãããï¼ãã¹ãã§ã㪠20 ããï¼ 13 (B) CPU例外ハンドラ実行開始時に割込み優先度マスクが変化しないこと 14 !CPU例外ハンドラ中で割込み優先度マスクを読めないため,テストできな 15 い. 21 16 22 (C) CPU ä¾å¤ãã³ãã©å®è¡éå§æã«ãã£ã¹ãããç¦æ¢ãã©ã°ãå¤åããªããã¨17 (C) CPU例外ハンドラ実行開始時にディスパッチ禁止フラグが変化しないこと 23 18 24 (D) CPU ä¾å¤ãã³ãã©å®è¡éå§æã«ã¿ã¹ã¯ä¾å¤å¦çç¦æ¢ãã©ã°ãå¤åããªããã¨19 (D) CPU例外ハンドラ実行開始時にタスク例外処理禁止フラグが変化しないこと 25 20 26 (E) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«CPUããã¯ãã©ã°ãå 27 ã«æ»ãã㨠21 (E) CPU例外ハンドラリターン時にCPUロックフラグが元に戻ること 28 22 29 (F) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«å²è¾¼ã¿åªå 30 度ãã¹ã¯ãå 31 ã«æ»ãã㨠23 (F) CPU例外ハンドラリターン時に割込み優先度マスクが元に戻ること 32 24 33 (G) CPU ä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«ãã£ã¹ãããç¦æ¢ãã©ã°ãå¤åããªããã¨25 (G) CPU例外ハンドラリターン時にディスパッチ禁止フラグが変化しないこと 34 26 35 (H) CPU ä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«ã¿ã¹ã¯ä¾å¤å¦çç¦æ¢ãã©ã°ãå¤åããªããã¨27 (H) CPU例外ハンドラリターン時にタスク例外処理禁止フラグが変化しないこと 36 28 37 (I) xsns_xpn ãæ£ããå¤ãè¿ããã¨29 (I) xsns_xpnが正しい値を返すこと 38 30 39 xsns_xpnã¯ï¼CPUä¾å¤ãçºçããç¶æ³ã次ã®æ¡ä»¶ããã¹ã¦æºããå ´åã«falseï¼ 40 ããã§ãªãå ´åã«trueãè¿ãï¼ 41 ãã»ã¿ã¹ã¯ã³ã³ããã¹ã 42 ãã»å²è¾¼ã¿ããã¯è§£é¤ç¶æ 43 44 ãã»CPUããã¯è§£é¤ç¶æ 45 46 ãã»å²è¾¼ã¿åªå 47 度ãã¹ã¯å 48 ¨è§£é¤ç¶æ 49 50 ãã»ã¿ã¹ã¯ä¾å¤è¨±å¯ç¶æ 51 31 xsns_xpnは,CPU例外が発生した状況が次の条件をすべて満たす場合にfalse, 32 そうでない場合にtrueを返す. 33 ・タスクコンテキスト 34 ・割込みロック解除状態 35 ・CPUロック解除状態 36 ・割込み優先度マスク全解除状態 37 ・タスク例外許可状態 52 38 53 (J) xsns_dpn ãæ£ããå¤ãè¿ããã¨39 (J) xsns_dpnが正しい値を返すこと 54 40 55 xsns_dpnã¯ï¼CPUä¾å¤ãçºçããç¶æ³ã次ã®æ¡ä»¶ããã¹ã¦æºããå ´åã«falseï¼ 56 ããã§ãªãå ´åã«trueãè¿ãï¼ 57 ãã»ã¿ã¹ã¯ã³ã³ããã¹ã 58 ãã»å²è¾¼ã¿ããã¯è§£é¤ç¶æ 59 60 ãã»CPUããã¯è§£é¤ç¶æ 61 62 ãã»å²è¾¼ã¿åªå 63 度ãã¹ã¯å 64 ¨è§£é¤ç¶æ 65 66 ãã»ãã£ã¹ããã許å¯ç¶æ 67 41 xsns_dpnは,CPU例外が発生した状況が次の条件をすべて満たす場合にfalse, 42 そうでない場合にtrueを返す. 43 ・タスクコンテキスト 44 ・割込みロック解除状態 45 ・CPUロック解除状態 46 ・割込み優先度マスク全解除状態 47 ・ディスパッチ許可状態 68 48 69 (K) ã¿ã¹ã¯åæãã«ãããªã«ããªã¼ãã§ãããã¨49 (K) タスク切換えによるリカバリーができること 70 50 71 (L) ã¿ã¹ã¯ä¾å¤ã«ãããªã«ããªã¼ãã§ãããã¨51 (L) タスク例外によるリカバリーができること 72 52 73 ããã¹ããå®æ½ããç¶æ³ã 53 【テストを実施する状況】 74 54 75 CPU ä¾å¤ã®çºçããç¶æ³ã¯ï¼æ¬¡ã®ããã«åé¡ãããã¨ãã§ããï¼ãããã®ç¶æ³æ¯76 ã«ãã¹ãããã°ã©ã ãç¨æããï¼ 55 CPU例外の発生する状況は,次のように分類することができる.これらの状況毎 56 にテストプログラムを用意する. 77 57 78 (a-1) éã¿ã¹ã¯ã³ã³ããã¹ã79 (a-2) ã¿ã¹ã¯ã³ã³ããã¹ã58 (a-1) 非タスクコンテキスト 59 (a-2) タスクコンテキスト 80 60 81 (b-1) å²è¾¼ã¿ããã¯ç¶æ 82 83 (b-2) å²è¾¼ã¿ããã¯è§£é¤ç¶æ 84 61 (b-1) 割込みロック状態 62 (b-2) 割込みロック解除状態 85 63 86 (c-1) CPUããã¯ç¶æ 87 88 (c-2) CPUããã¯è§£é¤ç¶æ 89 64 (c-1) CPUロック状態 65 (c-2) CPUロック解除状態 90 66 91 (d-1) å²è¾¼ã¿åªå 92 度ãã¹ã¯ï¼TIPM_ENAALL 93 (d-2) å²è¾¼ã¿åªå 94 度ãã¹ã¯ï¼TMAX_INTPRI 95 ï¼TMAX_INTPRIï¼TMIN_INTPRIã®å ´åã¯(d-3)ã¨åãã«ãªãã®ã§å®æ½ããªãï¼ 96 (d-3) å²è¾¼ã¿åªå 97 度ãã¹ã¯ï¼TMIN_INTPRI 98 (d-4) å²è¾¼ã¿åªå 99 度ãã¹ã¯ï¼TMIN_INTPRI-1 100 ï¼TMIN_INTPRI-1ãè¨å®ã§ãããã¯ã¿ã¼ã²ããã«ä¾åããï¼ 67 (d-1) 割込み優先度マスク=TIPM_ENAALL 68 (d-2) 割込み優先度マスク=TMAX_INTPRI 69 !TMAX_INTPRI=TMIN_INTPRIの場合は(d-3)と同じになるので実施しない. 70 (d-3) 割込み優先度マスク=TMIN_INTPRI 71 (d-4) 割込み優先度マスク=TMIN_INTPRI-1 72 !TMIN_INTPRI-1が設定できるかはターゲットに依存する. 101 73 102 (e-1) ãã£ã¹ãããç¦æ¢ç¶æ 103 104 (e-2) ãã£ã¹ããã許å¯ç¶æ 105 74 (e-1) ディスパッチ禁止状態 75 (e-2) ディスパッチ許可状態 106 76 107 (f-1) ã¿ã¹ã¯ä¾å¤ç¦æ¢ç¶æ 108 109 (f-2) ã¿ã¹ã¯ä¾å¤è¨±å¯ç¶æ 110 77 (f-1) タスク例外禁止状態 78 (f-2) タスク例外許可状態 111 79 112 ãã®çµã¿åããããã¹ã¦ãã¹ããããã¨ã¯ç¾å®çã§ãªãããï¼ä»£è¡¨çãªãã¿ã¼ 113 ã³ã«çµãè¾¼ãï¼ 80 この組み合わせをすべてテストすることは現実的でないため,代表的なパター 81 ンに絞り込む. 114 82 115 ã¾ãï¼(a)ï½(c)ã®çµã¿åããã§ï¼æ¬¡ã®5ã¤ã®ãã¿ã¼ã³ããã¹ãããï¼ãããã®ã 116 ã¹ããããéã«ã¯ï¼(d)ï½(f)ã«ã¤ãã¦ã¯ï¼(d-1)(e-1)(f-2)ã®çµã¿åããã«åºå® 117 ããï¼ 83 まず,(a)~(c)の組み合わせで,次の5つのパターンをテストする.これらのテ 84 ストをする際には,(d)~(f)については,(d-1)(e-1)(f-2)の組み合わせに固定 85 する. 118 86 119 (1) (a-1)(b-1)(c-2) â ãªã«ããªã¼ä¸å¯120 ï¼(a-1)(b-1)(c-1)ã®ãã¹ãã¯çãï¼121 (2) (a-1)(b-2)(c-1) â ãªã«ããªã¼ä¸å¯122 (3) (a-1)(b-2)(c-2) â ãªã«ããªã¼ä¸å¯87 (1) (a-1)(b-1)(c-2) → リカバリー不可 88 !(a-1)(b-1)(c-1)のテストは省く. 89 (2) (a-1)(b-2)(c-1) → リカバリー不可 90 (3) (a-1)(b-2)(c-2) → リカバリー不可 123 91 124 (4) (a-2)(b-1)(c-2) â ãªã«ããªã¼ä¸å¯125 ï¼(a-2)(b-1)(c-1)ã®ãã¹ãã¯çãï¼126 (5) (a-2)(b-2)(c-1) â ãªã«ããªã¼ä¸å¯92 (4) (a-2)(b-1)(c-2) → リカバリー不可 93 !(a-2)(b-1)(c-1)のテストは省く. 94 (5) (a-2)(b-2)(c-1) → リカバリー不可 127 95 128 次ã«ï¼(a)ï½(c)ã(a-2)(b-2)(c-2)ã«åºå®ãã¦ï¼(d)ï½(f)ã®çµã¿åããã§ï¼æ¬¡ã® 129 8 ã¤ã®ãã¿ã¼ã³ããã¹ãããï¼96 次に,(a)~(c)を(a-2)(b-2)(c-2)に固定して,(d)~(f)の組み合わせで,次の 97 8つのパターンをテストする. 130 98 131 (6) (d-1)(e-2)(f-1) â ã¿ã¹ã¯åæãã«ãããªã«ããªã¼å¯è½99 (6) (d-1)(e-2)(f-1) → タスク切換えによるリカバリー可能 132 100 133 (7) (d-1)(e-1)(f-2) â ã¿ã¹ã¯ä¾å¤ã«ãããªã«ããªã¼å¯è½101 (7) (d-1)(e-1)(f-2) → タスク例外によるリカバリー可能 134 102 135 (8) (d-2)(e-2)(f-2) â ãªã«ããªã¼ä¸å¯136 ï¼(d-2)(e-1)(f-2)ã®ãã¹ãã¯çãï¼103 (8) (d-2)(e-2)(f-2) → リカバリー不可 104 !(d-2)(e-1)(f-2)のテストは省く. 137 105 138 (9) (d-3)(e-2)(f-2) â ãªã«ããªã¼ä¸å¯139 ï¼(d-3)(e-1)(f-2)ã®ãã¹ãã¯çãï¼106 (9) (d-3)(e-2)(f-2) → リカバリー不可 107 !(d-3)(e-1)(f-2)のテストは省く. 140 108 141 (10) (d-4)(e-2)(f-2) â ãªã«ããªã¼ä¸å¯142 ï¼(d-4)(e-1)(f-2)ã®ãã¹ãã¯çãï¼109 (10) (d-4)(e-2)(f-2) → リカバリー不可 110 !(d-4)(e-1)(f-2)のテストは省く. 143 111 144 (11) (d-1)(e-2)(f-2) â 両æ¹æ³ã«ãããªã«ããªã¼å¯è½112 (11) (d-1)(e-2)(f-2) → 両方法によるリカバリー可能 145 113 146 (12) (d-1)(e-1)(f-1) â ãªã«ããªã¼ä¸å¯147 (d-2) ï½(d-4)Ã(e-1)Ã(f-1) ã®ãã¹ãï¼3ãã¿ã¼ã³ï¼ã¯çãï¼114 (12) (d-1)(e-1)(f-1) → リカバリー不可 115 (d-2)~(d-4)×(e-1)×(f-1) のテスト(3パターン)は省く. 148 116 149 (13) (d-3)(e-2)(f-1) â ãªã«ããªã¼ä¸å¯150 (d-2),(d-4) Ã(e-2)Ã(f-1) ã®ãã¹ãï¼2ãã¿ã¼ã³ï¼ã¯çãï¼117 (13) (d-3)(e-2)(f-1) → リカバリー不可 118 (d-2),(d-4)×(e-2)×(f-1) のテスト(2パターン)は省く. 151 119 152 ã使ç¨ãªã½ã¼ã¹ã 120 【使用リソース】 153 121 154 TASK1: TA_ACTï¼ä¸åªå 155 度ï¼ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ç»é² 156 TASK2: TA_NULLï¼é«åªå 157 度 122 TASK1: TA_ACT,中優先度,タスク例外処理ルーチン登録 123 TASK2: TA_NULL,高優先度 158 124 CPUEXC1: TA_NULL 159 125 ALM1: TA_NULL 160 126 161 ä»¥ä¸ 127 以上 -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/test_cpuexc1.c
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r313 r315 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 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 責ãããã¨ï¼ 8 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 44 30 * 45 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 46 ã 47 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 48 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 49 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 50 * ã®è²¬ä»»ãè² ããªãï¼ 31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 51 36 * 52 37 * $Id$ … … 54 39 55 40 /* 56 * CPU ä¾å¤å¦çã®ãã¹ã(1)41 * CPU例外処理のテスト(1) 57 42 * 58 * ããã¹ãã®ç®çã43 * 【テストの目的】 59 44 * 60 * éã¿ã¹ã¯ã³ã³ããã¹ãï¼å²è¾¼ããã¯ç¶æ 61 ã§çºçããCPUä¾å¤ã«ãããã·ã¹ã 62 * ã ç¶æ 63 ã®ãã¹ãï¼å²è¾¼ã¿åªå 64 度ãã¹ã¯ï¼TIPM_ENAALLï¼ãã£ã¹ãããç¦æ¢ç¶ 65 * æ 66 ï¼ã¿ã¹ã¯ä¾å¤è¨±å¯ç¶æ 67 ã§ãã¹ãããï¼ 45 * 非タスクコンテキスト,割込ロック状態で発生したCPU例外におけるシステ 46 * ム状態のテスト.割込み優先度マスク=TIPM_ENAALL,ディスパッチ禁止状 47 * 態,タスク例外許可状態でテストする. 68 48 * 69 * ããã¹ãé 70 ç®ã 49 * 【テスト項目】 71 50 * 72 * ããããï¼éã¿ã¹ã¯ã³ã³ããã¹ãï¼å²è¾¼ããã¯ç¶æ 73 ã§çºçããCPUä¾å¤ã«ã 74 * ãã¦ï¼ 51 * いずれも,非タスクコンテキスト,割込ロック状態で発生したCPU例外にお 52 * いて, 75 53 * 76 * (A) CPUä¾å¤ãã³ãã©å®è¡éå§æã«CPUããã¯ãã©ã°ãå¤åããªãã㨠77 * ï¼å²è¾¼ã¿ããã¯ç¶æ 78 ã§çºçããCPUä¾å¤ã§ã¯ï¼ã·ã¹ãã ç¶æ 79 ãæ£ããèª 80 * ãããã¨ãä¿è¨¼ãããªãããï¼ãã¹ãã§ããªãï¼ 81 * (B) CPUä¾å¤ãã³ãã©å®è¡éå§æã«å²è¾¼ã¿åªå 82 度ãã¹ã¯ãå¤åããªãã㨠83 * ï¼å²è¾¼ã¿ããã¯ç¶æ 84 ã§çºçããCPUä¾å¤ã§ã¯ï¼ã·ã¹ãã ç¶æ 85 ãæ£ããèª 86 * ãããã¨ãä¿è¨¼ãããªãããï¼ãã¹ãã§ããªãï¼ 87 * (C) CPUä¾å¤ãã³ãã©å®è¡éå§æã«ãã£ã¹ãããç¦æ¢ãã©ã°ãå¤åããªãã㨠88 * ï¼å²è¾¼ã¿ããã¯ç¶æ 89 ã§çºçããCPUä¾å¤ã§ã¯ï¼ã·ã¹ãã ç¶æ 90 ãæ£ããèª 91 * ãããã¨ãä¿è¨¼ãããªãããï¼ãã¹ãã§ããªãï¼ 92 * (D) CPUä¾å¤ãã³ãã©å®è¡éå§æã«ã¿ã¹ã¯ä¾å¤å¦çç¦æ¢ãã©ã°ãå¤åããªãã㨠93 * ï¼å²è¾¼ã¿ããã¯ç¶æ 94 ã§çºçããCPUä¾å¤ã§ã¯ï¼ã·ã¹ãã ç¶æ 95 ãæ£ããèª 96 * ãããã¨ãä¿è¨¼ãããªãããï¼ãã¹ãã§ããªãï¼ 97 * (E) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«CPUããã¯ãã©ã°ãå 98 ã«æ»ãã㨠99 * ï¼CPUä¾å¤ãã³ãã©ãããªã¿ã¼ã³ã§ããå ´åã®ã¿ãã¹ãããï¼ 100 * (F) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«å²è¾¼ã¿åªå 101 度ãã¹ã¯ãå 102 ã«æ»ãã㨠103 * ï¼CPUä¾å¤ãã³ãã©ãããªã¿ã¼ã³ã§ããå ´åã®ã¿ãã¹ãããï¼ 104 * (G) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«ãã£ã¹ãããç¦æ¢ãã©ã°ãå¤åããªãã㨠105 * ï¼CPUä¾å¤ãã³ãã©ãããªã¿ã¼ã³ã§ããå ´åã®ã¿ãã¹ãããï¼ 106 * (H) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«ã¿ã¹ã¯ä¾å¤å¦çç¦æ¢ãã©ã°ãå¤åããªãã㨠107 * ï¼CPUä¾å¤ãã³ãã©ãããªã¿ã¼ã³ã§ããå ´åã®ã¿ãã¹ãããï¼ 108 * (I) xsns_xpnãtrueãè¿ãã㨠109 * (J) xsns_dpnãtrueãè¿ãã㨠54 * (A) CPU例外ハンドラ実行開始時にCPUロックフラグが変化しないこと 55 * !割込みロック状態で発生したCPU例外では,システム状態を正しく読 56 * めることが保証されないため,テストできない. 57 * (B) CPU例外ハンドラ実行開始時に割込み優先度マスクが変化しないこと 58 * !割込みロック状態で発生したCPU例外では,システム状態を正しく読 59 * めることが保証されないため,テストできない. 60 * (C) CPU例外ハンドラ実行開始時にディスパッチ禁止フラグが変化しないこと 61 * !割込みロック状態で発生したCPU例外では,システム状態を正しく読 62 * めることが保証されないため,テストできない. 63 * (D) CPU例外ハンドラ実行開始時にタスク例外処理禁止フラグが変化しないこと 64 * !割込みロック状態で発生したCPU例外では,システム状態を正しく読 65 * めることが保証されないため,テストできない. 66 * (E) CPU例外ハンドラリターン時にCPUロックフラグが元に戻ること 67 * !CPU例外ハンドラからリターンできる場合のみテストする. 68 * (F) CPU例外ハンドラリターン時に割込み優先度マスクが元に戻ること 69 * !CPU例外ハンドラからリターンできる場合のみテストする. 70 * (G) CPU例外ハンドラリターン時にディスパッチ禁止フラグが変化しないこと 71 * !CPU例外ハンドラからリターンできる場合のみテストする. 72 * (H) CPU例外ハンドラリターン時にタスク例外処理禁止フラグが変化しないこと 73 * !CPU例外ハンドラからリターンできる場合のみテストする. 74 * (I) xsns_xpnがtrueを返すこと 75 * (J) xsns_dpnがtrueを返すこと 110 76 * 111 * ã使ç¨ãªã½ã¼ã¹ã77 * 【使用リソース】 112 78 * 113 * TASK1: TA_ACTï¼ä¸åªå 114 度ï¼ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ç»é² 79 * TASK1: TA_ACT,中優先度,タスク例外処理ルーチン登録 115 80 * CPUEXC1: TA_NULL 116 81 * ALM1: TA_NULL 117 82 * 118 * ããã¹ãã·ã¼ã±ã³ã¹ã83 * 【テストシーケンス】 119 84 * 120 * == TASK1ï¼ä¸åªå 121 度ï¼== 122 * 1: ç¶æ 123 ã®ãã§ã㯠85 * == TASK1(中優先度)== 86 * 1: 状態のチェック 124 87 * dis_dsp() 125 88 * ena_tex() 126 * 2: ç¶æ 127 ã®ãã§ã㯠89 * 2: 状態のチェック 128 90 * sta_alm(ALM1, 1U) 129 * ã¢ã©ã¼ã ãã³ãã©1ã®å®è¡ãå¾ 130 㤠91 * アラームハンドラ1の実行を待つ 131 92 * == ALM1 == 132 * 3: ç¶æ 133 ã®ãã§ã㯠93 * 3: 状態のチェック 134 94 * SIL_LOC_INT() 135 95 * RAISE_CPU_EXCEPTION … … 137 97 * 4: xsns_xpn() == true ... (I) 138 98 * xsns_dpn() == true ... (J) 139 * 5: CPU ä¾å¤ãã³ãã©ãããªã¿ã¼ã³ã§ããªãå ´åã¯ï¼ããã§çµäº140 * 5: ãªã¿ã¼ã³141 * == ALM1 ï¼ç¶ãï¼==99 * 5: CPU例外ハンドラからリターンできない場合は,ここで終了 100 * 5: リターン 101 * == ALM1(続き)== 142 102 * 6: SIL_UNL_LOC() 143 * 7: ç¶æ 144 ã®ãã§ã㯠... (E)(G)(H) 145 * ãªã¿ã¼ã³ 146 * == TASK1ï¼ç¶ãï¼== 147 * 8: ç¶æ 148 ã®ãã§ã㯠... (F) 149 * 9: ãã¹ãçµäº 103 * 7: 状態のチェック ... (E)(G)(H) 104 * リターン 105 * == TASK1(続き)== 106 * 8: 状態のチェック ... (F) 107 * 9: テスト終了 150 108 */ 151 109 -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/test_cpuexc10.c
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r313 r315 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 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 責ãããã¨ï¼ 8 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 44 30 * 45 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 46 ã 47 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 48 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 49 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 50 * ã®è²¬ä»»ãè² ããªãï¼ 31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 51 36 * 52 37 * $Id$ … … 54 39 55 40 /* 56 * CPU ä¾å¤å¦çã®ãã¹ã(10)41 * CPU例外処理のテスト(10) 57 42 * 58 * ããã¹ãã®ç®çã43 * 【テストの目的】 59 44 * 60 * å²è¾¼ã¿åªå 61 度ãã¹ã¯ï¼TMIN_INTPRI-1ï¼ãã£ã¹ããã許å¯ç¶æ 62 ï¼ã¿ã¹ã¯ä¾å¤ 63 * 許å¯ç¶æ 64 ã§çºçããCPUä¾å¤ã«ãããã·ã¹ãã ç¶æ 65 ã®ãã¹ãï¼ 45 * 割込み優先度マスク=TMIN_INTPRI-1,ディスパッチ許可状態,タスク例外 46 * 許可状態で発生したCPU例外におけるシステム状態のテスト. 66 47 * 67 * ãã®ãã¹ãã¯ï¼å²è¾¼ã¿åªå 68 度ãã¹ã¯ãTMIN_INTPRI-1ã«è¨å®ã§ããå ´åã®ã¿ 69 * å®æ½ããï¼ 48 * このテストは,割込み優先度マスクをTMIN_INTPRI-1に設定できる場合のみ 49 * 実施する. 70 50 * 71 * ããã¹ãé 72 ç®ã 51 * 【テスト項目】 73 52 * 74 * ããããï¼å²è¾¼ã¿åªå 75 度ãã¹ã¯ï¼TMIN_INTPRI-1ï¼ãã£ã¹ããã許å¯ç¶æ 76 ï¼ 77 * ã¿ã¹ã¯ä¾å¤è¨±å¯ç¶æ 78 ã§çºçããCPUä¾å¤ã«ããã¦ï¼ 53 * いずれも,割込み優先度マスク=TMIN_INTPRI-1,ディスパッチ許可状態, 54 * タスク例外許可状態で発生したCPU例外において, 79 55 * 80 * (A) CPUä¾å¤ãã³ãã©å®è¡éå§æã«CPUããã¯ãã©ã°ãå¤åããªãã㨠81 * (B) CPUä¾å¤ãã³ãã©å®è¡éå§æã«å²è¾¼ã¿åªå 82 度ãã¹ã¯ãå¤åããªãã㨠83 * ï¼CPUä¾å¤ãã³ãã©ä¸ã§å²è¾¼ã¿åªå 84 度ãã¹ã¯ãèªããªãããï¼ãã¹ã㧠85 * ããªãï¼ 86 * (C) CPUä¾å¤ãã³ãã©å®è¡éå§æã«ãã£ã¹ãããç¦æ¢ãã©ã°ãå¤åããªãã㨠87 * (D) CPUä¾å¤ãã³ãã©å®è¡éå§æã«ã¿ã¹ã¯ä¾å¤å¦çç¦æ¢ãã©ã°ãå¤åããªãã㨠88 * (E) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«CPUããã¯ãã©ã°ãå 89 ã«æ»ãã㨠90 * ï¼CPUä¾å¤ãã³ãã©ãããªã¿ã¼ã³ã§ããå ´åã®ã¿ãã¹ãããï¼ 91 * (F) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«å²è¾¼ã¿åªå 92 度ãã¹ã¯ãå 93 ã«æ»ãã㨠94 * ï¼CPUä¾å¤ãã³ãã©ãããªã¿ã¼ã³ã§ããå ´åã®ã¿ãã¹ãããï¼ 95 * (G) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«ãã£ã¹ãããç¦æ¢ãã©ã°ãå¤åããªãã㨠96 * ï¼CPUä¾å¤ãã³ãã©ãããªã¿ã¼ã³ã§ããå ´åã®ã¿ãã¹ãããï¼ 97 * (H) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«ã¿ã¹ã¯ä¾å¤å¦çç¦æ¢ãã©ã°ãå¤åããªãã㨠98 * ï¼CPUä¾å¤ãã³ãã©ãããªã¿ã¼ã³ã§ããå ´åã®ã¿ãã¹ãããï¼ 99 * (I) xsns_xpnãtrueãè¿ãã㨠100 * (J) xsns_dpnãtrueãè¿ãã㨠56 * (A) CPU例外ハンドラ実行開始時にCPUロックフラグが変化しないこと 57 * (B) CPU例外ハンドラ実行開始時に割込み優先度マスクが変化しないこと 58 * !CPU例外ハンドラ中で割込み優先度マスクを読めないため,テストで 59 * きない. 60 * (C) CPU例外ハンドラ実行開始時にディスパッチ禁止フラグが変化しないこと 61 * (D) CPU例外ハンドラ実行開始時にタスク例外処理禁止フラグが変化しないこと 62 * (E) CPU例外ハンドラリターン時にCPUロックフラグが元に戻ること 63 * !CPU例外ハンドラからリターンできる場合のみテストする. 64 * (F) CPU例外ハンドラリターン時に割込み優先度マスクが元に戻ること 65 * !CPU例外ハンドラからリターンできる場合のみテストする. 66 * (G) CPU例外ハンドラリターン時にディスパッチ禁止フラグが変化しないこと 67 * !CPU例外ハンドラからリターンできる場合のみテストする. 68 * (H) CPU例外ハンドラリターン時にタスク例外処理禁止フラグが変化しないこと 69 * !CPU例外ハンドラからリターンできる場合のみテストする. 70 * (I) xsns_xpnがtrueを返すこと 71 * (J) xsns_dpnがtrueを返すこと 101 72 * 102 * ã使ç¨ãªã½ã¼ã¹ã73 * 【使用リソース】 103 74 * 104 * TASK1: TA_ACTï¼ä¸åªå 105 度ï¼ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ç»é² 75 * TASK1: TA_ACT,中優先度,タスク例外処理ルーチン登録 106 76 * CPUEXC1: TA_NULL 107 77 * 108 * ããã¹ãã·ã¼ã±ã³ã¹ã78 * 【テストシーケンス】 109 79 * 110 * == TASK1ï¼ä¸åªå 111 度ï¼== 112 * 1: ç¶æ 113 ã®ãã§ã㯠80 * == TASK1(中優先度)== 81 * 1: 状態のチェック 114 82 * chg_ipm(TMIN_INTPRI-1) 115 83 * ena_tex() 116 * 2: ç¶æ 117 ã®ãã§ã㯠84 * 2: 状態のチェック 118 85 * RAISE_CPU_EXCEPTION 119 86 * == CPUEXC1 == 120 * 3: ç¶æ 121 ã®ãã§ã㯠... (A)(C)(D) 87 * 3: 状態のチェック ... (A)(C)(D) 122 88 * xsns_xpn() == true ... (I) 123 89 * xsns_dpn() == true ... (J) 124 * 4: CPUä¾å¤ãã³ãã©ãããªã¿ã¼ã³ã§ããªãå ´åã¯ï¼ããã§çµäº 125 * 4: ãªã¿ã¼ã³ 126 * == TASK1ï¼ç¶ãï¼== 127 * 5: ç¶æ 128 ã®ãã§ã㯠... (E)(F)(G)(H) 129 * 6: ãã¹ãçµäº 90 * 4: CPU例外ハンドラからリターンできない場合は,ここで終了 91 * 4: リターン 92 * == TASK1(続き)== 93 * 5: 状態のチェック ... (E)(F)(G)(H) 94 * 6: テスト終了 130 95 */ 131 96 -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/test_cpuexc11.c
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r313 r315 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 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 * ã®è²¬ä»»ãè² ããªãï¼ 8 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 30 * 31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 51 36 * 52 37 * $Id$ … … 54 39 55 40 /* 56 * CPUä¾å¤å¦çã®ãã¹ã(11) 57 * 58 * ããã¹ãã®ç®çã 59 * 60 * å²è¾¼ã¿åªå 61 度ãã¹ã¯ï¼TIPM_ENAALLï¼ãã£ã¹ããã許å¯ç¶æ 62 ï¼ã¿ã¹ã¯ä¾å¤è¨± 63 * å¯ç¶æ 64 ã§çºçããCPUä¾å¤ã«ãããã·ã¹ãã ç¶æ 65 ã®ãã¹ãï¼ã¿ã¹ã¯åæãã« 66 * ãããªã«ããªã¼ã§ãããã¨ããã¹ãããï¼ 67 * 68 * ããã¹ãé 69 ç®ã 70 * 71 * ããããï¼å²è¾¼ã¿åªå 72 度ãã¹ã¯ï¼TIPM_ENAALLï¼ãã£ã¹ããã許å¯ç¶æ 73 ï¼ã¿ 74 * ã¹ã¯ä¾å¤è¨±å¯ç¶æ 75 ã§çºçããCPUä¾å¤ã«ããã¦ï¼ 76 * 77 * (A) CPUä¾å¤ãã³ãã©å®è¡éå§æã«CPUããã¯ãã©ã°ãå¤åããªãã㨠78 * (B) CPUä¾å¤ãã³ãã©å®è¡éå§æã«å²è¾¼ã¿åªå 79 度ãã¹ã¯ãå¤åããªãã㨠80 * ï¼CPUä¾å¤ãã³ãã©ä¸ã§å²è¾¼ã¿åªå 81 度ãã¹ã¯ãèªããªãããï¼ãã¹ã㧠82 * ããªãï¼ 83 * (C) CPUä¾å¤ãã³ãã©å®è¡éå§æã«ãã£ã¹ãããç¦æ¢ãã©ã°ãå¤åããªãã㨠84 * (D) CPUä¾å¤ãã³ãã©å®è¡éå§æã«ã¿ã¹ã¯ä¾å¤å¦çç¦æ¢ãã©ã°ãå¤åããªãã㨠85 * (E) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«CPUããã¯ãã©ã°ãå 86 ã«æ»ãã㨠87 * (F) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«å²è¾¼ã¿åªå 88 度ãã¹ã¯ãå 89 ã«æ»ãã㨠90 * (G) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«ãã£ã¹ãããç¦æ¢ãã©ã°ãå¤åããªãã㨠91 * (H) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«ã¿ã¹ã¯ä¾å¤å¦çç¦æ¢ãã©ã°ãå¤åããªãã㨠92 * (I) xsns_xpnãfalseãè¿ãã㨠93 * (J) xsns_dpnãfalseãè¿ãã㨠94 * (K) ã¿ã¹ã¯åæãã«ãããªã«ããªã¼ãã§ããã㨠95 * (L) ã¿ã¹ã¯ä¾å¤ã«ãããªã«ããªã¼ãã§ããã㨠96 * 97 * ã使ç¨ãªã½ã¼ã¹ã 98 * 99 * TASK1: TA_ACTï¼ä¸åªå 100 度ï¼ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ç»é² 101 * TASK2: TA_NULLï¼é«åªå 102 度 41 * CPU例外処理のテスト(11) 42 * 43 * 【テストの目的】 44 * 45 * 割込み優先度マスク=TIPM_ENAALL,ディスパッチ許可状態,タスク例外許 46 * 可状態で発生したCPU例外におけるシステム状態のテスト.タスク切換えに 47 * よりリカバリーできることもテストする. 48 * 49 * 【テスト項目】 50 * 51 * いずれも,割込み優先度マスク=TIPM_ENAALL,ディスパッチ許可状態,タ 52 * スク例外許可状態で発生したCPU例外において, 53 * 54 * (A) CPU例外ハンドラ実行開始時にCPUロックフラグが変化しないこと 55 * (B) CPU例外ハンドラ実行開始時に割込み優先度マスクが変化しないこと 56 * !CPU例外ハンドラ中で割込み優先度マスクを読めないため,テストで 57 * きない. 58 * (C) CPU例外ハンドラ実行開始時にディスパッチ禁止フラグが変化しないこと 59 * (D) CPU例外ハンドラ実行開始時にタスク例外処理禁止フラグが変化しないこと 60 * (E) CPU例外ハンドラリターン時にCPUロックフラグが元に戻ること 61 * (F) CPU例外ハンドラリターン時に割込み優先度マスクが元に戻ること 62 * (G) CPU例外ハンドラリターン時にディスパッチ禁止フラグが変化しないこと 63 * (H) CPU例外ハンドラリターン時にタスク例外処理禁止フラグが変化しないこと 64 * (I) xsns_xpnがfalseを返すこと 65 * (J) xsns_dpnがfalseを返すこと 66 * (K) タスク切換えによるリカバリーができること 67 * (L) タスク例外によるリカバリーができること 68 * 69 * 【使用リソース】 70 * 71 * TASK1: TA_ACT,中優先度,タスク例外処理ルーチン登録 72 * TASK2: TA_NULL,高優先度 103 73 * CPUEXC1: TA_NULL 104 74 * 105 * ããã¹ãã·ã¼ã±ã³ã¹ã 106 * 107 * == TASK1ï¼ä¸åªå 108 度ï¼1åç®ï¼== 109 * 1: ç¶æ 110 ã®ãã§ã㯠75 * 【テストシーケンス】 76 * 77 * == TASK1(中優先度,1回目)== 78 * 1: 状態のチェック 111 79 * ena_tex() 112 * 2: ç¶æ 113 ã®ãã§ã㯠80 * 2: 状態のチェック 114 81 * RAISE_CPU_EXCEPTION 115 * == CPUEXC1ï¼1åç®ï¼== 116 * 3: ç¶æ 117 ã®ãã§ã㯠... (A)(C)(D) 82 * == CPUEXC1(1回目)== 83 * 3: 状態のチェック ... (A)(C)(D) 118 84 * xsns_xpn() == false ... (I) 119 85 * xsns_dpn() == false ... (J) 120 86 * 4: iact_tsk(TASK2) 121 87 * iloc_cpu() 122 * ãªã¿ã¼ã³ 123 * == TASK2ï¼é«åªå 124 度ï¼== 125 * 5: ç¶æ 126 ã®ãã§ã㯠... (E)(F)(G)(H) 88 * リターン 89 * == TASK2(高優先度)== 90 * 5: 状態のチェック ... (E)(F)(G)(H) 127 91 * 6: ter_tsk(TASK1) ... (K) 128 92 * 7: act_tsk(TASK1) ... (K) 129 93 * 8: ext_tsk() 130 * == TASK1ï¼ä¸åªå 131 度ï¼2åç®ï¼== 132 * 9: ç¶æ 133 ã®ãã§ã㯠... (K) 94 * == TASK1(中優先度,2回目)== 95 * 9: 状態のチェック ... (K) 134 96 * ena_tex() 135 * 10: ç¶æ 136 ã®ãã§ã㯠97 * 10: 状態のチェック 137 98 * RAISE_CPU_EXCEPTION 138 * == CPUEXC1ï¼2åç®ï¼== 139 * 11: ç¶æ 140 ã®ãã§ã㯠... (A)(C)(D) 99 * == CPUEXC1(2回目)== 100 * 11: 状態のチェック ... (A)(C)(D) 141 101 * xsns_xpn() == false ... (I) 142 102 * xsns_dpn() == false ... (J) 143 103 * 12: iras_tex(TASK1, 1U) 144 104 * iloc_cpu() 145 * ãªã¿ã¼ã³ 146 * == TASK1ã®ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ == 147 * 13: ç¶æ 148 ã®ãã§ã㯠... (E)(F)(G)(H) 105 * リターン 106 * == TASK1のタスク例外処理ルーチン == 107 * 13: 状態のチェック ... (E)(F)(G)(H) 149 108 * 14: act_tsk(TASK1) ... (L) 150 109 * 15: ext_tsk() ... (L) 151 * == TASK1ï¼ä¸åªå 152 度ï¼3åç®ï¼== 153 * 16: ç¶æ 154 ã®ãã§ã㯠... (L) 155 * 17: ãã¹ãçµäº 110 * == TASK1(中優先度,3回目)== 111 * 16: 状態のチェック ... (L) 112 * 17: テスト終了 156 113 */ 157 114 -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/test_cpuexc12.c
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r313 r315 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 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 責ãããã¨ï¼ 8 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 44 30 * 45 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 46 ã 47 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 48 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 49 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 50 * ã®è²¬ä»»ãè² ããªãï¼ 31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 51 36 * 52 37 * $Id$ … … 54 39 55 40 /* 56 * CPU ä¾å¤å¦çã®ãã¹ã(12)41 * CPU例外処理のテスト(12) 57 42 * 58 * ããã¹ãã®ç®çã43 * 【テストの目的】 59 44 * 60 * å²è¾¼ã¿åªå 61 度ãã¹ã¯ï¼TIPM_ENAALLï¼ãã£ã¹ãããç¦æ¢ç¶æ 62 ï¼ã¿ã¹ã¯ä¾å¤ç¦ 63 * æ¢ç¶æ 64 ã§çºçããCPUä¾å¤ã«ãããã·ã¹ãã ç¶æ 65 ã®ãã¹ãï¼ 45 * 割込み優先度マスク=TIPM_ENAALL,ディスパッチ禁止状態,タスク例外禁 46 * 止状態で発生したCPU例外におけるシステム状態のテスト. 66 47 * 67 * ããã¹ãé 68 ç®ã 48 * 【テスト項目】 69 49 * 70 * ããããï¼å²è¾¼ã¿åªå 71 度ãã¹ã¯ï¼TIPM_ENAALLï¼ãã£ã¹ãããç¦æ¢ç¶æ 72 ï¼ã¿ 73 * ã¹ã¯ä¾å¤ç¦æ¢ç¶æ 74 ã§çºçããCPUä¾å¤ã«ããã¦ï¼ 50 * いずれも,割込み優先度マスク=TIPM_ENAALL,ディスパッチ禁止状態,タ 51 * スク例外禁止状態で発生したCPU例外において, 75 52 * 76 * (A) CPUä¾å¤ãã³ãã©å®è¡éå§æã«CPUããã¯ãã©ã°ãå¤åããªãã㨠77 * (B) CPUä¾å¤ãã³ãã©å®è¡éå§æã«å²è¾¼ã¿åªå 78 度ãã¹ã¯ãå¤åããªãã㨠79 * ï¼CPUä¾å¤ãã³ãã©ä¸ã§å²è¾¼ã¿åªå 80 度ãã¹ã¯ãèªããªãããï¼ãã¹ã㧠81 * ããªãï¼ 82 * (C) CPUä¾å¤ãã³ãã©å®è¡éå§æã«ãã£ã¹ãããç¦æ¢ãã©ã°ãå¤åããªãã㨠83 * (D) CPUä¾å¤ãã³ãã©å®è¡éå§æã«ã¿ã¹ã¯ä¾å¤å¦çç¦æ¢ãã©ã°ãå¤åããªãã㨠84 * (E) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«CPUããã¯ãã©ã°ãå 85 ã«æ»ãã㨠86 * ï¼CPUä¾å¤ãã³ãã©ãããªã¿ã¼ã³ã§ããå ´åã®ã¿ãã¹ãããï¼ 87 * (F) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«å²è¾¼ã¿åªå 88 度ãã¹ã¯ãå 89 ã«æ»ãã㨠90 * ï¼CPUä¾å¤ãã³ãã©ãããªã¿ã¼ã³ã§ããå ´åã®ã¿ãã¹ãããï¼ 91 * (G) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«ãã£ã¹ãããç¦æ¢ãã©ã°ãå¤åããªãã㨠92 * ï¼CPUä¾å¤ãã³ãã©ãããªã¿ã¼ã³ã§ããå ´åã®ã¿ãã¹ãããï¼ 93 * (H) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«ã¿ã¹ã¯ä¾å¤å¦çç¦æ¢ãã©ã°ãå¤åããªãã㨠94 * ï¼CPUä¾å¤ãã³ãã©ãããªã¿ã¼ã³ã§ããå ´åã®ã¿ãã¹ãããï¼ 95 * (I) xsns_xpnãtrueãè¿ãã㨠96 * (J) xsns_dpnãtrueãè¿ãã㨠53 * (A) CPU例外ハンドラ実行開始時にCPUロックフラグが変化しないこと 54 * (B) CPU例外ハンドラ実行開始時に割込み優先度マスクが変化しないこと 55 * !CPU例外ハンドラ中で割込み優先度マスクを読めないため,テストで 56 * きない. 57 * (C) CPU例外ハンドラ実行開始時にディスパッチ禁止フラグが変化しないこと 58 * (D) CPU例外ハンドラ実行開始時にタスク例外処理禁止フラグが変化しないこと 59 * (E) CPU例外ハンドラリターン時にCPUロックフラグが元に戻ること 60 * !CPU例外ハンドラからリターンできる場合のみテストする. 61 * (F) CPU例外ハンドラリターン時に割込み優先度マスクが元に戻ること 62 * !CPU例外ハンドラからリターンできる場合のみテストする. 63 * (G) CPU例外ハンドラリターン時にディスパッチ禁止フラグが変化しないこと 64 * !CPU例外ハンドラからリターンできる場合のみテストする. 65 * (H) CPU例外ハンドラリターン時にタスク例外処理禁止フラグが変化しないこと 66 * !CPU例外ハンドラからリターンできる場合のみテストする. 67 * (I) xsns_xpnがtrueを返すこと 68 * (J) xsns_dpnがtrueを返すこと 97 69 * 98 * ã使ç¨ãªã½ã¼ã¹ã70 * 【使用リソース】 99 71 * 100 * TASK1: TA_ACTï¼ä¸åªå 101 度ï¼ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ç»é² 72 * TASK1: TA_ACT,中優先度,タスク例外処理ルーチン登録 102 73 * CPUEXC1: TA_NULL 103 74 * 104 * ããã¹ãã·ã¼ã±ã³ã¹ã75 * 【テストシーケンス】 105 76 * 106 * == TASK1ï¼ä¸åªå 107 度ï¼== 108 * 1: ç¶æ 109 ã®ãã§ã㯠77 * == TASK1(中優先度)== 78 * 1: 状態のチェック 110 79 * dis_dsp() 111 * 2: ç¶æ 112 ã®ãã§ã㯠80 * 2: 状態のチェック 113 81 * RAISE_CPU_EXCEPTION 114 82 * == CPUEXC1 == 115 * 3: ç¶æ 116 ã®ãã§ã㯠... (A)(C)(D) 83 * 3: 状態のチェック ... (A)(C)(D) 117 84 * xsns_xpn() == true ... (I) 118 85 * xsns_dpn() == true ... (J) 119 * 4: CPUä¾å¤ãã³ãã©ãããªã¿ã¼ã³ã§ããªãå ´åã¯ï¼ããã§çµäº 120 * 4: ãªã¿ã¼ã³ 121 * == TASK1ï¼ç¶ãï¼== 122 * 5: ç¶æ 123 ã®ãã§ã㯠... (E)(F)(G)(H) 124 * 6: ãã¹ãçµäº 86 * 4: CPU例外ハンドラからリターンできない場合は,ここで終了 87 * 4: リターン 88 * == TASK1(続き)== 89 * 5: 状態のチェック ... (E)(F)(G)(H) 90 * 6: テスト終了 125 91 */ 126 92 -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/test_cpuexc13.c
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r313 r315 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 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 責ãããã¨ï¼ 8 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 44 30 * 45 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 46 ã 47 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 48 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 49 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 50 * ã®è²¬ä»»ãè² ããªãï¼ 31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 51 36 * 52 37 * $Id$ … … 54 39 55 40 /* 56 * CPU ä¾å¤å¦çã®ãã¹ã(13)41 * CPU例外処理のテスト(13) 57 42 * 58 * ããã¹ãã®ç®çã43 * 【テストの目的】 59 44 * 60 * å²è¾¼ã¿åªå 61 度ãã¹ã¯ï¼TMIN_INTPRIï¼ãã£ã¹ããã許å¯ç¶æ 62 ï¼ã¿ã¹ã¯ä¾å¤ç¦ 63 * æ¢ç¶æ 64 ã§çºçããCPUä¾å¤ã«ãããã·ã¹ãã ç¶æ 65 ã®ãã¹ãï¼ 45 * 割込み優先度マスク=TMIN_INTPRI,ディスパッチ許可状態,タスク例外禁 46 * 止状態で発生したCPU例外におけるシステム状態のテスト. 66 47 * 67 * ããã¹ãé 68 ç®ã 48 * 【テスト項目】 69 49 * 70 * ããããï¼å²è¾¼ã¿åªå 71 度ãã¹ã¯ï¼TMIN_INTPRIï¼ãã£ã¹ããã許å¯ç¶æ 72 ï¼ã¿ 73 * ã¹ã¯ä¾å¤ç¦æ¢ç¶æ 74 ã§çºçããCPUä¾å¤ã«ããã¦ï¼ 50 * いずれも,割込み優先度マスク=TMIN_INTPRI,ディスパッチ許可状態,タ 51 * スク例外禁止状態で発生したCPU例外において, 75 52 * 76 * (A) CPUä¾å¤ãã³ãã©å®è¡éå§æã«CPUããã¯ãã©ã°ãå¤åããªãã㨠77 * (B) CPUä¾å¤ãã³ãã©å®è¡éå§æã«å²è¾¼ã¿åªå 78 度ãã¹ã¯ãå¤åããªãã㨠79 * ï¼CPUä¾å¤ãã³ãã©ä¸ã§å²è¾¼ã¿åªå 80 度ãã¹ã¯ãèªããªãããï¼ãã¹ã㧠81 * ããªãï¼ 82 * (C) CPUä¾å¤ãã³ãã©å®è¡éå§æã«ãã£ã¹ãããç¦æ¢ãã©ã°ãå¤åããªãã㨠83 * (D) CPUä¾å¤ãã³ãã©å®è¡éå§æã«ã¿ã¹ã¯ä¾å¤å¦çç¦æ¢ãã©ã°ãå¤åããªãã㨠84 * (E) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«CPUããã¯ãã©ã°ãå 85 ã«æ»ãã㨠86 * ï¼CPUä¾å¤ãã³ãã©ãããªã¿ã¼ã³ã§ããå ´åã®ã¿ãã¹ãããï¼ 87 * (F) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«å²è¾¼ã¿åªå 88 度ãã¹ã¯ãå 89 ã«æ»ãã㨠90 * ï¼CPUä¾å¤ãã³ãã©ãããªã¿ã¼ã³ã§ããå ´åã®ã¿ãã¹ãããï¼ 91 * (G) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«ãã£ã¹ãããç¦æ¢ãã©ã°ãå¤åããªãã㨠92 * ï¼CPUä¾å¤ãã³ãã©ãããªã¿ã¼ã³ã§ããå ´åã®ã¿ãã¹ãããï¼ 93 * (H) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«ã¿ã¹ã¯ä¾å¤å¦çç¦æ¢ãã©ã°ãå¤åããªãã㨠94 * ï¼CPUä¾å¤ãã³ãã©ãããªã¿ã¼ã³ã§ããå ´åã®ã¿ãã¹ãããï¼ 95 * (I) xsns_xpnãtrueãè¿ãã㨠96 * (J) xsns_dpnãtrueãè¿ãã㨠53 * (A) CPU例外ハンドラ実行開始時にCPUロックフラグが変化しないこと 54 * (B) CPU例外ハンドラ実行開始時に割込み優先度マスクが変化しないこと 55 * !CPU例外ハンドラ中で割込み優先度マスクを読めないため,テストで 56 * きない. 57 * (C) CPU例外ハンドラ実行開始時にディスパッチ禁止フラグが変化しないこと 58 * (D) CPU例外ハンドラ実行開始時にタスク例外処理禁止フラグが変化しないこと 59 * (E) CPU例外ハンドラリターン時にCPUロックフラグが元に戻ること 60 * !CPU例外ハンドラからリターンできる場合のみテストする. 61 * (F) CPU例外ハンドラリターン時に割込み優先度マスクが元に戻ること 62 * !CPU例外ハンドラからリターンできる場合のみテストする. 63 * (G) CPU例外ハンドラリターン時にディスパッチ禁止フラグが変化しないこと 64 * !CPU例外ハンドラからリターンできる場合のみテストする. 65 * (H) CPU例外ハンドラリターン時にタスク例外処理禁止フラグが変化しないこと 66 * !CPU例外ハンドラからリターンできる場合のみテストする. 67 * (I) xsns_xpnがtrueを返すこと 68 * (J) xsns_dpnがtrueを返すこと 97 69 * 98 * ã使ç¨ãªã½ã¼ã¹ã70 * 【使用リソース】 99 71 * 100 * TASK1: TA_ACTï¼ä¸åªå 101 度ï¼ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ç»é² 72 * TASK1: TA_ACT,中優先度,タスク例外処理ルーチン登録 102 73 * CPUEXC1: TA_NULL 103 74 * 104 * ããã¹ãã·ã¼ã±ã³ã¹ã75 * 【テストシーケンス】 105 76 * 106 * == TASK1ï¼ä¸åªå 107 度ï¼== 108 * 1: ç¶æ 109 ã®ãã§ã㯠77 * == TASK1(中優先度)== 78 * 1: 状態のチェック 110 79 * chg_ipm(TMIN_INTPRI) 111 * 2: ç¶æ 112 ã®ãã§ã㯠80 * 2: 状態のチェック 113 81 * RAISE_CPU_EXCEPTION 114 82 * == CPUEXC1 == 115 * 3: ç¶æ 116 ã®ãã§ã㯠... (A)(C)(D) 83 * 3: 状態のチェック ... (A)(C)(D) 117 84 * xsns_xpn() == true ... (I) 118 85 * xsns_dpn() == true ... (J) 119 * 4: CPUä¾å¤ãã³ãã©ãããªã¿ã¼ã³ã§ããªãå ´åã¯ï¼ããã§çµäº 120 * 4: ãªã¿ã¼ã³ 121 * == TASK1ï¼ç¶ãï¼== 122 * 5: ç¶æ 123 ã®ãã§ã㯠... (E)(F)(G)(H) 124 * 6: ãã¹ãçµäº 86 * 4: CPU例外ハンドラからリターンできない場合は,ここで終了 87 * 4: リターン 88 * == TASK1(続き)== 89 * 5: 状態のチェック ... (E)(F)(G)(H) 90 * 6: テスト終了 125 91 */ 126 92 -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/test_cpuexc2.c
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r313 r315 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 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 責ãããã¨ï¼ 8 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 44 30 * 45 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 46 ã 47 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 48 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 49 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 50 * ã®è²¬ä»»ãè² ããªãï¼ 31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 51 36 * 52 37 * $Id$ … … 54 39 55 40 /* 56 * CPU ä¾å¤å¦çã®ãã¹ã(2)41 * CPU例外処理のテスト(2) 57 42 * 58 * ããã¹ãã®ç®çã43 * 【テストの目的】 59 44 * 60 * éã¿ã¹ã¯ã³ã³ããã¹ãï¼å²è¾¼ããã¯è§£é¤ï¼CPUããã¯ç¶æ 61 ã§çºçããCPUä¾ 62 * å¤ã«ãããã·ã¹ãã ç¶æ 63 ã®ãã¹ãï¼å²è¾¼ã¿åªå 64 度ãã¹ã¯ï¼TIPM_ENAALLï¼ã㣠65 * ã¹ãããç¦æ¢ç¶æ 66 ï¼ã¿ã¹ã¯ä¾å¤è¨±å¯ç¶æ 67 ã§ãã¹ãããï¼ 45 * 非タスクコンテキスト,割込ロック解除,CPUロック状態で発生したCPU例 46 * 外におけるシステム状態のテスト.割込み優先度マスク=TIPM_ENAALL,ディ 47 * スパッチ禁止状態,タスク例外許可状態でテストする. 68 48 * 69 * ããã¹ãé 70 ç®ã 49 * 【テスト項目】 71 50 * 72 * ããããï¼éã¿ã¹ã¯ã³ã³ããã¹ãï¼å²è¾¼ããã¯è§£é¤ï¼CPUããã¯ç¶æ 73 ã§çºç 74 * ããCPUä¾å¤ã«ããã¦ï¼ 51 * いずれも,非タスクコンテキスト,割込ロック解除,CPUロック状態で発生 52 * したCPU例外において, 75 53 * 76 * (A) CPUä¾å¤ãã³ãã©å®è¡éå§æã«CPUããã¯ãã©ã°ãå¤åããªãã㨠77 * (B) CPUä¾å¤ãã³ãã©å®è¡éå§æã«å²è¾¼ã¿åªå 78 度ãã¹ã¯ãå¤åããªãã㨠79 * ï¼CPUä¾å¤ãã³ãã©ä¸ã§å²è¾¼ã¿åªå 80 度ãã¹ã¯ãèªããªãããï¼ãã¹ã㧠81 * ããªãï¼ 82 * (C) CPUä¾å¤ãã³ãã©å®è¡éå§æã«ãã£ã¹ãããç¦æ¢ãã©ã°ãå¤åããªãã㨠83 * (D) CPUä¾å¤ãã³ãã©å®è¡éå§æã«ã¿ã¹ã¯ä¾å¤å¦çç¦æ¢ãã©ã°ãå¤åããªãã㨠84 * (E) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«CPUããã¯ãã©ã°ãå 85 ã«æ»ãã㨠86 * ï¼CPUä¾å¤ãã³ãã©ãããªã¿ã¼ã³ã§ããå ´åã®ã¿ãã¹ãããï¼ 87 * (F) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«å²è¾¼ã¿åªå 88 度ãã¹ã¯ãå 89 ã«æ»ãã㨠90 * ï¼CPUä¾å¤ãã³ãã©ãããªã¿ã¼ã³ã§ããå ´åã®ã¿ãã¹ãããï¼ 91 * (G) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«ãã£ã¹ãããç¦æ¢ãã©ã°ãå¤åããªãã㨠92 * ï¼CPUä¾å¤ãã³ãã©ãããªã¿ã¼ã³ã§ããå ´åã®ã¿ãã¹ãããï¼ 93 * (H) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«ã¿ã¹ã¯ä¾å¤å¦çç¦æ¢ãã©ã°ãå¤åããªãã㨠94 * ï¼CPUä¾å¤ãã³ãã©ãããªã¿ã¼ã³ã§ããå ´åã®ã¿ãã¹ãããï¼ 95 * (I) xsns_xpnãtrueãè¿ãã㨠96 * (J) xsns_dpnãtrueãè¿ãã㨠54 * (A) CPU例外ハンドラ実行開始時にCPUロックフラグが変化しないこと 55 * (B) CPU例外ハンドラ実行開始時に割込み優先度マスクが変化しないこと 56 * !CPU例外ハンドラ中で割込み優先度マスクを読めないため,テストで 57 * きない. 58 * (C) CPU例外ハンドラ実行開始時にディスパッチ禁止フラグが変化しないこと 59 * (D) CPU例外ハンドラ実行開始時にタスク例外処理禁止フラグが変化しないこと 60 * (E) CPU例外ハンドラリターン時にCPUロックフラグが元に戻ること 61 * !CPU例外ハンドラからリターンできる場合のみテストする. 62 * (F) CPU例外ハンドラリターン時に割込み優先度マスクが元に戻ること 63 * !CPU例外ハンドラからリターンできる場合のみテストする. 64 * (G) CPU例外ハンドラリターン時にディスパッチ禁止フラグが変化しないこと 65 * !CPU例外ハンドラからリターンできる場合のみテストする. 66 * (H) CPU例外ハンドラリターン時にタスク例外処理禁止フラグが変化しないこと 67 * !CPU例外ハンドラからリターンできる場合のみテストする. 68 * (I) xsns_xpnがtrueを返すこと 69 * (J) xsns_dpnがtrueを返すこと 97 70 * 98 * ã使ç¨ãªã½ã¼ã¹ã71 * 【使用リソース】 99 72 * 100 * TASK1: TA_ACTï¼ä¸åªå 101 度ï¼ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ç»é² 73 * TASK1: TA_ACT,中優先度,タスク例外処理ルーチン登録 102 74 * CPUEXC1: TA_NULL 103 75 * ALM1: TA_NULL 104 76 * 105 * ããã¹ãã·ã¼ã±ã³ã¹ã77 * 【テストシーケンス】 106 78 * 107 * == TASK1ï¼ä¸åªå 108 度ï¼== 109 * 1: ç¶æ 110 ã®ãã§ã㯠79 * == TASK1(中優先度)== 80 * 1: 状態のチェック 111 81 * dis_dsp() 112 82 * ena_tex() 113 * 2: ç¶æ 114 ã®ãã§ã㯠83 * 2: 状態のチェック 115 84 * sta_alm(ALM1, 1U) 116 * ã¢ã©ã¼ã ãã³ãã©1ã®å®è¡ãå¾ 117 㤠85 * アラームハンドラ1の実行を待つ 118 86 * == ALM1 == 119 * 3: ç¶æ 120 ã®ãã§ã㯠87 * 3: 状態のチェック 121 88 * iloc_cpu() 122 89 * RAISE_CPU_EXCEPTION 123 90 * == CPUEXC1 == 124 * 4: ç¶æ 125 ã®ãã§ã㯠... (A)(C)(D) 91 * 4: 状態のチェック ... (A)(C)(D) 126 92 * xsns_xpn() == true ... (I) 127 93 * xsns_dpn() == true ... (J) 128 * 5: CPUä¾å¤ãã³ãã©ãããªã¿ã¼ã³ã§ããªãå ´åã¯ï¼ããã§çµäº 129 * 5: ãªã¿ã¼ã³ 130 * == ALM1ï¼ç¶ãï¼== 131 * 6: ç¶æ 132 ã®ãã§ã㯠... (E)(G)(H) 133 * ãªã¿ã¼ã³ 134 * == TASK1ï¼ç¶ãï¼== 135 * 7: ç¶æ 136 ã®ãã§ã㯠... (F) 137 * 8: ãã¹ãçµäº 94 * 5: CPU例外ハンドラからリターンできない場合は,ここで終了 95 * 5: リターン 96 * == ALM1(続き)== 97 * 6: 状態のチェック ... (E)(G)(H) 98 * リターン 99 * == TASK1(続き)== 100 * 7: 状態のチェック ... (F) 101 * 8: テスト終了 138 102 */ 139 103 -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/test_cpuexc3.c
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r313 r315 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 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 責ãããã¨ï¼ 8 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 44 30 * 45 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 46 ã 47 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 48 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 49 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 50 * ã®è²¬ä»»ãè² ããªãï¼ 31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 51 36 * 52 37 * $Id$ … … 54 39 55 40 /* 56 * CPU ä¾å¤å¦çã®ãã¹ã(3)41 * CPU例外処理のテスト(3) 57 42 * 58 * ããã¹ãã®ç®çã43 * 【テストの目的】 59 44 * 60 * éã¿ã¹ã¯ã³ã³ããã¹ãï¼å²è¾¼ããã¯è§£é¤ï¼CPUããã¯è§£é¤ã§çºçããCPUä¾ 61 * å¤ã«ãããã·ã¹ãã ç¶æ 62 ã®ãã¹ãï¼å²è¾¼ã¿åªå 63 度ãã¹ã¯ï¼TIPM_ENAALLï¼ã㣠64 * ã¹ãããç¦æ¢ç¶æ 65 ï¼ã¿ã¹ã¯ä¾å¤è¨±å¯ç¶æ 66 ã§ãã¹ãããï¼ 45 * 非タスクコンテキスト,割込ロック解除,CPUロック解除で発生したCPU例 46 * 外におけるシステム状態のテスト.割込み優先度マスク=TIPM_ENAALL,ディ 47 * スパッチ禁止状態,タスク例外許可状態でテストする. 67 48 * 68 * ããã¹ãé 69 ç®ã 49 * 【テスト項目】 70 50 * 71 * ããããï¼éã¿ã¹ã¯ã³ã³ããã¹ãï¼å²è¾¼ããã¯è§£é¤ï¼CPUããã¯è§£é¤ã§çºç72 * ããCPUä¾å¤ã«ããã¦ï¼51 * いずれも,非タスクコンテキスト,割込ロック解除,CPUロック解除で発生 52 * したCPU例外において, 73 53 * 74 * (A) CPUä¾å¤ãã³ãã©å®è¡éå§æã«CPUããã¯ãã©ã°ãå¤åããªãã㨠75 * (B) CPUä¾å¤ãã³ãã©å®è¡éå§æã«å²è¾¼ã¿åªå 76 度ãã¹ã¯ãå¤åããªãã㨠77 * ï¼CPUä¾å¤ãã³ãã©ä¸ã§å²è¾¼ã¿åªå 78 度ãã¹ã¯ãèªããªãããï¼ãã¹ã㧠79 * ããªãï¼ 80 * (C) CPUä¾å¤ãã³ãã©å®è¡éå§æã«ãã£ã¹ãããç¦æ¢ãã©ã°ãå¤åããªãã㨠81 * (D) CPUä¾å¤ãã³ãã©å®è¡éå§æã«ã¿ã¹ã¯ä¾å¤å¦çç¦æ¢ãã©ã°ãå¤åããªãã㨠82 * (E) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«CPUããã¯ãã©ã°ãå 83 ã«æ»ãã㨠84 * ï¼CPUä¾å¤ãã³ãã©ãããªã¿ã¼ã³ã§ããå ´åã®ã¿ãã¹ãããï¼ 85 * (F) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«å²è¾¼ã¿åªå 86 度ãã¹ã¯ãå 87 ã«æ»ãã㨠88 * ï¼CPUä¾å¤ãã³ãã©ãããªã¿ã¼ã³ã§ããå ´åã®ã¿ãã¹ãããï¼ 89 * (G) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«ãã£ã¹ãããç¦æ¢ãã©ã°ãå¤åããªãã㨠90 * ï¼CPUä¾å¤ãã³ãã©ãããªã¿ã¼ã³ã§ããå ´åã®ã¿ãã¹ãããï¼ 91 * (H) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«ã¿ã¹ã¯ä¾å¤å¦çç¦æ¢ãã©ã°ãå¤åããªãã㨠92 * ï¼CPUä¾å¤ãã³ãã©ãããªã¿ã¼ã³ã§ããå ´åã®ã¿ãã¹ãããï¼ 93 * (I) xsns_xpnãtrueãè¿ãã㨠94 * (J) xsns_dpnãtrueãè¿ãã㨠54 * (A) CPU例外ハンドラ実行開始時にCPUロックフラグが変化しないこと 55 * (B) CPU例外ハンドラ実行開始時に割込み優先度マスクが変化しないこと 56 * !CPU例外ハンドラ中で割込み優先度マスクを読めないため,テストで 57 * きない. 58 * (C) CPU例外ハンドラ実行開始時にディスパッチ禁止フラグが変化しないこと 59 * (D) CPU例外ハンドラ実行開始時にタスク例外処理禁止フラグが変化しないこと 60 * (E) CPU例外ハンドラリターン時にCPUロックフラグが元に戻ること 61 * !CPU例外ハンドラからリターンできる場合のみテストする. 62 * (F) CPU例外ハンドラリターン時に割込み優先度マスクが元に戻ること 63 * !CPU例外ハンドラからリターンできる場合のみテストする. 64 * (G) CPU例外ハンドラリターン時にディスパッチ禁止フラグが変化しないこと 65 * !CPU例外ハンドラからリターンできる場合のみテストする. 66 * (H) CPU例外ハンドラリターン時にタスク例外処理禁止フラグが変化しないこと 67 * !CPU例外ハンドラからリターンできる場合のみテストする. 68 * (I) xsns_xpnがtrueを返すこと 69 * (J) xsns_dpnがtrueを返すこと 95 70 * 96 * ã使ç¨ãªã½ã¼ã¹ã71 * 【使用リソース】 97 72 * 98 * TASK1: TA_ACTï¼ä¸åªå 99 度ï¼ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ç»é² 73 * TASK1: TA_ACT,中優先度,タスク例外処理ルーチン登録 100 74 * CPUEXC1: TA_NULL 101 75 * ALM1: TA_NULL 102 76 * 103 * ããã¹ãã·ã¼ã±ã³ã¹ã77 * 【テストシーケンス】 104 78 * 105 * == TASK1ï¼ä¸åªå 106 度ï¼== 107 * 1: ç¶æ 108 ã®ãã§ã㯠79 * == TASK1(中優先度)== 80 * 1: 状態のチェック 109 81 * dis_dsp() 110 82 * ena_tex() 111 * 2: ç¶æ 112 ã®ãã§ã㯠83 * 2: 状態のチェック 113 84 * sta_alm(ALM1, 1U) 114 * ã¢ã©ã¼ã ãã³ãã©1ã®å®è¡ãå¾ 115 㤠85 * アラームハンドラ1の実行を待つ 116 86 * == ALM1 == 117 * 3: ç¶æ 118 ã®ãã§ã㯠87 * 3: 状態のチェック 119 88 * RAISE_CPU_EXCEPTION 120 89 * == CPUEXC1 == 121 * 4: ç¶æ 122 ã®ãã§ã㯠... (A)(C)(D) 90 * 4: 状態のチェック ... (A)(C)(D) 123 91 * xsns_xpn() == true ... (I) 124 92 * xsns_dpn() == true ... (J) 125 * 5: CPUä¾å¤ãã³ãã©ãããªã¿ã¼ã³ã§ããªãå ´åã¯ï¼ããã§çµäº 126 * 5: ãªã¿ã¼ã³ 127 * == ALM1ï¼ç¶ãï¼== 128 * 6: ç¶æ 129 ã®ãã§ã㯠... (E)(G)(H) 130 * ãªã¿ã¼ã³ 131 * == TASK1ï¼ç¶ãï¼== 132 * 7: ç¶æ 133 ã®ãã§ã㯠... (F) 134 * 8: ãã¹ãçµäº 93 * 5: CPU例外ハンドラからリターンできない場合は,ここで終了 94 * 5: リターン 95 * == ALM1(続き)== 96 * 6: 状態のチェック ... (E)(G)(H) 97 * リターン 98 * == TASK1(続き)== 99 * 7: 状態のチェック ... (F) 100 * 8: テスト終了 135 101 */ 136 102 -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/test_cpuexc4.c
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r313 r315 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 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 責ãããã¨ï¼ 8 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 44 30 * 45 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 46 ã 47 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 48 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 49 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 50 * ã®è²¬ä»»ãè² ããªãï¼ 31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 51 36 * 52 37 * $Id$ … … 54 39 55 40 /* 56 * CPU ä¾å¤å¦çã®ãã¹ã(4)41 * CPU例外処理のテスト(4) 57 42 * 58 * ããã¹ãã®ç®çã43 * 【テストの目的】 59 44 * 60 * ã¿ã¹ã¯ã³ã³ããã¹ãï¼å²è¾¼ããã¯ç¶æ 61 ã§çºçããCPUä¾å¤ã«ãããã·ã¹ãã 62 * ç¶æ 63 ã®ãã¹ãï¼å²è¾¼ã¿åªå 64 度ãã¹ã¯ï¼TIPM_ENAALLï¼ãã£ã¹ãããç¦æ¢ç¶æ 65 ï¼ 66 * ã¿ã¹ã¯ä¾å¤è¨±å¯ç¶æ 67 ã§ãã¹ãããï¼ 45 * タスクコンテキスト,割込ロック状態で発生したCPU例外におけるシステム 46 * 状態のテスト.割込み優先度マスク=TIPM_ENAALL,ディスパッチ禁止状態, 47 * タスク例外許可状態でテストする. 68 48 * 69 * ããã¹ãé 70 ç®ã 49 * 【テスト項目】 71 50 * 72 * ããããï¼ã¿ã¹ã¯ã³ã³ããã¹ãï¼å²è¾¼ããã¯ç¶æ 73 ã§çºçããCPUä¾å¤ã«ãã 74 * ã¦ï¼ 51 * いずれも,タスクコンテキスト,割込ロック状態で発生したCPU例外におい 52 * て, 75 53 * 76 * (A) CPUä¾å¤ãã³ãã©å®è¡éå§æã«CPUããã¯ãã©ã°ãå¤åããªãã㨠77 * ï¼å²è¾¼ã¿ããã¯ç¶æ 78 ã§çºçããCPUä¾å¤ã§ã¯ï¼ã·ã¹ãã ç¶æ 79 ãæ£ããèª 80 * ãããã¨ãä¿è¨¼ãããªãããï¼ãã¹ãã§ããªãï¼ 81 * (B) CPUä¾å¤ãã³ãã©å®è¡éå§æã«å²è¾¼ã¿åªå 82 度ãã¹ã¯ãå¤åããªãã㨠83 * ï¼å²è¾¼ã¿ããã¯ç¶æ 84 ã§çºçããCPUä¾å¤ã§ã¯ï¼ã·ã¹ãã ç¶æ 85 ãæ£ããèª 86 * ãããã¨ãä¿è¨¼ãããªãããï¼ãã¹ãã§ããªãï¼ 87 * (C) CPUä¾å¤ãã³ãã©å®è¡éå§æã«ãã£ã¹ãããç¦æ¢ãã©ã°ãå¤åããªãã㨠88 * ï¼å²è¾¼ã¿ããã¯ç¶æ 89 ã§çºçããCPUä¾å¤ã§ã¯ï¼ã·ã¹ãã ç¶æ 90 ãæ£ããèª 91 * ãããã¨ãä¿è¨¼ãããªãããï¼ãã¹ãã§ããªãï¼ 92 * (D) CPUä¾å¤ãã³ãã©å®è¡éå§æã«ã¿ã¹ã¯ä¾å¤å¦çç¦æ¢ãã©ã°ãå¤åããªãã㨠93 * ï¼å²è¾¼ã¿ããã¯ç¶æ 94 ã§çºçããCPUä¾å¤ã§ã¯ï¼ã·ã¹ãã ç¶æ 95 ãæ£ããèª 96 * ãããã¨ãä¿è¨¼ãããªãããï¼ãã¹ãã§ããªãï¼ 97 * (E) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«CPUããã¯ãã©ã°ãå 98 ã«æ»ãã㨠99 * ï¼CPUä¾å¤ãã³ãã©ãããªã¿ã¼ã³ã§ããå ´åã®ã¿ãã¹ãããï¼ 100 * (F) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«å²è¾¼ã¿åªå 101 度ãã¹ã¯ãå 102 ã«æ»ãã㨠103 * ï¼CPUä¾å¤ãã³ãã©ãããªã¿ã¼ã³ã§ããå ´åã®ã¿ãã¹ãããï¼ 104 * (G) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«ãã£ã¹ãããç¦æ¢ãã©ã°ãå¤åããªãã㨠105 * ï¼CPUä¾å¤ãã³ãã©ãããªã¿ã¼ã³ã§ããå ´åã®ã¿ãã¹ãããï¼ 106 * (H) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«ã¿ã¹ã¯ä¾å¤å¦çç¦æ¢ãã©ã°ãå¤åããªãã㨠107 * ï¼CPUä¾å¤ãã³ãã©ãããªã¿ã¼ã³ã§ããå ´åã®ã¿ãã¹ãããï¼ 108 * (I) xsns_xpnãtrueãè¿ãã㨠109 * (J) xsns_dpnãtrueãè¿ãã㨠54 * (A) CPU例外ハンドラ実行開始時にCPUロックフラグが変化しないこと 55 * !割込みロック状態で発生したCPU例外では,システム状態を正しく読 56 * めることが保証されないため,テストできない. 57 * (B) CPU例外ハンドラ実行開始時に割込み優先度マスクが変化しないこと 58 * !割込みロック状態で発生したCPU例外では,システム状態を正しく読 59 * めることが保証されないため,テストできない. 60 * (C) CPU例外ハンドラ実行開始時にディスパッチ禁止フラグが変化しないこと 61 * !割込みロック状態で発生したCPU例外では,システム状態を正しく読 62 * めることが保証されないため,テストできない. 63 * (D) CPU例外ハンドラ実行開始時にタスク例外処理禁止フラグが変化しないこと 64 * !割込みロック状態で発生したCPU例外では,システム状態を正しく読 65 * めることが保証されないため,テストできない. 66 * (E) CPU例外ハンドラリターン時にCPUロックフラグが元に戻ること 67 * !CPU例外ハンドラからリターンできる場合のみテストする. 68 * (F) CPU例外ハンドラリターン時に割込み優先度マスクが元に戻ること 69 * !CPU例外ハンドラからリターンできる場合のみテストする. 70 * (G) CPU例外ハンドラリターン時にディスパッチ禁止フラグが変化しないこと 71 * !CPU例外ハンドラからリターンできる場合のみテストする. 72 * (H) CPU例外ハンドラリターン時にタスク例外処理禁止フラグが変化しないこと 73 * !CPU例外ハンドラからリターンできる場合のみテストする. 74 * (I) xsns_xpnがtrueを返すこと 75 * (J) xsns_dpnがtrueを返すこと 110 76 * 111 * ã使ç¨ãªã½ã¼ã¹ã77 * 【使用リソース】 112 78 * 113 * TASK1: TA_ACTï¼ä¸åªå 114 度ï¼ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ç»é² 79 * TASK1: TA_ACT,中優先度,タスク例外処理ルーチン登録 115 80 * CPUEXC1: TA_NULL 116 81 * 117 * ããã¹ãã·ã¼ã±ã³ã¹ã82 * 【テストシーケンス】 118 83 * 119 * == TASK1ï¼ä¸åªå 120 度ï¼== 121 * 1: ç¶æ 122 ã®ãã§ã㯠84 * == TASK1(中優先度)== 85 * 1: 状態のチェック 123 86 * dis_dsp() 124 87 * ena_tex() 125 * 2: ç¶æ 126 ã®ãã§ã㯠88 * 2: 状態のチェック 127 89 * SIL_LOC_INT() 128 90 * RAISE_CPU_EXCEPTION … … 130 92 * 3: xsns_xpn() == true ... (I) 131 93 * xsns_dpn() == true ... (J) 132 * 4: CPU ä¾å¤ãã³ãã©ãããªã¿ã¼ã³ã§ããªãå ´åã¯ï¼ããã§çµäº133 * 4: ãªã¿ã¼ã³134 * == TASK1 ï¼ç¶ãï¼==94 * 4: CPU例外ハンドラからリターンできない場合は,ここで終了 95 * 4: リターン 96 * == TASK1(続き)== 135 97 * 5: SIL_UNL_LOC() 136 * 6: ç¶æ 137 ã®ãã§ã㯠... (E)(F)(G)(H) 138 * 7: ãã¹ãçµäº 98 * 6: 状態のチェック ... (E)(F)(G)(H) 99 * 7: テスト終了 139 100 */ 140 101 -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/test_cpuexc5.c
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r313 r315 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 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 責ãããã¨ï¼ 8 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 44 30 * 45 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 46 ã 47 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 48 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 49 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 50 * ã®è²¬ä»»ãè² ããªãï¼ 31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 51 36 * 52 37 * $Id$ … … 54 39 55 40 /* 56 * CPU ä¾å¤å¦çã®ãã¹ã(5)41 * CPU例外処理のテスト(5) 57 42 * 58 * ããã¹ãã®ç®çã43 * 【テストの目的】 59 44 * 60 * ã¿ã¹ã¯ã³ã³ããã¹ãï¼å²è¾¼ããã¯è§£é¤ï¼CPUããã¯ç¶æ 61 ã§çºçããCPUä¾å¤ 62 * ã«ãããã·ã¹ãã ç¶æ 63 ã®ãã¹ãï¼å²è¾¼ã¿åªå 64 度ãã¹ã¯ï¼TIPM_ENAALLï¼ã㣠65 * ã¹ãããç¦æ¢ç¶æ 66 ï¼ã¿ã¹ã¯ä¾å¤è¨±å¯ç¶æ 67 ã§ãã¹ãããï¼ 45 * タスクコンテキスト,割込ロック解除,CPUロック状態で発生したCPU例外 46 * におけるシステム状態のテスト.割込み優先度マスク=TIPM_ENAALL,ディ 47 * スパッチ禁止状態,タスク例外許可状態でテストする. 68 48 * 69 * ããã¹ãé 70 ç®ã 49 * 【テスト項目】 71 50 * 72 * ããããï¼ã¿ã¹ã¯ã³ã³ããã¹ãï¼å²è¾¼ããã¯è§£é¤ï¼CPUããã¯ç¶æ 73 ã§çºçã 74 * ãCPUä¾å¤ã«ããã¦ï¼ 51 * いずれも,タスクコンテキスト,割込ロック解除,CPUロック状態で発生し 52 * たCPU例外において, 75 53 * 76 * (A) CPUä¾å¤ãã³ãã©å®è¡éå§æã«CPUããã¯ãã©ã°ãå¤åããªãã㨠77 * (B) CPUä¾å¤ãã³ãã©å®è¡éå§æã«å²è¾¼ã¿åªå 78 度ãã¹ã¯ãå¤åããªãã㨠79 * ï¼CPUä¾å¤ãã³ãã©ä¸ã§å²è¾¼ã¿åªå 80 度ãã¹ã¯ãèªããªãããï¼ãã¹ã㧠81 * ããªãï¼ 82 * (C) CPUä¾å¤ãã³ãã©å®è¡éå§æã«ãã£ã¹ãããç¦æ¢ãã©ã°ãå¤åããªãã㨠83 * (D) CPUä¾å¤ãã³ãã©å®è¡éå§æã«ã¿ã¹ã¯ä¾å¤å¦çç¦æ¢ãã©ã°ãå¤åããªãã㨠84 * (E) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«CPUããã¯ãã©ã°ãå 85 ã«æ»ãã㨠86 * ï¼CPUä¾å¤ãã³ãã©ãããªã¿ã¼ã³ã§ããå ´åã®ã¿ãã¹ãããï¼ 87 * (F) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«å²è¾¼ã¿åªå 88 度ãã¹ã¯ãå 89 ã«æ»ãã㨠90 * ï¼CPUä¾å¤ãã³ãã©ãããªã¿ã¼ã³ã§ããå ´åã®ã¿ãã¹ãããï¼ 91 * (G) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«ãã£ã¹ãããç¦æ¢ãã©ã°ãå¤åããªãã㨠92 * ï¼CPUä¾å¤ãã³ãã©ãããªã¿ã¼ã³ã§ããå ´åã®ã¿ãã¹ãããï¼ 93 * (H) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«ã¿ã¹ã¯ä¾å¤å¦çç¦æ¢ãã©ã°ãå¤åããªãã㨠94 * ï¼CPUä¾å¤ãã³ãã©ãããªã¿ã¼ã³ã§ããå ´åã®ã¿ãã¹ãããï¼ 95 * (I) xsns_xpnãtrueãè¿ãã㨠96 * (J) xsns_dpnãtrueãè¿ãã㨠54 * (A) CPU例外ハンドラ実行開始時にCPUロックフラグが変化しないこと 55 * (B) CPU例外ハンドラ実行開始時に割込み優先度マスクが変化しないこと 56 * !CPU例外ハンドラ中で割込み優先度マスクを読めないため,テストで 57 * きない. 58 * (C) CPU例外ハンドラ実行開始時にディスパッチ禁止フラグが変化しないこと 59 * (D) CPU例外ハンドラ実行開始時にタスク例外処理禁止フラグが変化しないこと 60 * (E) CPU例外ハンドラリターン時にCPUロックフラグが元に戻ること 61 * !CPU例外ハンドラからリターンできる場合のみテストする. 62 * (F) CPU例外ハンドラリターン時に割込み優先度マスクが元に戻ること 63 * !CPU例外ハンドラからリターンできる場合のみテストする. 64 * (G) CPU例外ハンドラリターン時にディスパッチ禁止フラグが変化しないこと 65 * !CPU例外ハンドラからリターンできる場合のみテストする. 66 * (H) CPU例外ハンドラリターン時にタスク例外処理禁止フラグが変化しないこと 67 * !CPU例外ハンドラからリターンできる場合のみテストする. 68 * (I) xsns_xpnがtrueを返すこと 69 * (J) xsns_dpnがtrueを返すこと 97 70 * 98 * ã使ç¨ãªã½ã¼ã¹ã71 * 【使用リソース】 99 72 * 100 * TASK1: TA_ACTï¼ä¸åªå 101 度ï¼ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ç»é² 73 * TASK1: TA_ACT,中優先度,タスク例外処理ルーチン登録 102 74 * CPUEXC1: TA_NULL 103 75 * 104 * ããã¹ãã·ã¼ã±ã³ã¹ã76 * 【テストシーケンス】 105 77 * 106 * == TASK1ï¼ä¸åªå 107 度ï¼== 108 * 1: ç¶æ 109 ã®ãã§ã㯠78 * == TASK1(中優先度)== 79 * 1: 状態のチェック 110 80 * dis_dsp() 111 81 * ena_tex() 112 82 * loc_cpu() 113 * 2: ç¶æ 114 ã®ãã§ã㯠83 * 2: 状態のチェック 115 84 * RAISE_CPU_EXCEPTION 116 85 * == CPUEXC1 == 117 * 3: ç¶æ 118 ã®ãã§ã㯠... (A)(C)(D) 86 * 3: 状態のチェック ... (A)(C)(D) 119 87 * xsns_xpn() == true ... (I) 120 88 * xsns_dpn() == true ... (J) 121 * 4: CPUä¾å¤ãã³ãã©ãããªã¿ã¼ã³ã§ããªãå ´åã¯ï¼ããã§çµäº 122 * 4: ãªã¿ã¼ã³ 123 * == TASK1ï¼ç¶ãï¼== 124 * 5: ç¶æ 125 ã®ãã§ã㯠... (E)(F)(G)(H) 126 * 6: ãã¹ãçµäº 89 * 4: CPU例外ハンドラからリターンできない場合は,ここで終了 90 * 4: リターン 91 * == TASK1(続き)== 92 * 5: 状態のチェック ... (E)(F)(G)(H) 93 * 6: テスト終了 127 94 */ 128 95 -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/test_cpuexc6.c
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r313 r315 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 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 責ãããã¨ï¼ 8 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 44 30 * 45 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 46 ã 47 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 48 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 49 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 50 * ã®è²¬ä»»ãè² ããªãï¼ 31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 51 36 * 52 37 * $Id$ … … 54 39 55 40 /* 56 * CPU ä¾å¤å¦çã®ãã¹ã(6)41 * CPU例外処理のテスト(6) 57 42 * 58 * ããã¹ãã®ç®çã43 * 【テストの目的】 59 44 * 60 * å²è¾¼ã¿åªå 61 度ãã¹ã¯ï¼TIPM_ENAALLï¼ãã£ã¹ããã許å¯ç¶æ 62 ï¼ã¿ã¹ã¯ä¾å¤ç¦ 63 * æ¢ç¶æ 64 ã§çºçããCPUä¾å¤ã«ãããã·ã¹ãã ç¶æ 65 ã®ãã¹ãï¼ã¿ã¹ã¯åæãã« 66 * ãããªã«ããªã¼ã§ãããã¨ããã¹ãããï¼ 45 * 割込み優先度マスク=TIPM_ENAALL,ディスパッチ許可状態,タスク例外禁 46 * 止状態で発生したCPU例外におけるシステム状態のテスト.タスク切換えに 47 * よりリカバリーできることもテストする. 67 48 * 68 * ããã¹ãé 69 ç®ã 49 * 【テスト項目】 70 50 * 71 * ããããï¼å²è¾¼ã¿åªå 72 度ãã¹ã¯ï¼TIPM_ENAALLï¼ãã£ã¹ããã許å¯ç¶æ 73 ï¼ã¿ 74 * ã¹ã¯ä¾å¤ç¦æ¢ç¶æ 75 ã§çºçããCPUä¾å¤ã«ããã¦ï¼ 51 * いずれも,割込み優先度マスク=TIPM_ENAALL,ディスパッチ許可状態,タ 52 * スク例外禁止状態で発生したCPU例外において, 76 53 * 77 * (A) CPUä¾å¤ãã³ãã©å®è¡éå§æã«CPUããã¯ãã©ã°ãå¤åããªãã㨠78 * (B) CPUä¾å¤ãã³ãã©å®è¡éå§æã«å²è¾¼ã¿åªå 79 度ãã¹ã¯ãå¤åããªãã㨠80 * ï¼CPUä¾å¤ãã³ãã©ä¸ã§å²è¾¼ã¿åªå 81 度ãã¹ã¯ãèªããªãããï¼ãã¹ã㧠82 * ããªãï¼ 83 * (C) CPUä¾å¤ãã³ãã©å®è¡éå§æã«ãã£ã¹ãããç¦æ¢ãã©ã°ãå¤åããªãã㨠84 * (D) CPUä¾å¤ãã³ãã©å®è¡éå§æã«ã¿ã¹ã¯ä¾å¤å¦çç¦æ¢ãã©ã°ãå¤åããªãã㨠85 * (E) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«CPUããã¯ãã©ã°ãå 86 ã«æ»ãã㨠87 * (F) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«å²è¾¼ã¿åªå 88 度ãã¹ã¯ãå 89 ã«æ»ãã㨠90 * (G) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«ãã£ã¹ãããç¦æ¢ãã©ã°ãå¤åããªãã㨠91 * (H) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«ã¿ã¹ã¯ä¾å¤å¦çç¦æ¢ãã©ã°ãå¤åããªãã㨠92 * (I) xsns_xpnãtrueãè¿ãã㨠93 * (J) xsns_dpnãfalseãè¿ãã㨠94 * (K) ã¿ã¹ã¯åæãã«ãããªã«ããªã¼ãã§ããã㨠54 * (A) CPU例外ハンドラ実行開始時にCPUロックフラグが変化しないこと 55 * (B) CPU例外ハンドラ実行開始時に割込み優先度マスクが変化しないこと 56 * !CPU例外ハンドラ中で割込み優先度マスクを読めないため,テストで 57 * きない. 58 * (C) CPU例外ハンドラ実行開始時にディスパッチ禁止フラグが変化しないこと 59 * (D) CPU例外ハンドラ実行開始時にタスク例外処理禁止フラグが変化しないこと 60 * (E) CPU例外ハンドラリターン時にCPUロックフラグが元に戻ること 61 * (F) CPU例外ハンドラリターン時に割込み優先度マスクが元に戻ること 62 * (G) CPU例外ハンドラリターン時にディスパッチ禁止フラグが変化しないこと 63 * (H) CPU例外ハンドラリターン時にタスク例外処理禁止フラグが変化しないこと 64 * (I) xsns_xpnがtrueを返すこと 65 * (J) xsns_dpnがfalseを返すこと 66 * (K) タスク切換えによるリカバリーができること 95 67 * 96 * ã使ç¨ãªã½ã¼ã¹ã68 * 【使用リソース】 97 69 * 98 * TASK1: TA_ACTï¼ä¸åªå 99 度ï¼ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ç»é² 100 * TASK2: TA_NULLï¼é«åªå 101 度 70 * TASK1: TA_ACT,中優先度,タスク例外処理ルーチン登録 71 * TASK2: TA_NULL,高優先度 102 72 * CPUEXC1: TA_NULL 103 73 * 104 * ããã¹ãã·ã¼ã±ã³ã¹ã74 * 【テストシーケンス】 105 75 * 106 * == TASK1ï¼ä¸åªå 107 度ï¼1åç®ï¼== 108 * 1: ç¶æ 109 ã®ãã§ã㯠76 * == TASK1(中優先度,1回目)== 77 * 1: 状態のチェック 110 78 * 2: RAISE_CPU_EXCEPTION 111 79 * == CPUEXC1 == 112 * 3: ç¶æ 113 ã®ãã§ã㯠... (A),(C),(D) 80 * 3: 状態のチェック ... (A),(C),(D) 114 81 * xsns_xpn() == true ... (I) 115 82 * xsns_dpn() == false ... (J) 116 83 * 4: iact_tsk(TASK2) 117 84 * iloc_cpu() 118 * ãªã¿ã¼ã³ 119 * == TASK2ï¼é«åªå 120 度ï¼== 121 * 5: ç¶æ 122 ã®ãã§ã㯠... (E),(F),(G),(H) 85 * リターン 86 * == TASK2(高優先度)== 87 * 5: 状態のチェック ... (E),(F),(G),(H) 123 88 * 6: ter_tsk(TASK1) ... (K) 124 89 * 7: act_tsk(TASK1) ... (K) 125 90 * 8: ext_tsk() 126 * == TASK1ï¼ä¸åªå 127 度ï¼2åç®ï¼== 128 * 9: ç¶æ 129 ã®ãã§ã㯠... (K) 130 * 10: ãã¹ãçµäº 91 * == TASK1(中優先度,2回目)== 92 * 9: 状態のチェック ... (K) 93 * 10: テスト終了 131 94 */ 132 95 -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/test_cpuexc7.c
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r313 r315 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 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 責ãããã¨ï¼ 8 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 44 30 * 45 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 46 ã 47 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 48 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 49 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 50 * ã®è²¬ä»»ãè² ããªãï¼ 31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 51 36 * 52 37 * $Id$ … … 54 39 55 40 /* 56 * CPU ä¾å¤å¦çã®ãã¹ã(7)41 * CPU例外処理のテスト(7) 57 42 * 58 * ããã¹ãã®ç®çã43 * 【テストの目的】 59 44 * 60 * å²è¾¼ã¿åªå 61 度ãã¹ã¯ï¼TIPM_ENAALLï¼ãã£ã¹ãããç¦æ¢ç¶æ 62 ï¼ã¿ã¹ã¯ä¾å¤è¨± 63 * å¯ç¶æ 64 ã§çºçããCPUä¾å¤ã«ãããã·ã¹ãã ç¶æ 65 ã®ãã¹ãï¼ã¿ã¹ã¯ä¾å¤ã«ã 66 * ããªã«ããªã¼ã§ãããã¨ããã¹ãããï¼ 45 * 割込み優先度マスク=TIPM_ENAALL,ディスパッチ禁止状態,タスク例外許 46 * 可状態で発生したCPU例外におけるシステム状態のテスト.タスク例外によ 47 * りリカバリーできることもテストする. 67 48 * 68 * ããã¹ãé 69 ç®ã 49 * 【テスト項目】 70 50 * 71 * ããããï¼å²è¾¼ã¿åªå 72 度ãã¹ã¯ï¼TIPM_ENAALLï¼ãã£ã¹ãããç¦æ¢ç¶æ 73 ï¼ã¿ 74 * ã¹ã¯ä¾å¤è¨±å¯ç¶æ 75 ã§çºçããCPUä¾å¤ã«ããã¦ï¼ 51 * いずれも,割込み優先度マスク=TIPM_ENAALL,ディスパッチ禁止状態,タ 52 * スク例外許可状態で発生したCPU例外において, 76 53 * 77 * (A) CPUä¾å¤ãã³ãã©å®è¡éå§æã«CPUããã¯ãã©ã°ãå¤åããªãã㨠78 * (B) CPUä¾å¤ãã³ãã©å®è¡éå§æã«å²è¾¼ã¿åªå 79 度ãã¹ã¯ãå¤åããªãã㨠80 * ï¼CPUä¾å¤ãã³ãã©ä¸ã§å²è¾¼ã¿åªå 81 度ãã¹ã¯ãèªããªãããï¼ãã¹ã㧠82 * ããªãï¼ 83 * (C) CPUä¾å¤ãã³ãã©å®è¡éå§æã«ãã£ã¹ãããç¦æ¢ãã©ã°ãå¤åããªãã㨠84 * (D) CPUä¾å¤ãã³ãã©å®è¡éå§æã«ã¿ã¹ã¯ä¾å¤å¦çç¦æ¢ãã©ã°ãå¤åããªãã㨠85 * (E) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«CPUããã¯ãã©ã°ãå 86 ã«æ»ãã㨠87 * (F) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«å²è¾¼ã¿åªå 88 度ãã¹ã¯ãå 89 ã«æ»ãã㨠90 * (G) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«ãã£ã¹ãããç¦æ¢ãã©ã°ãå¤åããªãã㨠91 * (H) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«ã¿ã¹ã¯ä¾å¤å¦çç¦æ¢ãã©ã°ãå¤åããªãã㨠92 * (I) xsns_xpnãfalseãè¿ãã㨠93 * (J) xsns_dpnãtrueãè¿ãã㨠94 * (L) ã¿ã¹ã¯ä¾å¤ã«ãããªã«ããªã¼ãã§ããã㨠54 * (A) CPU例外ハンドラ実行開始時にCPUロックフラグが変化しないこと 55 * (B) CPU例外ハンドラ実行開始時に割込み優先度マスクが変化しないこと 56 * !CPU例外ハンドラ中で割込み優先度マスクを読めないため,テストで 57 * きない. 58 * (C) CPU例外ハンドラ実行開始時にディスパッチ禁止フラグが変化しないこと 59 * (D) CPU例外ハンドラ実行開始時にタスク例外処理禁止フラグが変化しないこと 60 * (E) CPU例外ハンドラリターン時にCPUロックフラグが元に戻ること 61 * (F) CPU例外ハンドラリターン時に割込み優先度マスクが元に戻ること 62 * (G) CPU例外ハンドラリターン時にディスパッチ禁止フラグが変化しないこと 63 * (H) CPU例外ハンドラリターン時にタスク例外処理禁止フラグが変化しないこと 64 * (I) xsns_xpnがfalseを返すこと 65 * (J) xsns_dpnがtrueを返すこと 66 * (L) タスク例外によるリカバリーができること 95 67 * 96 * ã使ç¨ãªã½ã¼ã¹ã68 * 【使用リソース】 97 69 * 98 * TASK1: TA_ACTï¼ä¸åªå 99 度ï¼ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ç»é² 70 * TASK1: TA_ACT,中優先度,タスク例外処理ルーチン登録 100 71 * CPUEXC1: TA_NULL 101 72 * 102 * ããã¹ãã·ã¼ã±ã³ã¹ã73 * 【テストシーケンス】 103 74 * 104 * == TASK1ï¼ä¸åªå 105 度ï¼1åç®ï¼== 106 * 1: ç¶æ 107 ã®ãã§ã㯠75 * == TASK1(中優先度,1回目)== 76 * 1: 状態のチェック 108 77 * dis_dsp() 109 78 * ena_tex() 110 * 2: ç¶æ 111 ã®ãã§ã㯠79 * 2: 状態のチェック 112 80 * RAISE_CPU_EXCEPTION 113 81 * == CPUEXC1 == 114 * 3: ç¶æ 115 ã®ãã§ã㯠... (A),(C),(D) 82 * 3: 状態のチェック ... (A),(C),(D) 116 83 * xsns_xpn() == false ... (I) 117 84 * xsns_dpn() == true ... (J) 118 85 * 4: iras_tex(TASK1, 1U) 119 86 * iloc_cpu() 120 * ãªã¿ã¼ã³ 121 * == TASK1ã®ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ == 122 * 5: ç¶æ 123 ã®ãã§ã㯠... (E),(F),(G),(H) 87 * リターン 88 * == TASK1のタスク例外処理ルーチン == 89 * 5: 状態のチェック ... (E),(F),(G),(H) 124 90 * 6: act_tsk(TASK1) ... (L) 125 91 * 7: ext_tsk() ... (L) 126 * == TASK1ï¼ä¸åªå 127 度ï¼2åç®ï¼== 128 * 8: ç¶æ 129 ã®ãã§ã㯠... (L) 130 * 9: ãã¹ãçµäº 92 * == TASK1(中優先度,2回目)== 93 * 8: 状態のチェック ... (L) 94 * 9: テスト終了 131 95 */ 132 96 -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/test_cpuexc8.c
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r313 r315 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 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 責ãããã¨ï¼ 8 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 44 30 * 45 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 46 ã 47 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 48 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 49 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 50 * ã®è²¬ä»»ãè² ããªãï¼ 31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 51 36 * 52 37 * $Id$ … … 54 39 55 40 /* 56 * CPU ä¾å¤å¦çã®ãã¹ã(8)41 * CPU例外処理のテスト(8) 57 42 * 58 * ããã¹ãã®ç®çã43 * 【テストの目的】 59 44 * 60 * å²è¾¼ã¿åªå 61 度ãã¹ã¯ï¼TMAX_INTPRIï¼ãã£ã¹ããã許å¯ç¶æ 62 ï¼ã¿ã¹ã¯ä¾å¤è¨± 63 * å¯ç¶æ 64 ã§çºçããCPUä¾å¤ã«ãããã·ã¹ãã ç¶æ 65 ã®ãã¹ãï¼ 45 * 割込み優先度マスク=TMAX_INTPRI,ディスパッチ許可状態,タスク例外許 46 * 可状態で発生したCPU例外におけるシステム状態のテスト. 66 47 * 67 * ãã®ãã¹ãã¯ï¼TMAX_INTPRIã¨TMIN_INTPRIãç°ãªãå ´åã®ã¿å®æ½ããï¼48 * このテストは,TMAX_INTPRIとTMIN_INTPRIが異なる場合のみ実施する. 68 49 * 69 * ããã¹ãé 70 ç®ã 50 * 【テスト項目】 71 51 * 72 * ããããï¼å²è¾¼ã¿åªå 73 度ãã¹ã¯ï¼TMAX_INTPRIï¼ãã£ã¹ããã許å¯ç¶æ 74 ï¼ã¿ 75 * ã¹ã¯ä¾å¤è¨±å¯ç¶æ 76 ã§çºçããCPUä¾å¤ã«ããã¦ï¼ 52 * いずれも,割込み優先度マスク=TMAX_INTPRI,ディスパッチ許可状態,タ 53 * スク例外許可状態で発生したCPU例外において, 77 54 * 78 * (A) CPUä¾å¤ãã³ãã©å®è¡éå§æã«CPUããã¯ãã©ã°ãå¤åããªãã㨠79 * (B) CPUä¾å¤ãã³ãã©å®è¡éå§æã«å²è¾¼ã¿åªå 80 度ãã¹ã¯ãå¤åããªãã㨠81 * ï¼CPUä¾å¤ãã³ãã©ä¸ã§å²è¾¼ã¿åªå 82 度ãã¹ã¯ãèªããªãããï¼ãã¹ã㧠83 * ããªãï¼ 84 * (C) CPUä¾å¤ãã³ãã©å®è¡éå§æã«ãã£ã¹ãããç¦æ¢ãã©ã°ãå¤åããªãã㨠85 * (D) CPUä¾å¤ãã³ãã©å®è¡éå§æã«ã¿ã¹ã¯ä¾å¤å¦çç¦æ¢ãã©ã°ãå¤åããªãã㨠86 * (E) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«CPUããã¯ãã©ã°ãå 87 ã«æ»ãã㨠88 * ï¼CPUä¾å¤ãã³ãã©ãããªã¿ã¼ã³ã§ããå ´åã®ã¿ãã¹ãããï¼ 89 * (F) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«å²è¾¼ã¿åªå 90 度ãã¹ã¯ãå 91 ã«æ»ãã㨠92 * ï¼CPUä¾å¤ãã³ãã©ãããªã¿ã¼ã³ã§ããå ´åã®ã¿ãã¹ãããï¼ 93 * (G) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«ãã£ã¹ãããç¦æ¢ãã©ã°ãå¤åããªãã㨠94 * ï¼CPUä¾å¤ãã³ãã©ãããªã¿ã¼ã³ã§ããå ´åã®ã¿ãã¹ãããï¼ 95 * (H) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«ã¿ã¹ã¯ä¾å¤å¦çç¦æ¢ãã©ã°ãå¤åããªãã㨠96 * ï¼CPUä¾å¤ãã³ãã©ãããªã¿ã¼ã³ã§ããå ´åã®ã¿ãã¹ãããï¼ 97 * (I) xsns_xpnãtrueãè¿ãã㨠98 * (J) xsns_dpnãtrueãè¿ãã㨠55 * (A) CPU例外ハンドラ実行開始時にCPUロックフラグが変化しないこと 56 * (B) CPU例外ハンドラ実行開始時に割込み優先度マスクが変化しないこと 57 * !CPU例外ハンドラ中で割込み優先度マスクを読めないため,テストで 58 * きない. 59 * (C) CPU例外ハンドラ実行開始時にディスパッチ禁止フラグが変化しないこと 60 * (D) CPU例外ハンドラ実行開始時にタスク例外処理禁止フラグが変化しないこと 61 * (E) CPU例外ハンドラリターン時にCPUロックフラグが元に戻ること 62 * !CPU例外ハンドラからリターンできる場合のみテストする. 63 * (F) CPU例外ハンドラリターン時に割込み優先度マスクが元に戻ること 64 * !CPU例外ハンドラからリターンできる場合のみテストする. 65 * (G) CPU例外ハンドラリターン時にディスパッチ禁止フラグが変化しないこと 66 * !CPU例外ハンドラからリターンできる場合のみテストする. 67 * (H) CPU例外ハンドラリターン時にタスク例外処理禁止フラグが変化しないこと 68 * !CPU例外ハンドラからリターンできる場合のみテストする. 69 * (I) xsns_xpnがtrueを返すこと 70 * (J) xsns_dpnがtrueを返すこと 99 71 * 100 * ã使ç¨ãªã½ã¼ã¹ã72 * 【使用リソース】 101 73 * 102 * TASK1: TA_ACTï¼ä¸åªå 103 度ï¼ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ç»é² 74 * TASK1: TA_ACT,中優先度,タスク例外処理ルーチン登録 104 75 * CPUEXC1: TA_NULL 105 76 * 106 * ããã¹ãã·ã¼ã±ã³ã¹ã77 * 【テストシーケンス】 107 78 * 108 * == TASK1ï¼ä¸åªå 109 度ï¼== 110 * 1: ç¶æ 111 ã®ãã§ã㯠79 * == TASK1(中優先度)== 80 * 1: 状態のチェック 112 81 * chg_ipm(TMAX_INTPRI) 113 82 * ena_tex() 114 * 2: ç¶æ 115 ã®ãã§ã㯠83 * 2: 状態のチェック 116 84 * RAISE_CPU_EXCEPTION 117 85 * == CPUEXC1 == 118 * 3: ç¶æ 119 ã®ãã§ã㯠... (A)(C)(D) 86 * 3: 状態のチェック ... (A)(C)(D) 120 87 * xsns_xpn() == true ... (I) 121 88 * xsns_dpn() == true ... (J) 122 * 4: CPUä¾å¤ãã³ãã©ãããªã¿ã¼ã³ã§ããªãå ´åã¯ï¼ããã§çµäº 123 * 4: ãªã¿ã¼ã³ 124 * == TASK1ï¼ç¶ãï¼== 125 * 5: ç¶æ 126 ã®ãã§ã㯠... (E)(F)(G)(H) 127 * 6: ãã¹ãçµäº 89 * 4: CPU例外ハンドラからリターンできない場合は,ここで終了 90 * 4: リターン 91 * == TASK1(続き)== 92 * 5: 状態のチェック ... (E)(F)(G)(H) 93 * 6: テスト終了 128 94 */ 129 95 -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/test_cpuexc9.c
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r313 r315 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 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 責ãããã¨ï¼ 8 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 44 30 * 45 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 46 ã 47 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 48 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 49 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 50 * ã®è²¬ä»»ãè² ããªãï¼ 31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 51 36 * 52 37 * $Id$ … … 54 39 55 40 /* 56 * CPU ä¾å¤å¦çã®ãã¹ã(9)41 * CPU例外処理のテスト(9) 57 42 * 58 * ããã¹ãã®ç®çã43 * 【テストの目的】 59 44 * 60 * å²è¾¼ã¿åªå 61 度ãã¹ã¯ï¼TMIN_INTPRIï¼ãã£ã¹ããã許å¯ç¶æ 62 ï¼ã¿ã¹ã¯ä¾å¤è¨± 63 * å¯ç¶æ 64 ã§çºçããCPUä¾å¤ã«ãããã·ã¹ãã ç¶æ 65 ã®ãã¹ãï¼ 45 * 割込み優先度マスク=TMIN_INTPRI,ディスパッチ許可状態,タスク例外許 46 * 可状態で発生したCPU例外におけるシステム状態のテスト. 66 47 * 67 * ããã¹ãé 68 ç®ã 48 * 【テスト項目】 69 49 * 70 * ããããï¼å²è¾¼ã¿åªå 71 度ãã¹ã¯ï¼TMIN_INTPRIï¼ãã£ã¹ããã許å¯ç¶æ 72 ï¼ã¿ 73 * ã¹ã¯ä¾å¤è¨±å¯ç¶æ 74 ã§çºçããCPUä¾å¤ã«ããã¦ï¼ 50 * いずれも,割込み優先度マスク=TMIN_INTPRI,ディスパッチ許可状態,タ 51 * スク例外許可状態で発生したCPU例外において, 75 52 * 76 * (A) CPUä¾å¤ãã³ãã©å®è¡éå§æã«CPUããã¯ãã©ã°ãå¤åããªãã㨠77 * (B) CPUä¾å¤ãã³ãã©å®è¡éå§æã«å²è¾¼ã¿åªå 78 度ãã¹ã¯ãå¤åããªãã㨠79 * ï¼CPUä¾å¤ãã³ãã©ä¸ã§å²è¾¼ã¿åªå 80 度ãã¹ã¯ãèªããªãããï¼ãã¹ã㧠81 * ããªãï¼ 82 * (C) CPUä¾å¤ãã³ãã©å®è¡éå§æã«ãã£ã¹ãããç¦æ¢ãã©ã°ãå¤åããªãã㨠83 * (D) CPUä¾å¤ãã³ãã©å®è¡éå§æã«ã¿ã¹ã¯ä¾å¤å¦çç¦æ¢ãã©ã°ãå¤åããªãã㨠84 * (E) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«CPUããã¯ãã©ã°ãå 85 ã«æ»ãã㨠86 * ï¼CPUä¾å¤ãã³ãã©ãããªã¿ã¼ã³ã§ããå ´åã®ã¿ãã¹ãããï¼ 87 * (F) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«å²è¾¼ã¿åªå 88 度ãã¹ã¯ãå 89 ã«æ»ãã㨠90 * ï¼CPUä¾å¤ãã³ãã©ãããªã¿ã¼ã³ã§ããå ´åã®ã¿ãã¹ãããï¼ 91 * (G) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«ãã£ã¹ãããç¦æ¢ãã©ã°ãå¤åããªãã㨠92 * ï¼CPUä¾å¤ãã³ãã©ãããªã¿ã¼ã³ã§ããå ´åã®ã¿ãã¹ãããï¼ 93 * (H) CPUä¾å¤ãã³ãã©ãªã¿ã¼ã³æã«ã¿ã¹ã¯ä¾å¤å¦çç¦æ¢ãã©ã°ãå¤åããªãã㨠94 * ï¼CPUä¾å¤ãã³ãã©ãããªã¿ã¼ã³ã§ããå ´åã®ã¿ãã¹ãããï¼ 95 * (I) xsns_xpnãtrueãè¿ãã㨠96 * (J) xsns_dpnãtrueãè¿ãã㨠53 * (A) CPU例外ハンドラ実行開始時にCPUロックフラグが変化しないこと 54 * (B) CPU例外ハンドラ実行開始時に割込み優先度マスクが変化しないこと 55 * !CPU例外ハンドラ中で割込み優先度マスクを読めないため,テストで 56 * きない. 57 * (C) CPU例外ハンドラ実行開始時にディスパッチ禁止フラグが変化しないこと 58 * (D) CPU例外ハンドラ実行開始時にタスク例外処理禁止フラグが変化しないこと 59 * (E) CPU例外ハンドラリターン時にCPUロックフラグが元に戻ること 60 * !CPU例外ハンドラからリターンできる場合のみテストする. 61 * (F) CPU例外ハンドラリターン時に割込み優先度マスクが元に戻ること 62 * !CPU例外ハンドラからリターンできる場合のみテストする. 63 * (G) CPU例外ハンドラリターン時にディスパッチ禁止フラグが変化しないこと 64 * !CPU例外ハンドラからリターンできる場合のみテストする. 65 * (H) CPU例外ハンドラリターン時にタスク例外処理禁止フラグが変化しないこと 66 * !CPU例外ハンドラからリターンできる場合のみテストする. 67 * (I) xsns_xpnがtrueを返すこと 68 * (J) xsns_dpnがtrueを返すこと 97 69 * 98 * ã使ç¨ãªã½ã¼ã¹ã70 * 【使用リソース】 99 71 * 100 * TASK1: TA_ACTï¼ä¸åªå 101 度ï¼ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ç»é² 72 * TASK1: TA_ACT,中優先度,タスク例外処理ルーチン登録 102 73 * CPUEXC1: TA_NULL 103 74 * 104 * ããã¹ãã·ã¼ã±ã³ã¹ã75 * 【テストシーケンス】 105 76 * 106 * == TASK1ï¼ä¸åªå 107 度ï¼== 108 * 1: ç¶æ 109 ã®ãã§ã㯠77 * == TASK1(中優先度)== 78 * 1: 状態のチェック 110 79 * chg_ipm(TMIN_INTPRI) 111 80 * ena_tex() 112 * 2: ç¶æ 113 ã®ãã§ã㯠81 * 2: 状態のチェック 114 82 * RAISE_CPU_EXCEPTION 115 83 * == CPUEXC1 == 116 * 3: ç¶æ 117 ã®ãã§ã㯠... (A)(C)(D) 84 * 3: 状態のチェック ... (A)(C)(D) 118 85 * xsns_xpn() == true ... (I) 119 86 * xsns_dpn() == true ... (J) 120 * 4: CPUä¾å¤ãã³ãã©ãããªã¿ã¼ã³ã§ããªãå ´åã¯ï¼ããã§çµäº 121 * 4: ãªã¿ã¼ã³ 122 * == TASK1ï¼ç¶ãï¼== 123 * 5: ç¶æ 124 ã®ãã§ã㯠... (E)(F)(G)(H) 125 * 6: ãã¹ãçµäº 87 * 4: CPU例外ハンドラからリターンできない場合は,ここで終了 88 * 4: リターン 89 * == TASK1(続き)== 90 * 5: 状態のチェック ... (E)(F)(G)(H) 91 * 6: テスト終了 126 92 */ 127 93 -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/test_dlynse.c
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r313 r315 8 8 * Graduate School of Information Science, Nagoya Univ., JAPAN 9 9 * 10 * ä¸è¨èä½æ¨©è 11 ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ 12 * ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹ 13 * å¤ã»åé 14 å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 15 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 16 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 17 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 18 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 19 * ç¨ã§ããå½¢ã§åé 20 å¸ããå ´åã«ã¯ï¼åé 21 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 22 * è 23 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 24 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 25 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 26 * ç¨ã§ããªãå½¢ã§åé 27 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 28 * ã¨ï¼ 29 * (a) åé 30 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 31 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 32 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 33 * (b) åé 34 å¸ã®å½¢æ 35 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 36 * å ±åãããã¨ï¼ 37 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 38 * 害ãããï¼ä¸è¨èä½æ¨©è 39 ããã³TOPPERSããã¸ã§ã¯ããå 40 責ãããã¨ï¼ 41 * ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç 42 * ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è 43 ããã³TOPPERSããã¸ã§ã¯ãã 44 * å 45 責ãããã¨ï¼ 10 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 11 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 12 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 13 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 14 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 15 * スコード中に含まれていること. 16 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 17 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 18 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 19 * の無保証規定を掲載すること. 20 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 21 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 22 * と. 23 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 24 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 25 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 26 * 報告すること. 27 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 28 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 29 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 30 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 31 * 免責すること. 46 32 * 47 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 48 ã 49 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 50 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 51 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 52 * ã®è²¬ä»»ãè² ããªãï¼ 33 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 34 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 35 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 36 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 37 * の責任を負わない. 53 38 * 54 39 * $Id$ … … 56 41 57 42 /* 58 * sil_dly_nse ã«é¢ãããã¹ã43 * sil_dly_nseに関するテスト 59 44 */ 60 45 … … 67 52 68 53 /* 69 * SIL_DLY_TIM1ã¨SIL_DLY_TIM2ãåç 70 §ããããã«ï¼ã«ã¼ãã«ç¨ã®ããããã¡ 71 * ã¤ã«ãã¤ã³ã¯ã«ã¼ãããï¼ 54 * SIL_DLY_TIM1とSIL_DLY_TIM2を参照するために,カーネル用のヘッダファ 55 * イルをインクルードする. 72 56 */ 73 57 #include "kernel/kernel_impl.h" -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/test_dlynse.cfg
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r313 r315 4 4 5 5 /* 6 * sil_dly_nse ã«é¢ãããã¹ãã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«6 * sil_dly_nseに関するテストのシステムコンフィギュレーションファイル 7 7 */ 8 8 INCLUDE("target_timer.cfg"); -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/test_dlynse.h
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r313 r315 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 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 責ãããã¨ï¼ 8 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 44 30 * 45 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 46 ã 47 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 48 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 49 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 50 * ã®è²¬ä»»ãè² ããªãï¼ 31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 51 36 * 52 37 * @(#) $Id$ … … 54 39 55 40 /* 56 * sil_dly_nse ã«é¢ãããã¹ã41 * sil_dly_nseに関するテスト 57 42 */ 58 43 59 44 /* 60 * ã¿ã¼ã²ããä¾åã®å®ç¾©45 * ターゲット依存の定義 61 46 */ 62 47 #include "target_test.h" 63 48 64 49 /* 65 * åã¿ã¹ã¯ã®åªå 66 度ã®å®ç¾© 50 * 各タスクの優先度の定義 67 51 */ 68 52 #define MAIN_PRIORITY 10 69 53 70 54 /* 71 * ã¿ã¼ã²ããã«ä¾åããå¯è½æ§ã®ããå®æ°ã®å®ç¾©55 * ターゲットに依存する可能性のある定数の定義 72 56 */ 73 57 #ifndef STACK_SIZE 74 #define STACK_SIZE 4096 /* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº*/58 #define STACK_SIZE 4096 /* タスクのスタックサイズ */ 75 59 #endif /* STACK_SIZE */ 76 60 77 61 /* 78 * é¢æ°ã®ãããã¿ã¤ã宣è¨62 * 関数のプロトタイプ宣言 79 63 */ 80 64 #ifndef TOPPERS_MACRO_ONLY -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/test_sem1.c
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r313 r315 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 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 責ãããã¨ï¼ 8 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 44 30 * 45 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 46 ã 47 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 48 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 49 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 50 * ã®è²¬ä»»ãè² ããªãï¼ 31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 51 36 * 52 37 * $Id$ … … 54 39 55 40 /* 56 * ã»ããã©æ©è½ã®ãã¹ã(1) 57 * 58 * ããã¹ãã®ç®çã 59 * 60 * sig_semï¼wai_semï¼CRE_SEMãç¶²ç¾ 61 çã«ãã¹ãããï¼ 62 * ãã ãï¼CRE_SEMã®ã¨ã©ã¼ã®ãã¹ãã¯é¤ãï¼ 63 * 64 * ããã¹ãé 65 ç®ã 66 * 67 * (A) sig_semã®éçã¨ã©ã¼ã®ãã¹ã 68 * (A-1) éã¿ã¹ã¯ã³ã³ããã¹ãããã®å¼åºã 69 * (A-2) CPUããã¯ç¶æ 70 ããã®å¼åºã 71 * (A-3) semidãä¸æ£ï¼å°ããããï¼ 72 * (A-4) semidãä¸æ£ï¼å¤§ããããï¼ 73 * (B) sig_semã«ããã»ããã©å¾ 74 ã¡ç¶æ 75 ã®ã¿ã¹ã¯ãå¾ 76 ã¡è§£é¤ããã 77 * (B-1) å¾ 78 ã¡è§£é¤ãããã¿ã¹ã¯ã«åãæãã 79 * (B-2) ãã£ã¹ãããä¿çç¶æ 80 ã§ï¼åãæãããªã 81 * (B-3) å¾ 82 ã¡è§£é¤ãããã¿ã¹ã¯ãå¼·å¶å¾ 83 ã¡ç¶æ 84 ã§ï¼åãæãããªã 85 * (B-4) å¾ 86 ã¡è§£é¤ãããã¿ã¹ã¯ãåªå 87 度ãä½ãï¼åãæãããªã 88 * (C) sig_semã«ããã»ããã©ã®è³æºæ°ã1å¢ãã 89 * (C-1) ã»ããã©ã®è³æºæ°ã0ãã1ã«ãªã 90 * (C-2) ã»ããã©ã®è³æºæ°ã1ãã2ã«ãªã 91 * (D) sig_semãE_QOVRã¨ã©ã¼ã¨ãªã 92 * (D-1) ã»ããã©ã®æ大è³æºæ°ã1ã®æ 93 * (D-2) ã»ããã©ã®æ大è³æºæ°ã2ã®æ 94 * (E) wai_semã®éçã¨ã©ã¼ã®ãã¹ã 95 * (E-1) éã¿ã¹ã¯ã³ã³ããã¹ãããã®å¼åºã 96 * (E-2) CPUããã¯ç¶æ 97 ããã®å¼åºã 98 * (E-3) ãã£ã¹ãããç¦æ¢ç¶æ 99 ããã®å¼åºã 100 * (E-4) å²è¾¼ã¿åªå 101 度ãã¹ã¯å 102 ¨è§£é¤ã§ãªãç¶æ 103 ããã®å¼åºã 104 * (E-5) semidãä¸æ£ï¼å°ããããï¼ 105 * (E-6) semidãä¸æ£ï¼å¤§ããããï¼ 106 * (F) wai_semã«ããã»ããã©ã®è³æºæ°ã1æ¸ã 107 * (F-1) ã»ããã©ã®è³æºæ°ã1ãã0ã«ãªã 108 * (F-2) ã»ããã©ã®è³æºæ°ã2ãã1ã«ãªã 109 * (G) wai_semã«ããã»ããã©å¾ 110 ã¡ç¶æ 111 ã«ãªã 112 * (G-1) TA_TNULLå±æ§ã®ã»ããã©ã§ï¼å¾ 113 ã£ã¦ããã¿ã¹ã¯ããªãã£ãå ´å 114 * (G-2) TA_TNULLå±æ§ã®ã»ããã©ã§ï¼å¾ 115 ã£ã¦ããã¿ã¹ã¯ããã£ãå ´å 116 * (G-3) TA_TPRIå±æ§ã®ã»ããã©ã§ï¼å¾ 117 ã£ã¦ããã¿ã¹ã¯ããªãã£ãå ´å 118 * (G-4) TA_TPRIå±æ§ã®ã»ããã©ã§ï¼åªå 119 度ãé«ãã¿ã¹ã¯ãå¾ 120 ã£ã¦ããå ´å 121 * (G-5) TA_TPRIå±æ§ã®ã»ããã©ã§ï¼åªå 122 度ãåãã¿ã¹ã¯ãå¾ 123 ã£ã¦ããå ´å 124 * (G-6) TA_TPRIå±æ§ã®ã»ããã©ã§ï¼åªå 125 度ãä½ãã¿ã¹ã¯ãå¾ 126 ã£ã¦ããå ´å 127 * (H) ã»ããã©å¾ 128 ã¡ç¶æ 129 ãå¼·å¶è§£é¤ããã 130 * (I) ã»ããã©å¾ 131 ã¡ç¶æ 132 ã®éã«ã»ããã©ãåæåããã 133 * (J) ã»ããã©ã®è³æºæ°ã®åæå¤ãæ£ããè¨å®ããã 134 * (J-1) ã»ããã©ã®è³æºæ°ã®åæå¤ã0 135 * (J-2) ã»ããã©ã®è³æºæ°ã®åæå¤ã1 136 * (J-3) ã»ããã©ã®è³æºæ°ã®åæå¤ã2 137 * 138 * ã使ç¨ãªã½ã¼ã¹ã 139 * 140 * TASK1: ä¸åªå 141 度ã¿ã¹ã¯ï¼TA_ACTå±æ§ 142 * TASK2: é«åªå 143 度ã¿ã¹ã¯ 144 * TASK3: ä½åªå 145 度ã¿ã¹ã¯ 146 * TASK4: ä¸åªå 147 度ã¿ã¹ã¯ 148 * TASK5: ä¸åªå 149 度ã¿ã¹ã¯ 150 * ALM1: ã¢ã©ã¼ã ãã³ãã© 151 * SEM1: TA_NULLå±æ§ï¼åæè³æºæ°1ï¼æ大è³æºæ°1 152 * SEM2: TA_NULLå±æ§ï¼åæè³æºæ°2ï¼æ大è³æºæ°2 153 * SEM3: TA_TPRIå±æ§ï¼åæè³æºæ°0ï¼æ大è³æºæ°1 154 * 155 * ããã¹ãã·ã¼ã±ã³ã¹ã 156 * 157 * == TASK1ï¼åªå 158 度ï¼ä¸ï¼== 41 * セマフォ機能のテスト(1) 42 * 43 * 【テストの目的】 44 * 45 * sig_sem,wai_sem,CRE_SEMを網羅的にテストする. 46 * ただし,CRE_SEMのエラーのテストは除く. 47 * 48 * 【テスト項目】 49 * 50 * (A) sig_semの静的エラーのテスト 51 * (A-1) 非タスクコンテキストからの呼出し 52 * (A-2) CPUロック状態からの呼出し 53 * (A-3) semidが不正(小さすぎる) 54 * (A-4) semidが不正(大きすぎる) 55 * (B) sig_semによりセマフォ待ち状態のタスクが待ち解除される 56 * (B-1) 待ち解除されたタスクに切り換わる 57 * (B-2) ディスパッチ保留状態で,切り換わらない 58 * (B-3) 待ち解除されたタスクが強制待ち状態で,切り換わらない 59 * (B-4) 待ち解除されたタスクが優先度が低く,切り換わらない 60 * (C) sig_semによりセマフォの資源数が1増える 61 * (C-1) セマフォの資源数が0から1になる 62 * (C-2) セマフォの資源数が1から2になる 63 * (D) sig_semがE_QOVRエラーとなる 64 * (D-1) セマフォの最大資源数が1の時 65 * (D-2) セマフォの最大資源数が2の時 66 * (E) wai_semの静的エラーのテスト 67 * (E-1) 非タスクコンテキストからの呼出し 68 * (E-2) CPUロック状態からの呼出し 69 * (E-3) ディスパッチ禁止状態からの呼出し 70 * (E-4) 割込み優先度マスク全解除でない状態からの呼出し 71 * (E-5) semidが不正(小さすぎる) 72 * (E-6) semidが不正(大きすぎる) 73 * (F) wai_semによりセマフォの資源数が1減る 74 * (F-1) セマフォの資源数が1から0になる 75 * (F-2) セマフォの資源数が2から1になる 76 * (G) wai_semによりセマフォ待ち状態になる 77 * (G-1) TA_TNULL属性のセマフォで,待っているタスクがなかった場合 78 * (G-2) TA_TNULL属性のセマフォで,待っているタスクがあった場合 79 * (G-3) TA_TPRI属性のセマフォで,待っているタスクがなかった場合 80 * (G-4) TA_TPRI属性のセマフォで,優先度が高いタスクが待っている場合 81 * (G-5) TA_TPRI属性のセマフォで,優先度が同じタスクが待っている場合 82 * (G-6) TA_TPRI属性のセマフォで,優先度が低いタスクが待っている場合 83 * (H) セマフォ待ち状態が強制解除される 84 * (I) セマフォ待ち状態の間にセマフォが初期化される 85 * (J) セマフォの資源数の初期値が正しく設定される 86 * (J-1) セマフォの資源数の初期値が0 87 * (J-2) セマフォの資源数の初期値が1 88 * (J-3) セマフォの資源数の初期値が2 89 * 90 * 【使用リソース】 91 * 92 * TASK1: 中優先度タスク,TA_ACT属性 93 * TASK2: 高優先度タスク 94 * TASK3: 低優先度タスク 95 * TASK4: 中優先度タスク 96 * TASK5: 中優先度タスク 97 * ALM1: アラームハンドラ 98 * SEM1: TA_NULL属性,初期資源数1,最大資源数1 99 * SEM2: TA_NULL属性,初期資源数2,最大資源数2 100 * SEM3: TA_TPRI属性,初期資源数0,最大資源数1 101 * 102 * 【テストシーケンス】 103 * 104 * == TASK1(優先度:中)== 159 105 * 1: ref_sem(SEM1, &rsem) 160 106 * assert(rsem.wtskid == TSK_NONE) … … 182 128 * 3: act_tsk(TASK3) 183 129 * 4: slp_tsk() 184 * == TASK3ï¼åªå 185 度ï¼ä½ï¼== 130 * == TASK3(優先度:低)== 186 131 * 5: wai_sem(SEM1) ... (F-1) 187 132 * 6: ref_sem(SEM1, &rsem) … … 195 140 * 10: iwup_tsk(TASK1) 196 141 * 11: RETURN 197 * == TASK1 ï¼ç¶ãï¼==142 * == TASK1(続き)== 198 143 * 12: act_tsk(TASK2) 199 * == TASK2ï¼åªå 200 度ï¼é«ï¼== 144 * == TASK2(優先度:高)== 201 145 * 13: wai_sem(SEM1) ... (G-2) 202 * == TASK1 ï¼ç¶ãï¼==146 * == TASK1(続き)== 203 147 * 14: ref_sem(SEM1, &rsem) 204 148 * assert(rsem.wtskid == TASK3) … … 206 150 * 15: sig_sem(SEM1) ... (B-4) 207 151 * 16: sig_sem(SEM1) ... (B-1) 208 * == TASK2 ï¼ç¶ãï¼==152 * == TASK2(続き)== 209 153 * 17: wai_sem(SEM1) ... (G-1) 210 * == TASK1 ï¼ç¶ãï¼==154 * == TASK1(続き)== 211 155 * 18: dis_dsp() 212 156 * 19: sig_sem(SEM1) ... (B-2) 213 157 * 20: ena_dsp() 214 * == TASK2 ï¼ç¶ãï¼==158 * == TASK2(続き)== 215 159 * 21: wai_sem(SEM1) ... (G-1) 216 * == TASK1 ï¼ç¶ãï¼==160 * == TASK1(続き)== 217 161 * 22: sus_tsk(TASK2) 218 162 * 23: sig_sem(SEM1) ... (B-3) … … 223 167 * assert(rsem.semcnt == 1) 224 168 * 27: rsm_tsk(TASK2) 225 * == TASK2 ï¼ç¶ãï¼==169 * == TASK2(続き)== 226 170 * 28: wai_sem(SEM2) ... (F-2) 227 171 * 29: ref_sem(SEM2, &rsem) … … 230 174 * 30: wai_sem(SEM2) ... (F-1) 231 175 * 31: wai_sem(SEM2) ... (G-1) 232 * == TASK1 ï¼ç¶ãï¼==176 * == TASK1(続き)== 233 177 * 32: sig_sem(SEM2) ... (B-1) 234 * == TASK2 ï¼ç¶ãï¼==178 * == TASK2(続き)== 235 179 * 33: wai_sem(SEM3) ... (G-3) 236 * == TASK1 ï¼ç¶ãï¼==180 * == TASK1(続き)== 237 181 * 34: sig_sem(SEM2) ... (C-1) 238 182 * 35: sig_sem(SEM2) ... (C-2) … … 245 189 * assert(rsem.semcnt == 2) 246 190 * 39: tslp_tsk(10) -> E_TMOUT 247 * == TASK3 ï¼ç¶ãï¼==191 * == TASK3(続き)== 248 192 * 40: wai_sem(SEM3) ... (G-4) 249 * == TASK1 ï¼ç¶ãï¼==193 * == TASK1(続き)== 250 194 * 41: act_tsk(TASK4) 251 195 * 42: act_tsk(TASK5) 252 196 * 43: rot_rdq(TPRI_SELF) 253 * == TASK4ï¼åªå 254 度ï¼ä¸ï¼== 197 * == TASK4(優先度:中)== 255 198 * 44: wai_sem(SEM3) ... (G-6) 256 * == TASK5ï¼åªå 257 度ï¼ä¸ï¼== 199 * == TASK5(優先度:中)== 258 200 * 45: wai_sem(SEM3) ... (G-5) 259 * == TASK1 ï¼ç¶ãï¼==201 * == TASK1(続き)== 260 202 * 46: sig_sem(SEM3) ... (B-1) 261 * == TASK2 ï¼ç¶ãï¼==203 * == TASK2(続き)== 262 204 * 47: wai_sem(SEM1) 263 205 * wai_sem(SEM1) -> E_RLWAI 264 * == TASK1 ï¼ç¶ãï¼==206 * == TASK1(続き)== 265 207 * 48: sig_sem(SEM3) ... (B-4) 266 208 * 49: tslp_tsk(10) -> E_TMOUT 267 * == TASK4 ï¼ç¶ãï¼==209 * == TASK4(続き)== 268 210 * 50: ext_tsk() -> noreturn 269 * == TASK1 ï¼ç¶ãï¼==211 * == TASK1(続き)== 270 212 * 51: sig_sem(SEM3) ... (B-4) 271 213 * 52: tslp_tsk(10) -> E_TMOUT 272 * == TASK5 ï¼ç¶ãï¼==214 * == TASK5(続き)== 273 215 * 53: ext_tsk() -> noreturn 274 * == TASK1 ï¼ç¶ãï¼==216 * == TASK1(続き)== 275 217 * 54: sig_sem(SEM3) ... (B-4) 276 218 * 55: tslp_tsk(10) -> E_TMOUT 277 * == TASK3 ï¼ç¶ãï¼==219 * == TASK3(続き)== 278 220 * 56: ext_tsk() -> noreturn 279 * == TASK1 ï¼ç¶ãï¼==221 * == TASK1(続き)== 280 222 * 57: rel_wai(TASK2) ... (H) 281 * == TASK2 ï¼ç¶ãï¼==223 * == TASK2(続き)== 282 224 * 58: wai_sem(SEM1) -> E_DLT 283 * == TASK1 ï¼ç¶ãï¼==225 * == TASK1(続き)== 284 226 * 59: ini_sem(SEM1) ... (I) 285 * == TASK2 ï¼ç¶ãï¼==227 * == TASK2(続き)== 286 228 * 60: ext_tsk() -> noreturn 287 * == TASK1 ï¼ç¶ãï¼==229 * == TASK1(続き)== 288 230 * 61: END 289 231 */ -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/test_sem1.cfg
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r313 r315 4 4 5 5 /* 6 * ã»ããã©æ©è½ã®ãã¹ã(1)ã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«6 * セマフォ機能のテスト(1)のシステムコンフィギュレーションファイル 7 7 */ 8 8 INCLUDE("target_timer.cfg"); -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/test_sem1.h
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r313 r315 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 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 責ãããã¨ï¼ 8 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 44 30 * 45 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 46 ã 47 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 48 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 49 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 50 * ã®è²¬ä»»ãè² ããªãï¼ 31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 51 36 * 52 37 * @(#) $Id$ … … 54 39 55 40 /* 56 * ã»ããã©æ©è½ã®ãã¹ã(1)41 * セマフォ機能のテスト(1) 57 42 */ 58 43 59 44 /* 60 * ã¿ã¼ã²ããä¾åã®å®ç¾©45 * ターゲット依存の定義 61 46 */ 62 47 #include "target_test.h" 63 48 64 49 /* 65 * åªå 66 度ã®å®ç¾© 50 * 優先度の定義 67 51 */ 68 #define HIGH_PRIORITY 9 /* é«åªå 69 度 */ 70 #define MID_PRIORITY 10 /* ä¸åªå 71 度 */ 72 #define LOW_PRIORITY 11 /* ä½åªå 73 度 */ 52 #define HIGH_PRIORITY 9 /* 高優先度 */ 53 #define MID_PRIORITY 10 /* 中優先度 */ 54 #define LOW_PRIORITY 11 /* 低優先度 */ 74 55 75 56 /* 76 * ã¿ã¼ã²ããã«ä¾åããå¯è½æ§ã®ããå®æ°ã®å®ç¾©57 * ターゲットに依存する可能性のある定数の定義 77 58 */ 78 59 #ifndef STACK_SIZE 79 #define STACK_SIZE 4096 /* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº*/60 #define STACK_SIZE 4096 /* タスクのスタックサイズ */ 80 61 #endif /* STACK_SIZE */ 81 62 82 63 /* 83 * é¢æ°ã®ãããã¿ã¤ã宣è¨64 * 関数のプロトタイプ宣言 84 65 */ 85 66 #ifndef TOPPERS_MACRO_ONLY -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/test_sem2.c
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r313 r315 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 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 責ãããã¨ï¼ 8 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 44 30 * 45 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 46 ã 47 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 48 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 49 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 50 * ã®è²¬ä»»ãè² ããªãï¼ 31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 51 36 * 52 37 * $Id$ … … 54 39 55 40 /* 56 * ã»ããã©æ©è½ã®ãã¹ã(2) 57 * 58 * ããã¹ãã®ç®çã 59 * 60 * isig_semãï¼sig_semã¨ã®éããä¸å¿ã«ãã¹ãããï¼ 61 * pol_semï¼twai_semãï¼wai_semã¨ã®éããä¸å¿ã«ãã¹ãããï¼ 62 * 63 * ããã¹ãé 64 ç®ã 65 * 66 * (A) isig_semã®éçã¨ã©ã¼ã®ãã¹ã 67 * (A-1) ã¿ã¹ã¯ã³ã³ããã¹ãããã®å¼åºã 68 * (A-2) CPUããã¯ç¶æ 69 ããã®å¼åºã 70 * (B) isig_semã«ããã»ããã©å¾ 71 ã¡ç¶æ 72 ã®ã¿ã¹ã¯ãå¾ 73 ã¡è§£é¤ããã 74 * (B-1) ã¢ã¤ãã«ç¶æ 75 ããï¼å¾ 76 ã¡è§£é¤ãããã¿ã¹ã¯ã«åãæãã 77 * (B-2) å®è¡ç¶æ 78 ã®ã¿ã¹ã¯ããï¼å¾ 79 ã¡è§£é¤ãããã¿ã¹ã¯ã«åãæãã 80 * (B-3) ãã£ã¹ãããä¿çç¶æ 81 ã§ï¼åãæãããªã 82 * (B-4) å¾ 83 ã¡è§£é¤ãããã¿ã¹ã¯ãå¼·å¶å¾ 84 ã¡ç¶æ 85 ã§ï¼åãæãããªã 86 * (B-5) å¾ 87 ã¡è§£é¤ãããã¿ã¹ã¯ãåªå 88 度ãä½ãï¼åãæãããªã 89 * (C) pol_semã®éçã¨ã©ã¼ã®ãã¹ã 90 * (C-1) éã¿ã¹ã¯ã³ã³ããã¹ãããã®å¼åºã 91 * (C-2) CPUããã¯ç¶æ 92 ããã®å¼åºã 93 * (C-3) ãã£ã¹ãããç¦æ¢ç¶æ 94 ããã®å¼åºãï¼E_CTXã¨ã©ã¼ã«ãªããªãï¼ 95 * (C-4) å²è¾¼ã¿åªå 96 度ãã¹ã¯å 97 ¨è§£é¤ã§ãªãç¶æ 98 ããã®å¼åºãï¼E_CTXã¨ã©ã¼ 99 * ã«ãªããªãï¼ 100 * (D) pol_semã§ãã¼ãªã³ã°å¤±æãã 101 * (E) twai_semã®éçã¨ã©ã¼ã®ãã¹ã 102 * (E-1) éã¿ã¹ã¯ã³ã³ããã¹ãããã®å¼åºã 103 * (E-2) CPUããã¯ç¶æ 104 ããã®å¼åºã 105 * (E-3) ãã£ã¹ãããç¦æ¢ç¶æ 106 ããã®å¼åºã 107 * (E-4) å²è¾¼ã¿åªå 108 度ãã¹ã¯å 109 ¨è§£é¤ã§ãªãç¶æ 110 ããã®å¼åºã 111 * (E-5) tmoutãä¸æ£ 112 * (F) twai_semã§tmout=TMO_POLã®æã«ãã¼ãªã³ã°å¤±æãã 113 * (G) twai_semã§tmout=TMO_FEVRã®æã«ã»ããã©å¾ 114 ã¡ç¶æ 115 ã«ãªã 116 * (H) twai_semã§tmoutã«ã¿ã¤ã ã¢ã¦ããè¨å®ããæã«ï¼ã¿ã¤ã ã¢ã¦ãä»ãã® 117 * ã»ããã©å¾ 118 ã¡ç¶æ 119 ã«ãªã 120 * 121 * ã使ç¨ãªã½ã¼ã¹ã 122 * 123 * TASK1: ä¸åªå 124 度ã¿ã¹ã¯ï¼TA_ACTå±æ§ 125 * TASK2: é«åªå 126 度ã¿ã¹ã¯ 127 * TASK3: ä½åªå 128 度ã¿ã¹ã¯ 129 * TASK4: ä¸åªå 130 度ã¿ã¹ã¯ 131 * TASK5: ä¸åªå 132 度ã¿ã¹ã¯ 133 * ALM1: ã¢ã©ã¼ã ãã³ãã© 134 * SEM1: TA_NULLå±æ§ï¼åæè³æºæ°1ï¼æ大è³æºæ°1 135 * 136 * ããã¹ãã·ã¼ã±ã³ã¹ã 137 * 138 * == TASK1ï¼åªå 139 度ï¼ä¸ï¼== 41 * セマフォ機能のテスト(2) 42 * 43 * 【テストの目的】 44 * 45 * isig_semを,sig_semとの違いを中心にテストする. 46 * pol_sem,twai_semを,wai_semとの違いを中心にテストする. 47 * 48 * 【テスト項目】 49 * 50 * (A) isig_semの静的エラーのテスト 51 * (A-1) タスクコンテキストからの呼出し 52 * (A-2) CPUロック状態からの呼出し 53 * (B) isig_semによりセマフォ待ち状態のタスクが待ち解除される 54 * (B-1) アイドル状態から,待ち解除されたタスクに切り換わる 55 * (B-2) 実行状態のタスクから,待ち解除されたタスクに切り換わる 56 * (B-3) ディスパッチ保留状態で,切り換わらない 57 * (B-4) 待ち解除されたタスクが強制待ち状態で,切り換わらない 58 * (B-5) 待ち解除されたタスクが優先度が低く,切り換わらない 59 * (C) pol_semの静的エラーのテスト 60 * (C-1) 非タスクコンテキストからの呼出し 61 * (C-2) CPUロック状態からの呼出し 62 * (C-3) ディスパッチ禁止状態からの呼出し(E_CTXエラーにならない) 63 * (C-4) 割込み優先度マスク全解除でない状態からの呼出し(E_CTXエラー 64 * にならない) 65 * (D) pol_semでポーリング失敗する 66 * (E) twai_semの静的エラーのテスト 67 * (E-1) 非タスクコンテキストからの呼出し 68 * (E-2) CPUロック状態からの呼出し 69 * (E-3) ディスパッチ禁止状態からの呼出し 70 * (E-4) 割込み優先度マスク全解除でない状態からの呼出し 71 * (E-5) tmoutが不正 72 * (F) twai_semでtmout=TMO_POLの時にポーリング失敗する 73 * (G) twai_semでtmout=TMO_FEVRの時にセマフォ待ち状態になる 74 * (H) twai_semでtmoutにタイムアウトを設定した時に,タイムアウト付きの 75 * セマフォ待ち状態になる 76 * 77 * 【使用リソース】 78 * 79 * TASK1: 中優先度タスク,TA_ACT属性 80 * TASK2: 高優先度タスク 81 * TASK3: 低優先度タスク 82 * TASK4: 中優先度タスク 83 * TASK5: 中優先度タスク 84 * ALM1: アラームハンドラ 85 * SEM1: TA_NULL属性,初期資源数1,最大資源数1 86 * 87 * 【テストシーケンス】 88 * 89 * == TASK1(優先度:中)== 140 90 * 1: isig_sem(SEM1) -> E_CTX ... (A-1) 141 91 * 2: loc_cpu() … … 163 113 * 10: isig_sem(SEM1) ... (B-1) 164 114 * RETURN 165 * == TASK1 ï¼ç¶ãï¼==115 * == TASK1(続き)== 166 116 * 11: act_tsk(TASK3) 167 117 * 12: wai_sem(SEM1) 168 * == TASK3ï¼åªå 169 度ï¼ä½ï¼== 118 * == TASK3(優先度:低)== 170 119 * 13: sta_alm(ALM1, 10) 171 120 * call(wait_var()) … … 174 123 * call(signal_var()) 175 124 * RETURN 176 * == TASK1 ï¼ç¶ãï¼==125 * == TASK1(続き)== 177 126 * 15: wai_sem(SEM1) 178 * == TASK3 ï¼ç¶ãï¼==127 * == TASK3(続き)== 179 128 * 16: sta_alm(ALM1, 10) 180 129 * dis_dsp() … … 184 133 * call(signal_var()) 185 134 * RETURN 186 * == TASK3 ï¼ç¶ãï¼==135 * == TASK3(続き)== 187 136 * 18: ena_dsp() 188 * == TASK1 ï¼ç¶ãï¼==137 * == TASK1(続き)== 189 138 * 19: wai_sem(SEM1) 190 * == TASK3 ï¼ç¶ãï¼==139 * == TASK3(続き)== 191 140 * 20: sta_alm(ALM1, 10) 192 141 * sus_tsk(TASK1) … … 196 145 * call(signal_var()) 197 146 * RETURN 198 * == TASK3 ï¼ç¶ãï¼==147 * == TASK3(続き)== 199 148 * 22: rsm_tsk(TASK1) 200 * == TASK1 ï¼ç¶ãï¼==149 * == TASK1(続き)== 201 150 * 23: act_tsk(TASK2) 202 * == TASK2ï¼åªå 203 度ï¼é«ï¼== 151 * == TASK2(優先度:高)== 204 152 * 24: tslp_tsk(10) -> E_TMOUT 205 * == TASK1 ï¼ç¶ãï¼==153 * == TASK1(続き)== 206 154 * 25: wai_sem(SEM1) 207 * == TASK3 ï¼ç¶ãï¼==155 * == TASK3(続き)== 208 156 * 26: ext_tsk() -> noreturn 209 * == TASK2 ï¼ç¶ãï¼==157 * == TASK2(続き)== 210 158 * 27: sta_alm(ALM1, 10) 211 159 * call(wait_var()) … … 214 162 * call(signal_var()) 215 163 * RETURN 216 * == TASK2 ï¼ç¶ãï¼==164 * == TASK2(続き)== 217 165 * 29: ext_tsk() -> noreturn 218 * == TASK1 ï¼ç¶ãï¼==166 * == TASK1(続き)== 219 167 * 30: sta_alm(ALM1, 10) 220 168 * 31: twai_sem(SEM1, 100) -> E_RLWAI … … 222 170 * 32: irel_wai(TASK1) 223 171 * RETURN 224 * == TASK1 ï¼ç¶ãï¼==172 * == TASK1(続き)== 225 173 * 33: sta_alm(ALM1, 100) 226 174 * 34: twai_sem(SEM1, 10) -> E_TMOUT ... (H) -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/test_sem2.cfg
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r313 r315 4 4 5 5 /* 6 * ã»ããã©æ©è½ã®ãã¹ã(2)ã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«6 * セマフォ機能のテスト(2)のシステムコンフィギュレーションファイル 7 7 */ 8 8 INCLUDE("target_timer.cfg"); -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/test_sem2.h
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r313 r315 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 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 責ãããã¨ï¼ 8 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 44 30 * 45 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 46 ã 47 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 48 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 49 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 50 * ã®è²¬ä»»ãè² ããªãï¼ 31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 51 36 * 52 37 * @(#) $Id$ … … 54 39 55 40 /* 56 * ã»ããã©æ©è½ã®ãã¹ã(2)41 * セマフォ機能のテスト(2) 57 42 */ 58 43 59 44 /* 60 * ã¿ã¼ã²ããä¾åã®å®ç¾©45 * ターゲット依存の定義 61 46 */ 62 47 #include "target_test.h" 63 48 64 49 /* 65 * åªå 66 度ã®å®ç¾© 50 * 優先度の定義 67 51 */ 68 #define HIGH_PRIORITY 9 /* é«åªå 69 度 */ 70 #define MID_PRIORITY 10 /* ä¸åªå 71 度 */ 72 #define LOW_PRIORITY 11 /* ä½åªå 73 度 */ 52 #define HIGH_PRIORITY 9 /* 高優先度 */ 53 #define MID_PRIORITY 10 /* 中優先度 */ 54 #define LOW_PRIORITY 11 /* 低優先度 */ 74 55 75 56 /* 76 * ã¿ã¼ã²ããã«ä¾åããå¯è½æ§ã®ããå®æ°ã®å®ç¾©57 * ターゲットに依存する可能性のある定数の定義 77 58 */ 78 59 #ifndef STACK_SIZE 79 #define STACK_SIZE 4096 /* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº*/60 #define STACK_SIZE 4096 /* タスクのスタックサイズ */ 80 61 #endif /* STACK_SIZE */ 81 62 82 63 /* 83 * é¢æ°ã®ãããã¿ã¤ã宣è¨64 * 関数のプロトタイプ宣言 84 65 */ 85 66 #ifndef TOPPERS_MACRO_ONLY -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/test_sysstat1.c
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r313 r315 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 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 * ã®è²¬ä»»ãè² ããªãï¼ 8 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 30 * 31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 51 36 * 52 37 * $Id$ … … 54 39 55 40 /* 56 * ã·ã¹ãã ç¶æ 57 ã«é¢ãããã¹ã(1) 41 * システム状態に関するテスト(1) 58 42 * 59 * ãã¹ãã·ã¼ã±ã³ã¹ï¼43 * テストシーケンス: 60 44 * 61 * == TASK1ï¼åªå 62 度ï¼10ï¼== 63 * 1: åæç¶æ 64 ã®ãã§ã㯠65 * 2: loc_cpu() ... ã·ã¹ãã ç¶æ 66 ãã©ã³ãã ã«å¤åããã 45 * == TASK1(優先度:10)== 46 * 1: 初期状態のチェック 47 * 2: loc_cpu() ... システム状態をランダムに変化させる 67 48 * chg_ipm(TMAX_INTPRI) -> E_CTX 68 49 * 3: unl_cpu() … … 73 54 * 8: ena_dsp() 74 55 * 9: dis_tex() 75 * 10: dis_dsp() ... ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ãå¼ã³åºãæºå56 * 10: dis_dsp() ... タスク例外処理ルーチンを呼び出す準備 76 57 * ena_tex() 77 58 * 11: ras_tex(TSK_SELF, 0x0001) 78 * == TASK1ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ï¼1åç®ï¼== 79 * 12: åæç¶æ 80 ã®ãã§ã㯠81 * 13: ena_dsp() ... 3ã¤ã®ç¶æ 82 ãå¤åããï¼ãªã¿ã¼ã³ã§å 83 ã«ãã©ãã調ã¹ã 59 * == TASK1タスク例外処理ルーチン(1回目)== 60 * 12: 初期状態のチェック 61 * 13: ena_dsp() ... 3つの状態を変化させ,リターンで元にもどるか調べる 84 62 * chg_ipm(TMIN_INTPRI) 85 63 * ena_tex() 86 * ãªã¿ã¼ã³ 87 * == TASK1ï¼ç¶ãï¼== 88 * 14: æ»ã£ã¦ããç¶æ 89 ã®ãã§ã㯠90 * 15: loc_cpu() ... CPUããã¯ç¶æ 91 ã®ã¾ã¾ã¿ã¹ã¯ãçµäºããã 92 * 16: ãªã¿ã¼ã³ï¼ï¼ã¿ã¹ã¯çµäºï¼ 93 * == TASK2ï¼åªå 94 度ï¼10ï¼ == 95 * 17: åæç¶æ 96 ã®ãã§ã㯠97 * 18: çµäº 64 * リターン 65 * == TASK1(続き)== 66 * 14: 戻ってきた状態のチェック 67 * 15: loc_cpu() ... CPUロック状態のままタスクを終了させる 68 * 16: リターン(=タスク終了) 69 * == TASK2(優先度:10) == 70 * 17: 初期状態のチェック 71 * 18: 終了 98 72 */ 99 73 … … 115 89 116 90 /* 117 * ãã£ã¹ããã許å¯ï¼å²è¾¼ã¿åªå 118 度ãã¹ã¯å¤æ´ï¼ã¿ã¹ã¯ä¾å¤å¦çè¨±å¯ 91 * ディスパッチ許可,割込み優先度マスク変更,タスク例外処理許可 119 92 */ 120 93 check_point(13); … … 142 115 143 116 /* 144 * åæç¶æ 145 ã®ãã§ã㯠117 * 初期状態のチェック 146 118 */ 147 119 check_point(1); … … 149 121 150 122 /* 151 * CPUããã¯ç¶æ 152 ã®ãã§ã㯠123 * CPUロック状態のチェック 153 124 */ 154 125 check_point(2); … … 158 129 159 130 /* 160 * å²è¾¼ã¿åªå 161 度ãã¹ã¯å¤æ´ã®ãã§ã㯠131 * 割込み優先度マスク変更のチェック 162 132 */ 163 133 ercd = chg_ipm(TMAX_INTPRI); … … 166 136 167 137 /* 168 * CPU ããã¯è§£é¤ã®ãã§ãã¯138 * CPUロック解除のチェック 169 139 */ 170 140 check_point(3); … … 174 144 175 145 /* 176 * å²è¾¼ã¿åªå 177 度ãã¹ã¯å¤æ´ã®ãã§ã㯠146 * 割込み優先度マスク変更のチェック 178 147 */ 179 148 check_point(4); … … 183 152 184 153 /* 185 * ãã£ã¹ãããç¦æ¢ã®ãã§ãã¯154 * ディスパッチ禁止のチェック 186 155 */ 187 156 check_point(5); … … 191 160 192 161 /* 193 * ã¿ã¹ã¯ä¾å¤å¦ç許å¯ã®ãã§ãã¯162 * タスク例外処理許可のチェック 194 163 */ 195 164 check_point(6); … … 199 168 200 169 /* 201 * å²è¾¼ã¿åªå 202 度ãã¹ã¯å 203 ¨è§£é¤ã®ãã§ã㯠170 * 割込み優先度マスク全解除のチェック 204 171 */ 205 172 check_point(7); … … 209 176 210 177 /* 211 * ãã£ã¹ããã許å¯ã®ãã§ãã¯178 * ディスパッチ許可のチェック 212 179 */ 213 180 check_point(8); … … 217 184 218 185 /* 219 * ã¿ã¹ã¯ä¾å¤å¦çç¦æ¢ã®ãã§ãã¯186 * タスク例外処理禁止のチェック 220 187 */ 221 188 check_point(9); … … 225 192 226 193 /* 227 * ãã£ã¹ãããç¦æ¢ï¼ã¿ã¹ã¯ä¾å¤å¦ç許å¯194 * ディスパッチ禁止,タスク例外処理許可 228 195 */ 229 196 check_point(10); … … 235 202 236 203 /* 237 * ã¿ã¹ã¯ä¾å¤å¦çãè¦æ±204 * タスク例外処理を要求 238 205 */ 239 206 check_point(11); 240 207 ercd = ras_tex(TSK_SELF, 0x0001); 241 /* ããã§ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ãåä½ãã */ 242 check_ercd(ercd, E_OK); 243 244 /* 245 * ã¿ã¹ã¯ä¾å¤å¦çããã®ãªã¿ã¼ã³ã«ããå 246 ã®ç¶æ 247 ã«æ»ã£ã¦ãããã¨ã 248 * ãã§ã㯠208 /* ここでタスク例外処理ルーチンが動作する */ 209 check_ercd(ercd, E_OK); 210 211 /* 212 * タスク例外処理からのリターンにより元の状態に戻っていることを 213 * チェック 249 214 */ 250 215 check_point(14); … … 252 217 253 218 /* 254 * CPUããã¯ç¶æ 255 ã« 219 * CPUロック状態に 256 220 */ 257 221 check_point(15); … … 260 224 261 225 /* 262 * ãã®ã¾ã¾ã¿ã¹ã¯çµäº226 * そのままタスク終了 263 227 */ 264 228 check_point(16); … … 269 233 { 270 234 /* 271 * åæç¶æ 272 ã®ãã§ã㯠235 * 初期状態のチェック 273 236 */ 274 237 check_point(17); -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/test_sysstat1.cfg
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r313 r315 4 4 5 5 /* 6 * ã·ã¹ãã ç¶æ 7 ã«é¢ãããã¹ã(1)ã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã« 6 * システム状態に関するテスト(1)のシステムコンフィギュレーションファイル 8 7 */ 9 8 INCLUDE("target_timer.cfg"); -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/test_sysstat1.h
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r313 r315 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 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 責ãããã¨ï¼ 8 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 44 30 * 45 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 46 ã 47 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 48 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 49 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 50 * ã®è²¬ä»»ãè² ããªãï¼ 31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 51 36 * 52 37 * @(#) $Id$ … … 54 39 55 40 /* 56 * ã·ã¹ãã ç¶æ 57 ã«é¢ãããã¹ã(1) 41 * システム状態に関するテスト(1) 58 42 */ 59 43 60 44 /* 61 * ã¿ã¼ã²ããä¾åã®å®ç¾©45 * ターゲット依存の定義 62 46 */ 63 47 #include "target_test.h" 64 48 65 49 /* 66 * åã¿ã¹ã¯ã®åªå 67 度ã®å®ç¾© 50 * 各タスクの優先度の定義 68 51 */ 69 #define TASK1_PRIORITY 10 /* ã¿ã¹ã¯1ã®åªå 70 度 */ 71 #define TASK2_PRIORITY 10 /* ã¿ã¹ã¯2ã®åªå 72 度 */ 52 #define TASK1_PRIORITY 10 /* タスク1の優先度 */ 53 #define TASK2_PRIORITY 10 /* タスク2の優先度 */ 73 54 74 55 /* 75 * ã¿ã¼ã²ããã«ä¾åããå¯è½æ§ã®ããå®æ°ã®å®ç¾©56 * ターゲットに依存する可能性のある定数の定義 76 57 */ 77 58 #ifndef STACK_SIZE 78 #define STACK_SIZE 4096 /* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº*/59 #define STACK_SIZE 4096 /* タスクのスタックサイズ */ 79 60 #endif /* STACK_SIZE */ 80 61 81 62 /* 82 * é¢æ°ã®ãããã¿ã¤ã宣è¨63 * 関数のプロトタイプ宣言 83 64 */ 84 65 #ifndef TOPPERS_MACRO_ONLY -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/test_task1.c
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r313 r315 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 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 責ãããã¨ï¼ 8 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 44 30 * 45 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 46 ã 47 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 48 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 49 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 50 * ã®è²¬ä»»ãè² ããªãï¼ 31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 51 36 * 52 37 * $Id$ … … 54 39 55 40 /* 56 * ã¿ã¹ã¯ç®¡çã¢ã¸ã¥ã¼ã«ã®ãã¹ã(1) 57 * 58 * ããã¹ãã®ç®çã 59 * 60 * make_runnableã¨make_non_runnableãç¶²ç¾ 61 çã«ãã¹ãããï¼ 62 * 63 * ããã¹ãé 64 ç®ã 65 * 66 * (A) å®è¡ç¶æ 67 ã®ã¿ã¹ã¯ãããé«ãåªå 68 度ã®ã¿ã¹ã¯ãå®è¡ã§ããç¶æ 69 ã«ãã 70 * (A-1) ãã£ã¹ãããä¿çç¶æ 71 ã§ã¯ãªãå ´å 72 * (A-2) ãã£ã¹ãããä¿çç¶æ 73 ã®å ´å 74 * (B) å®è¡ç¶æ 75 ã®ã¿ã¹ã¯ã¨åãåªå 76 度ã®ã¿ã¹ã¯ãå®è¡ã§ããç¶æ 77 ã«ãã 78 * ï¼åãåªå 79 度ã®ã¿ã¹ã¯ã®ä¸ã®æ«å°¾ã«å 80 ¥ããã¨ã確èªãã 81 * (C) å®è¡ç¶æ 82 ã®ã¿ã¹ã¯ãããä½ãåªå 83 度ã®ã¿ã¹ã¯ãå®è¡ã§ããç¶æ 84 ã«ãã 85 * ï¼åãåªå 86 度ã®ã¿ã¹ã¯ã®ä¸ã®æ«å°¾ã«å 87 ¥ããã¨ã確èªãã 88 * (D) å®è¡ã§ããç¶æ 89 ã®ã¿ã¹ã¯ããªãç¶æ 90 ã§ï¼ã¿ã¹ã¯ãå®è¡ã§ããç¶æ 91 ã«ãã 92 * ï¼ãã®å ´åã¯ï¼ãã£ã¹ãããä¿çç¶æ 93 ã§ã¯ãªã 94 * (E) ãã£ã¹ãããä¿çç¶æ 95 ã§ï¼å®è¡ç¶æ 96 ã«ãªãã¹ãã ãå®è¡å¯è½ç¶æ 97 ã¿ã¹ 98 * ã¯ãããé«ãåªå 99 度ã®ã¿ã¹ã¯ãï¼å®è¡ã§ããç¶æ 100 ã«ãã 101 * (F) ãã£ã¹ãããä¿çç¶æ 102 ã§ï¼å®è¡ç¶æ 103 ã«ãªãã¹ãã ãå®è¡å¯è½ç¶æ 104 ã¿ã¹ 105 * ã¯ã¨åãåªå 106 度ã®ã¿ã¹ã¯ãï¼å®è¡ã§ããç¶æ 107 ã«ãã 108 * (G) ãã£ã¹ãããä¿çç¶æ 109 ã§ï¼å®è¡ç¶æ 110 ã«ãªãã¹ãã ãå®è¡å¯è½ç¶æ 111 ã¿ã¹ 112 * ã¯ãããä½ãåªå 113 度ã®ã¿ã¹ã¯ãï¼å®è¡ã§ããç¶æ 114 ã«ãã 115 * (H) å®è¡ç¶æ 116 ã®ã¿ã¹ã¯ãï¼å®è¡ã§ããç¶æ 117 ã§ãªãã 118 * (H-1) å®è¡ã§ããç¶æ 119 ã®ã¿ã¹ã¯ããªããªãå ´å 120 * (H-2) åä¸åªå 121 度ã®ã¿ã¹ã¯ããªããªãå ´å 122 * (H-3) åä¸åªå 123 度ã®ã¿ã¹ã¯ããªããªããªãå ´å 124 * (I) å®è¡å¯è½ç¶æ 125 ã®ã¿ã¹ã¯ãï¼å®è¡ã§ããç¶æ 126 ã§ãªãã 127 * (I-1) åä¸åªå 128 度ã®ã¿ã¹ã¯ããªããªãå ´å 129 * (I-2) åä¸åªå 130 度ã®ã¿ã¹ã¯ããªããªããªãå ´å 131 * (J) ãã£ã¹ãããä¿çç¶æ 132 ã§ï¼å®è¡ç¶æ 133 ã«ãªãã¹ãã ãå®è¡å¯è½ç¶æ 134 ã¨ãªã£ 135 * ã¦ããã¿ã¹ã¯ãï¼å®è¡ã§ããç¶æ 136 ã§ãªãã 137 * (J-1) åä¸åªå 138 度ã®ã¿ã¹ã¯ããªããªãå ´å 139 * (J-2) åä¸åªå 140 度ã®ã¿ã¹ã¯ããªããªããªãå ´å 141 * (K) ãã£ã¹ãããä¿çç¶æ 142 ã§ï¼å®è¡å¯è½ç¶æ 143 ã«ãªãã¹ãã ãå®è¡ç¶æ 144 ã®ã¿ 145 * ã¹ã¯ãï¼å®è¡ã§ããç¶æ 146 ã§ãªãã 147 * ï¼ãã£ã¹ãããä¿çã§ã¯ï¼å®è¡ç¶æ 148 ã®ã¿ã¹ã¯ãå®è¡ã§ããç¶æ 149 ã§ãªã 150 * ãªããããªé·ç§»ãèµ·ãããã¨ãã§ããªãããï¼ãã®ç¶æ³ã¯èµ·ãããªãï¼ 151 * 152 * ã使ç¨ãªã½ã¼ã¹ã 153 * 154 * TASK1: ä¸åªå 155 度ã¿ã¹ã¯ï¼ã¡ã¤ã³ã¿ã¹ã¯ï¼æåããèµ·å 156 * TASK2: é«åªå 157 度ã¿ã¹ã¯ 158 * TASK3: ä¸åªå 159 度ã¿ã¹ã¯ 160 * TASK4: ä¸åªå 161 度ã¿ã¹ã¯ 162 * TASK5: ä½åªå 163 度ã¿ã¹ã¯ 164 * TASK6: ä½åªå 165 度ã¿ã¹ã¯ 166 * ALM1: ã¢ã©ã¼ã ãã³ãã© 167 * 168 * ããã¹ãã·ã¼ã±ã³ã¹ã 169 * 170 * == TASK1ï¼åªå 171 度ï¼ä¸ï¼== 41 * タスク管理モジュールのテスト(1) 42 * 43 * 【テストの目的】 44 * 45 * make_runnableとmake_non_runnableを網羅的にテストする. 46 * 47 * 【テスト項目】 48 * 49 * (A) 実行状態のタスクよりも高い優先度のタスクを実行できる状態にする 50 * (A-1) ディスパッチ保留状態ではない場合 51 * (A-2) ディスパッチ保留状態の場合 52 * (B) 実行状態のタスクと同じ優先度のタスクを実行できる状態にする 53 * !同じ優先度のタスクの中の末尾に入ることを確認する 54 * (C) 実行状態のタスクよりも低い優先度のタスクを実行できる状態にする 55 * !同じ優先度のタスクの中の末尾に入ることを確認する 56 * (D) 実行できる状態のタスクがない状態で,タスクを実行できる状態にする 57 * !この場合は,ディスパッチ保留状態ではない 58 * (E) ディスパッチ保留状態で,実行状態になるべきだが実行可能状態タス 59 * クよりも高い優先度のタスクを,実行できる状態にする 60 * (F) ディスパッチ保留状態で,実行状態になるべきだが実行可能状態タス 61 * クと同じ優先度のタスクを,実行できる状態にする 62 * (G) ディスパッチ保留状態で,実行状態になるべきだが実行可能状態タス 63 * クよりも低い優先度のタスクを,実行できる状態にする 64 * (H) 実行状態のタスクを,実行できる状態でなくす 65 * (H-1) 実行できる状態のタスクがなくなる場合 66 * (H-2) 同一優先度のタスクがなくなる場合 67 * (H-3) 同一優先度のタスクがなくならない場合 68 * (I) 実行可能状態のタスクを,実行できる状態でなくす 69 * (I-1) 同一優先度のタスクがなくなる場合 70 * (I-2) 同一優先度のタスクがなくならない場合 71 * (J) ディスパッチ保留状態で,実行状態になるべきだが実行可能状態となっ 72 * ているタスクを,実行できる状態でなくす 73 * (J-1) 同一優先度のタスクがなくなる場合 74 * (J-2) 同一優先度のタスクがなくならない場合 75 * (K) ディスパッチ保留状態で,実行可能状態になるべきだが実行状態のタ 76 * スクを,実行できる状態でなくす 77 * !ディスパッチ保留では,実行状態のタスクが実行できる状態でなく 78 * なるような遷移を起こすことができないため,この状況は起こらない. 79 * 80 * 【使用リソース】 81 * 82 * TASK1: 中優先度タスク,メインタスク,最初から起動 83 * TASK2: 高優先度タスク 84 * TASK3: 中優先度タスク 85 * TASK4: 中優先度タスク 86 * TASK5: 低優先度タスク 87 * TASK6: 低優先度タスク 88 * ALM1: アラームハンドラ 89 * 90 * 【テストシーケンス】 91 * 92 * == TASK1(優先度:中)== 172 93 * 1: act_tsk(TASK2) ... (A-1) 173 * == TASK2ï¼åªå 174 度ï¼é«ï¼== 94 * == TASK2(優先度:高)== 175 95 * 2: slp_tsk() ... (H-2) 176 * == TASK1 ï¼ç¶ãï¼==96 * == TASK1(続き)== 177 97 * 3: act_tsk(TASK3) ... (B) 178 98 * 4: act_tsk(TASK4) ... (B) 179 99 * 5: slp_tsk() ... (H-3) 180 * == TASK3ï¼åªå 181 度ï¼ä¸ï¼== 100 * == TASK3(優先度:中)== 182 101 * 6: slp_tsk() ... (H-3) 183 * == TASK4ï¼åªå 184 度ï¼ä¸ï¼== 102 * == TASK4(優先度:中)== 185 103 * 7: wup_tsk(TASK1) 186 104 * 8: slp_tsk() ... (H-3) 187 * == TASK1 ï¼ç¶ãï¼==105 * == TASK1(続き)== 188 106 * 9: act_tsk(TASK5) ... (C) 189 107 * 10: act_tsk(TASK6) ... (C) … … 193 111 * 14: rsm_tsk(TASK6) ... (C) 194 112 * 15: slp_tsk() ... (H-2) 195 * == TASK5ï¼åªå 196 度ï¼ä½ï¼== 113 * == TASK5(優先度:低)== 197 114 * 16: slp_tsk() ... (H-3) 198 * == TASK6ï¼åªå 199 度ï¼ä½ï¼== 115 * == TASK6(優先度:低)== 200 116 * 17: dis_dsp() 201 117 * 18: wup_tsk(TASK1) ... (A-2) … … 206 122 * 23: sus_tsk(TASK1) ... (J-2) 207 123 * 24: ena_dsp() 208 * == TASK3 ï¼ç¶ãï¼==124 * == TASK3(続き)== 209 125 * 25: slp_tsk() ... (H-3) 210 * == TASK4 ï¼ç¶ãï¼==126 * == TASK4(続き)== 211 127 * 26: slp_tsk() ... (H-2) 212 * == TASK6 ï¼ç¶ãï¼==128 * == TASK6(続き)== 213 129 * 27: dis_dsp() 214 130 * 28: rsm_tsk(TASK1) ... (A-2) 215 131 * 29: wup_tsk(TASK5) ... (G) 216 132 * 30: ena_dsp() 217 * == TASK1 ï¼ç¶ãï¼==133 * == TASK1(続き)== 218 134 * 31: slp_tsk() ... (H-2) 219 * == TASK6 ï¼ç¶ãï¼==135 * == TASK6(続き)== 220 136 * 32: slp_tsk() ... (H-3) 221 * == TASK5 ï¼ç¶ãï¼==137 * == TASK5(続き)== 222 138 * 33: sta_alm(ALM1, 10) 223 139 * 34: slp_tsk() ... (H-1) … … 227 143 * 36: iwup_tsk(TASK1) ... (D) 228 144 * 37: RETURN 229 * == TASK1 ï¼ç¶ãï¼==145 * == TASK1(続き)== 230 146 * 38: END 231 147 */ -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/test_task1.cfg
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r313 r315 4 4 5 5 /* 6 * ã¿ã¹ã¯ç®¡çã¢ã¸ã¥ã¼ã«ã®ãã¹ã(1)ã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«6 * タスク管理モジュールのテスト(1)のシステムコンフィギュレーションファイル 7 7 */ 8 8 INCLUDE("target_timer.cfg"); -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/test_task1.h
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r313 r315 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 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 責ãããã¨ï¼ 8 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 44 30 * 45 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 46 ã 47 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 48 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 49 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 50 * ã®è²¬ä»»ãè² ããªãï¼ 31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 51 36 * 52 37 * @(#) $Id$ … … 54 39 55 40 /* 56 * ã¿ã¹ã¯ç®¡çã¢ã¸ã¥ã¼ã«ã®ãã¹ã(1)41 * タスク管理モジュールのテスト(1) 57 42 */ 58 43 59 44 /* 60 * ã¿ã¼ã²ããä¾åã®å®ç¾©45 * ターゲット依存の定義 61 46 */ 62 47 #include "target_test.h" 63 48 64 49 /* 65 * åªå 66 度ã®å®ç¾© 50 * 優先度の定義 67 51 */ 68 #define HIGH_PRIORITY 4 /* é«åªå 69 度 */ 70 #define MID_PRIORITY 9 /* ä¸åªå 71 度 */ 72 #define LOW_PRIORITY 14 /* ä½åªå 73 度 */ 52 #define HIGH_PRIORITY 4 /* 高優先度 */ 53 #define MID_PRIORITY 9 /* 中優先度 */ 54 #define LOW_PRIORITY 14 /* 低優先度 */ 74 55 75 56 /* 76 * ã¿ã¼ã²ããã«ä¾åããå¯è½æ§ã®ããå®æ°ã®å®ç¾©57 * ターゲットに依存する可能性のある定数の定義 77 58 */ 78 59 #ifndef STACK_SIZE 79 #define STACK_SIZE 4096 /* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº*/60 #define STACK_SIZE 4096 /* タスクのスタックサイズ */ 80 61 #endif /* STACK_SIZE */ 81 62 82 63 /* 83 * é¢æ°ã®ãããã¿ã¤ã宣è¨64 * 関数のプロトタイプ宣言 84 65 */ 85 66 #ifndef TOPPERS_MACRO_ONLY -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/test_tex1.c
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r313 r315 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 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 責ãããã¨ï¼ 8 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 44 30 * 45 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 46 ã 47 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 48 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 49 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 50 * ã®è²¬ä»»ãè² ããªãï¼ 31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 51 36 * 52 37 * $Id$ … … 54 39 55 40 /* 56 * ã¿ã¹ã¯ä¾å¤å¦çã«é¢ãããã¹ã(1) 57 * 58 * ããã¹ãã®ç®çã 59 * 60 * ã¿ã¹ã¯ããã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ãèµ·åããå¦çãç¶²ç¾ 61 çã«ãã¹ãããï¼ 62 * 63 * ããã¹ãé 64 ç®ã 65 * 66 * (A) ras_texã®ã¨ã©ã¼æ¤åº 67 * (A-1) 対象ã¿ã¹ã¯ãä¼æ¢ç¶æ 68 ï¼»NGKI1413ï¼½ 69 * (A-2) 対象ã¿ã¹ã¯ã®ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ãå®ç¾©ããã¦ããªãï¼»NGKI1414ï¼½ 70 * (B) dis_texã®ã¨ã©ã¼æ¤åº 71 * (B-1) èªã¿ã¹ã¯ã®ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ãå®ç¾©ããã¦ããªãï¼»NGKI1421ï¼½ 72 * (C) ena_texã®ã¨ã©ã¼æ¤åº 73 * (C-1) èªã¿ã¹ã¯ã®ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ãå®ç¾©ããã¦ããªãï¼»NGKI1426ï¼½ 74 * (D) ref_texã®ã¨ã©ã¼æ¤åº 75 * (D-1) 対象ã¿ã¹ã¯ãä¼æ¢ç¶æ 76 ï¼»NGKI1439ï¼½ 77 * (D-2) 対象ã¿ã¹ã¯ã®ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ãå®ç¾©ããã¦ããªãï¼»NGKI1440ï¼½ 78 * (E) ras_texã®æ£å¸¸å¦çï¼»NGKI1415ï¼½ 79 * (E-1) 対象ã¿ã¹ã¯ãèªã¿ã¹ã¯ï¼ã¿ã¹ã¯ä¾å¤å¦ç許å¯ï¼ãã¤å²è¾¼ã¿åªå 80 81 * 度ãã¹ã¯å 82 ¨è§£é¤ç¶æ 83 ã§ï¼ããã«å®è¡éå§ 84 * (E-2) 対象ã¿ã¹ã¯ãèªã¿ã¹ã¯ã§ãªã 85 * (E-3) 対象ã¿ã¹ã¯ãèªã¿ã¹ã¯ã ãï¼ã¿ã¹ã¯ä¾å¤å¦çç¦æ¢ 86 * (E-4) 対象ã¿ã¹ã¯ãèªã¿ã¹ã¯ã§ã¿ã¹ã¯ä¾å¤å¦ç許å¯ã ãï¼å²è¾¼ã¿åªå 87 88 * 度ãã¹ã¯ãå 89 ¨è§£é¤ã§ãªã 90 * (F) ena_texã®æ£å¸¸å¦çï¼»NGKI1427ï¼½ 91 * (F-1) ã¿ã¹ã¯ä¾å¤å¦çè¦æ±ãããï¼ãã¤å²è¾¼ã¿åªå 92 度ãã¹ã¯å 93 ¨è§£é¤ç¶ 94 * æ 95 ã§ï¼ããã«å®è¡éå§ 96 * (F-2) ã¿ã¹ã¯ä¾å¤å¦çè¦æ±ããªã 97 * (F-3) ã¿ã¹ã¯ä¾å¤å¦çè¦æ±ããããï¼å²è¾¼ã¿åªå 98 度ãã¹ã¯ãå 99 ¨è§£é¤ã§ 100 * ãªã 101 * (G) chg_ipmã®æ£å¸¸å¦ç 102 * (G-1) ã¿ã¹ã¯ä¾å¤å¦çè¦æ±ãããï¼ãã¤ã¿ã¹ã¯ä¾å¤å¦ç許å¯ã§ï¼ãã 103 * ã«å®è¡éå§ 104 * (G-2) ã¿ã¹ã¯ä¾å¤å¦çè¦æ±ããªã 105 * (G-3) ã¿ã¹ã¯ä¾å¤å¦çè¦æ±ããããï¼ã¿ã¹ã¯ä¾å¤å¦çç¦æ¢ 106 * (G-4) ã¿ã¹ã¯ä¾å¤å¦çè¦æ±ããããï¼å²è¾¼ã¿åªå 107 度ãã¹ã¯ãå 108 ¨è§£é¤ã§ 109 * ãªã 110 * (H) ã¿ã¹ã¯ãã£ã¹ãããã£ã«ããèµ·å 111 * (H-1) ãã£ã¹ãããå¾ã®ã¿ã¹ã¯ãã¿ã¹ã¯ä¾å¤è¨±å¯ã§ã¿ã¹ã¯ä¾å¤å¦çè¦ 112 * æ±ãã 113 * (I) ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ããã®ãªã¿ã¼ã³ã«ããèµ·åï¼é£ç¶èµ·åï¼ 114 * (J) ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ããã®æ»ãæã«ããç¶æ 115 復帰 116 * (J-1) ã¿ã¹ã¯ã«æ»ã£ã¦ããæ 117 * (J-2) ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ãé£ç¶èµ·åãããæ 118 * (K) ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®å¤éèµ·å 119 * (L) ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ããã®æ»ãæã®ã¿ã¹ã¯åæã 120 * 121 * ã使ç¨ãªã½ã¼ã¹ã 122 * 123 * TASK1: ã¡ã¤ã³ã®ã¿ã¹ã¯ï¼èªã¿ã¹ã¯ã«å¯¾ãã¦ã¿ã¹ã¯ä¾å¤å¦çãè¦æ±ãã 124 * TASK2: ä»ã¿ã¹ã¯ã«å¯¾ãã¦ã¿ã¹ã¯ä¾å¤å¦çãè¦æ±ãã対象ã¿ã¹ã¯ 125 * TASK3: ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ãå®ç¾©ããã¦ããªãã¿ã¹ã¯ 126 * TASK4: ä¼æ¢ç¶æ 127 ã®ã¿ã¹ã¯ 128 * 129 * ããã¹ãã·ã¼ã±ã³ã¹ã 130 * 131 * == TASK1ï¼åªå 132 度ï¼10ï¼== 41 * タスク例外処理に関するテスト(1) 42 * 43 * 【テストの目的】 44 * 45 * タスクからタスク例外処理ルーチンを起動する処理を網羅的にテストする. 46 * 47 * 【テスト項目】 48 * 49 * (A) ras_texのエラー検出 50 * (A-1) 対象タスクが休止状態[NGKI1413] 51 * (A-2) 対象タスクのタスク例外処理ルーチンが定義されていない[NGKI1414] 52 * (B) dis_texのエラー検出 53 * (B-1) 自タスクのタスク例外処理ルーチンが定義されていない[NGKI1421] 54 * (C) ena_texのエラー検出 55 * (C-1) 自タスクのタスク例外処理ルーチンが定義されていない[NGKI1426] 56 * (D) ref_texのエラー検出 57 * (D-1) 対象タスクが休止状態[NGKI1439] 58 * (D-2) 対象タスクのタスク例外処理ルーチンが定義されていない[NGKI1440] 59 * (E) ras_texの正常処理[NGKI1415] 60 * (E-1) 対象タスクが自タスク,タスク例外処理許可,かつ割込み優先 61 * 度マスク全解除状態で,すぐに実行開始 62 * (E-2) 対象タスクが自タスクでない 63 * (E-3) 対象タスクが自タスクだが,タスク例外処理禁止 64 * (E-4) 対象タスクが自タスクでタスク例外処理許可だが,割込み優先 65 * 度マスクが全解除でない 66 * (F) ena_texの正常処理[NGKI1427] 67 * (F-1) タスク例外処理要求があり,かつ割込み優先度マスク全解除状 68 * 態で,すぐに実行開始 69 * (F-2) タスク例外処理要求がない 70 * (F-3) タスク例外処理要求があるが,割込み優先度マスクが全解除で 71 * ない 72 * (G) chg_ipmの正常処理 73 * (G-1) タスク例外処理要求があり,かつタスク例外処理許可で,すぐ 74 * に実行開始 75 * (G-2) タスク例外処理要求がない 76 * (G-3) タスク例外処理要求があるが,タスク例外処理禁止 77 * (G-4) タスク例外処理要求があるが,割込み優先度マスクが全解除で 78 * ない 79 * (H) タスクディスパッチャによる起動 80 * (H-1) ディスパッチ後のタスクがタスク例外許可でタスク例外処理要 81 * 求あり 82 * (I) タスク例外処理ルーチンからのリターンによる起動(連続起動) 83 * (J) タスク例外処理ルーチンからの戻り時による状態復帰 84 * (J-1) タスクに戻ってくる時 85 * (J-2) タスク例外処理ルーチンが連続起動される時 86 * (K) タスク例外処理ルーチンの多重起動 87 * (L) タスク例外処理ルーチンからの戻り時のタスク切換え 88 * 89 * 【使用リソース】 90 * 91 * TASK1: メインのタスク.自タスクに対してタスク例外処理を要求する 92 * TASK2: 他タスクに対してタスク例外処理を要求する対象タスク 93 * TASK3: タスク例外処理ルーチンが定義されていないタスク 94 * TASK4: 休止状態のタスク 95 * 96 * 【テストシーケンス】 97 * 98 * == TASK1(優先度:10)== 133 99 * 1: state(false, false, TIPM_ENAALL, false, false, true) 134 100 * ref_tex(TSK_SELF, &rtex) … … 145 111 * assert(rtex.pndptn == 0U) 146 112 * 3: ras_tex(TSK_SELF, 0x0001) ... (E-1) 147 * == TASK1-TEX-1 ï¼1åç®ï¼==113 * == TASK1-TEX-1(1回目)== 148 114 * 4: assert(texptn == 0x0001) 149 115 * state(false, false, TIPM_ENAALL, false, false, true) 150 * 5: dis_dsp() ... 4ã¤ã®ç¶æ 151 ãããããå¤åããã 116 * 5: dis_dsp() ... 4つの状態をそれぞれ変化させる 152 117 * chg_ipm(TMAX_INTPRI) 153 118 * ena_tex() … … 155 120 * state(false, true, TMAX_INTPRI, true, true, false) 156 121 * RETURN 157 * == TASK1 ï¼ç¶ãï¼==122 * == TASK1(続き)== 158 123 * 6: state(false, false, TIPM_ENAALL, false, false, false) ... (J-1) 159 * 7: dis_dsp() ... ãã£ã¹ãããç¦æ¢ï¼ã¿ã¹ã¯ä¾å¤å¦çç¦æ¢124 * 7: dis_dsp() ... ディスパッチ禁止,タスク例外処理禁止 160 125 * dis_tex() 161 126 * state(false, false, TIPM_ENAALL, true, true, true) … … 165 130 * assert(rtex.pndptn == 0x0002) 166 131 * 9: ena_tex() ... (F-1) 167 * == TASK1-TEX-2 ï¼2åç®ï¼==132 * == TASK1-TEX-2(2回目)== 168 133 * 10: assert(texptn == 0x0002) 169 134 * state(false, false, TIPM_ENAALL, true, true, true) 170 135 * 11: ras_tex(TASK1, 0x0001) ... (E-3) 171 136 * ras_tex(TASK1, 0x0002) ... (E-3) 172 * 12: ena_dsp() ... 3ã¤ã®ç¶æ 173 ãããããå¤åããã 137 * 12: ena_dsp() ... 3つの状態をそれぞれ変化させる 174 138 * chg_ipm(TMAX_INTPRI) 175 139 * loc_cpu() 176 140 * state(false, true, TMAX_INTPRI, false, true, true) 177 141 * RETURN ... (I) 178 * == TASK1-TEX-3 ï¼3åç®ï¼==142 * == TASK1-TEX-3(3回目)== 179 143 * 13: assert(texptn == 0x0003) 180 144 * state(false, false, TIPM_ENAALL, true, true, true) ... (J-2) 181 * 14: ena_dsp() ... ãã£ã¹ããã許å¯ï¼ã¿ã¹ã¯ä¾å¤è¨±å¯145 * 14: ena_dsp() ... ディスパッチ許可,タスク例外許可 182 146 * chg_ipm(TMAX_INTPRI) 183 147 * ena_tex() … … 192 156 * ena_tex() ... (F-3) 193 157 * 16: chg_ipm(TIPM_ENAALL) ... (G-1)(K) 194 * == TASK1-TEX-4 ï¼4åç®ï¼==158 * == TASK1-TEX-4(4回目)== 195 159 * 17: assert(texptn == 0x0004) 196 160 * state(false, false, TIPM_ENAALL, false, false, true) 197 * 18: dis_dsp() ... 3ã¤ã®ç¶æ 198 ãããããå¤åããã 161 * 18: dis_dsp() ... 3つの状態をそれぞれ変化させる 199 162 * chg_ipm(TMAX_INTPRI) 200 163 * loc_cpu() 201 164 * state(false, true, TMAX_INTPRI, true, true, true) 202 165 * RETURN 203 * == TASK1-TEX-3 ï¼3åç®ç¶ãï¼==166 * == TASK1-TEX-3(3回目続き)== 204 167 * 19: state(false, false, TIPM_ENAALL, false, false, false) 205 168 * RETURN 206 * == TASK1 ï¼ç¶ãï¼==169 * == TASK1(続き)== 207 170 * 20: state(false, false, TIPM_ENAALL, true, true, false) ... (J-1) 208 171 * 21: ena_dsp() 209 172 * rot_rdq(TPRI_SELF) 210 * == TASK2ï¼åªå 211 度ï¼10ï¼ == 173 * == TASK2(優先度:10) == 212 174 * 22: state(false, false, TIPM_ENAALL, false, false, true) 213 175 * 23: ena_tex() 214 176 * state(false, false, TIPM_ENAALL, false, false, false) 215 177 * rot_rdq(TPRI_SELF) 216 * == TASK3ï¼åªå 217 度ï¼10ï¼ == 178 * == TASK3(優先度:10) == 218 179 * 24: state(false, false, TIPM_ENAALL, false, false, true) 219 180 * 25: ena_tex() -> E_OBJ ... (C-1) … … 222 183 * state(false, false, TIPM_ENAALL, false, false, true) 223 184 * ext_tsk() 224 * == TASK1 ï¼ç¶ãï¼==185 * == TASK1(続き)== 225 186 * 27: ras_tex(TASK2, 0x0001) ... (E-2) 226 187 * ref_tex(TASK2, &rtex) 227 188 * 28: rot_rdq(TPRI_SELF) ... (H-1) 228 * == TASK2-TEX-1 ï¼1åç®ï¼==189 * == TASK2-TEX-1(1回目)== 229 190 * 29: assert(texptn == 0x0001) 230 191 * state(false, false, TIPM_ENAALL, false, false, true) 231 192 * RETURN 232 * == TASK2 ï¼ç¶ãï¼==193 * == TASK2(続き)== 233 194 * 30: ras_tex(TSK_SELF, 0x0002) 234 * == TASK2-TEX-2 ï¼2åç®ï¼==195 * == TASK2-TEX-2(2回目)== 235 196 * 31: assert(texptn == 0x0002) 236 197 * state(false, false, TIPM_ENAALL, false, false, true) … … 238 199 * rot_rdq(TPRI_SELF) 239 200 * 33: RETURN 240 * == TASK1 ï¼ç¶ãï¼==201 * == TASK1(続き)== 241 202 * 34: RETURN 242 * == TASK2 ï¼ç¶ãï¼==203 * == TASK2(続き)== 243 204 * 35: END 244 205 */ … … 251 212 252 213 /* 253 * task4 ã¨tex_task4ã¯çæãããªã214 * task4とtex_task4は生成されない 254 215 */ 255 216 -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/test_tex1.cfg
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r313 r315 4 4 5 5 /* 6 * ã¿ã¹ã¯ä¾å¤å¦çã«é¢ãããã¹ã(1)ã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«6 * タスク例外処理に関するテスト(1)のシステムコンフィギュレーションファイル 7 7 */ 8 8 INCLUDE("target_timer.cfg"); -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/test_tex1.h
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r313 r315 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 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 責ãããã¨ï¼ 8 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 44 30 * 45 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 46 ã 47 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 48 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 49 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 50 * ã®è²¬ä»»ãè² ããªãï¼ 31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 51 36 * 52 37 * @(#) $Id$ … … 54 39 55 40 /* 56 * ã¿ã¹ã¯ä¾å¤å¦çã«é¢ãããã¹ã(1)41 * タスク例外処理に関するテスト(1) 57 42 */ 58 43 59 44 /* 60 * ã¿ã¼ã²ããä¾åã®å®ç¾©45 * ターゲット依存の定義 61 46 */ 62 47 #include "target_test.h" 63 48 64 49 /* 65 * åã¿ã¹ã¯ã®åªå 66 度ã®å®ç¾© 50 * 各タスクの優先度の定義 67 51 */ 68 #define TASK1_PRIORITY 10 /* ã¿ã¹ã¯1ã®åªå 69 度 */ 70 #define TASK2_PRIORITY 10 /* ã¿ã¹ã¯2ã®åªå 71 度 */ 72 #define TASK3_PRIORITY 10 /* ã¿ã¹ã¯3ã®åªå 73 度 */ 74 #define TASK4_PRIORITY 10 /* ã¿ã¹ã¯4ã®åªå 75 度 */ 52 #define TASK1_PRIORITY 10 /* タスク1の優先度 */ 53 #define TASK2_PRIORITY 10 /* タスク2の優先度 */ 54 #define TASK3_PRIORITY 10 /* タスク3の優先度 */ 55 #define TASK4_PRIORITY 10 /* タスク4の優先度 */ 76 56 77 57 /* 78 * ã¿ã¼ã²ããã«ä¾åããå¯è½æ§ã®ããå®æ°ã®å®ç¾©58 * ターゲットに依存する可能性のある定数の定義 79 59 */ 80 60 #ifndef STACK_SIZE 81 #define STACK_SIZE 4096 /* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº*/61 #define STACK_SIZE 4096 /* タスクのスタックサイズ */ 82 62 #endif /* STACK_SIZE */ 83 63 84 64 /* 85 * é¢æ°ã®ãããã¿ã¤ã宣è¨65 * 関数のプロトタイプ宣言 86 66 */ 87 67 #ifndef TOPPERS_MACRO_ONLY -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/test_tex2.c
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r313 r315 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 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 責ãããã¨ï¼ 8 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 44 30 * 45 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 46 ã 47 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 48 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 49 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 50 * ã®è²¬ä»»ãè² ããªãï¼ 31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 51 36 * 52 37 * $Id$ … … 54 39 55 40 /* 56 * ã¿ã¹ã¯ä¾å¤å¦çã«é¢ãããã¹ã(2) 57 * 58 * ããã¹ãã®ç®çã 59 * 60 * å²è¾¼ã¿ãã³ãã©ï¼ã¢ã©ã¼ã ãã³ãã©ï¼ããã³CPUä¾å¤ãã³ãã©ããã¿ã¹ã¯ä¾ 61 * å¤å¦çã«ã¼ãã³ãèµ·åããå¦çãç¶²ç¾ 62 çã«ãã¹ãããï¼ 63 * 64 * ããã¹ãé 65 ç®ã 66 * 67 * (A) iras_texã®ã¨ã©ã¼æ¤åº 68 * (A-1) 対象ã¿ã¹ã¯ãä¼æ¢ç¶æ 69 70 * (A-2) 対象ã¿ã¹ã¯ã®ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ãå®ç¾©ããã¦ããªã 71 * (B) å²è¾¼ã¿ãã³ãã©ããå¼ã°ããiras_texã®æ£å¸¸å¦ç 72 * (B-1) 対象ã¿ã¹ã¯ãå®è¡ç¶æ 73 ã®ã¿ã¹ã¯ãã¤ã¿ã¹ã¯ä¾å¤å¦çè¨±å¯ 74 * (B-2) 対象ã¿ã¹ã¯ãå®è¡ç¶æ 75 ã®ã¿ã¹ã¯ã§ãªã 76 * (B-3) 対象ã¿ã¹ã¯ãå®è¡ç¶æ 77 ã®ã¿ã¹ã¯ã ãã¿ã¹ã¯ä¾å¤å¦çç¦æ¢ 78 * (C) CPUä¾å¤ãã³ãã©ããå¼ã°ããiras_texã®æ£å¸¸å¦ç 79 * (C-1) 対象ã¿ã¹ã¯ãå®è¡ç¶æ 80 ã®ã¿ã¹ã¯ãã¤ã¿ã¹ã¯ä¾å¤å¦çè¨±å¯ 81 * (C-2) 対象ã¿ã¹ã¯ãå®è¡ç¶æ 82 ã®ã¿ã¹ã¯ã§ãªã 83 * (C-3) 対象ã¿ã¹ã¯ãå®è¡ç¶æ 84 ã®ã¿ã¹ã¯ã ãã¿ã¹ã¯ä¾å¤å¦çç¦æ¢ 85 * â å®æ½ããªãï¼ã¿ã¼ã²ããéä¾åã«å®ç¾ã§ããªãï¼ 86 * (D) å²è¾¼ã¿ãã³ãã©ã®åºå£å¦çã«ããèµ·å 87 * (D-1) ãã£ã¹ãããå¾ã®ã¿ã¹ã¯ãã¿ã¹ã¯ä¾å¤è¨±å¯ã§ã¿ã¹ã¯ä¾å¤å¦çè¦ 88 * æ±ãã 89 * (E) CPUä¾å¤ãã³ãã©ã®åºå£å¦çã«ããèµ·å 90 * (E-1) ãã£ã¹ãããå¾ã®ã¿ã¹ã¯ãã¿ã¹ã¯ä¾å¤è¨±å¯ã§ã¿ã¹ã¯ä¾å¤å¦çè¦ 91 * æ±ãã 92 * (F) sns_texã§å®è¡ç¶æ 93 ã®ã¿ã¹ã¯ããªã 94 * 95 * ã使ç¨ãªã½ã¼ã¹ã 96 * 97 * TASK1: ã¡ã¤ã³ã®ã¿ã¹ã¯ï¼å®è¡ç¶æ 98 ã®ã¿ã¹ã¯ã«å¯¾ãã¦ã¿ã¹ã¯ä¾å¤å¦çãè¦æ±ã 99 * ã対象ã¿ã¹ã¯ 100 * TASK2: å®è¡ç¶æ 101 ã§ãªãã¿ã¹ã¯ã«å¯¾ãã¦ã¿ã¹ã¯ä¾å¤å¦çãè¦æ±ãã対象ã¿ã¹ã¯ 102 * TASK3: ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ãå®ç¾©ããã¦ããªãã¿ã¹ã¯ 103 * TASK4: ä¼æ¢ç¶æ 104 ã®ã¿ã¹ã¯ 105 * ALM1: ã¢ã©ã¼ã ãã³ãã©1 106 * ALM2: ã¢ã©ã¼ã ãã³ãã©2 107 * ALM3: ã¢ã©ã¼ã ãã³ãã©3 108 * CPUEXC: CPUä¾å¤ãã³ãã© 109 * 110 * ããã¹ãã·ã¼ã±ã³ã¹ã 111 * 112 * == TASK1ï¼åªå 113 度ï¼10ï¼== 41 * タスク例外処理に関するテスト(2) 42 * 43 * 【テストの目的】 44 * 45 * 割込みハンドラ(アラームハンドラ)およびCPU例外ハンドラからタスク例 46 * 外処理ルーチンを起動する処理を網羅的にテストする. 47 * 48 * 【テスト項目】 49 * 50 * (A) iras_texのエラー検出 51 * (A-1) 対象タスクが休止状態 52 * (A-2) 対象タスクのタスク例外処理ルーチンが定義されていない 53 * (B) 割込みハンドラから呼ばれたiras_texの正常処理 54 * (B-1) 対象タスクが実行状態のタスクかつタスク例外処理許可 55 * (B-2) 対象タスクが実行状態のタスクでない 56 * (B-3) 対象タスクが実行状態のタスクだがタスク例外処理禁止 57 * (C) CPU例外ハンドラから呼ばれたiras_texの正常処理 58 * (C-1) 対象タスクが実行状態のタスクかつタスク例外処理許可 59 * (C-2) 対象タスクが実行状態のタスクでない 60 * (C-3) 対象タスクが実行状態のタスクだがタスク例外処理禁止 61 * → 実施しない(ターゲット非依存に実現できない) 62 * (D) 割込みハンドラの出口処理による起動 63 * (D-1) ディスパッチ後のタスクがタスク例外許可でタスク例外処理要 64 * 求あり 65 * (E) CPU例外ハンドラの出口処理による起動 66 * (E-1) ディスパッチ後のタスクがタスク例外許可でタスク例外処理要 67 * 求あり 68 * (F) sns_texで実行状態のタスクがない 69 * 70 * 【使用リソース】 71 * 72 * TASK1: メインのタスク.実行状態のタスクに対してタスク例外処理を要求す 73 * る対象タスク 74 * TASK2: 実行状態でないタスクに対してタスク例外処理を要求する対象タスク 75 * TASK3: タスク例外処理ルーチンが定義されていないタスク 76 * TASK4: 休止状態のタスク 77 * ALM1: アラームハンドラ1 78 * ALM2: アラームハンドラ2 79 * ALM3: アラームハンドラ3 80 * CPUEXC: CPU例外ハンドラ 81 * 82 * 【テストシーケンス】 83 * 84 * == TASK1(優先度:10)== 114 85 * 1: state(false, false, TIPM_ENAALL, false, false, true) 115 86 * ref_tex(TSK_SELF, &rtex) … … 117 88 * assert(rtex.pndptn == 0U) 118 89 * 2: sta_alm(ALM1, 1U) 119 * DO(while (!(alm1_flag))) ... ã¢ã©ã¼ã ãã³ãã©1ã®å®è¡ãå¾ 120 㤠90 * DO(while (!(alm1_flag))) ... アラームハンドラ1の実行を待つ 121 91 * == ALM1 == 122 92 * 3: state_i(true, false, false, true, true) … … 127 97 * DO(alm1_flag = true) 128 98 * RETURN 129 * == TASK1 ï¼ç¶ãï¼==99 * == TASK1(続き)== 130 100 * 4: ena_tex() 131 * == TASK1-TEX-1 ï¼1åç®ï¼==101 * == TASK1-TEX-1(1回目)== 132 102 * 5: assert(texptn == 0x0001) 133 103 * state(false, false, TIPM_ENAALL, false, false, true) 134 * 6: dis_dsp() ... 4ã¤ã®ç¶æ 135 ãããããå¤åããã 104 * 6: dis_dsp() ... 4つの状態をそれぞれ変化させる 136 105 * chg_ipm(TMAX_INTPRI) 137 106 * ena_tex() … … 139 108 * state(false, true, TMAX_INTPRI, true, true, false) 140 109 * RETURN 141 * == TASK1 ï¼ç¶ãï¼==110 * == TASK1(続き)== 142 111 * 7: state(false, false, TIPM_ENAALL, false, false, false) 143 112 * ref_tex(TSK_SELF, &rtex) … … 151 120 * DO(alm2_flag = true) 152 121 * RETURN ... (D-1) 153 * == TASK1-TEX-2 ï¼2åç®ï¼==122 * == TASK1-TEX-2(2回目)== 154 123 * 10: assert(texptn == 0x0002) 155 124 * state(false, false, TIPM_ENAALL, false, false, true) 156 125 * RETURN 157 * == TASK1 ï¼ç¶ãï¼==126 * == TASK1(続き)== 158 127 * 11: sus_tsk(TASK2) 159 128 * sus_tsk(TASK3) … … 161 130 * 13: dly_tsk(50U) 162 131 * == ALM3 == 163 * 14: state_i(true, false, false, true, true) ... (F) ï¼»sns_tex()ãå«ãï¼½132 * 14: state_i(true, false, false, true, true) ... (F)[sns_tex()を含む] 164 133 * iget_tid(&tskid) 165 134 * assert(tskid == TSK_NONE) … … 167 136 * DO(alm3_flag = true) 168 137 * RETURN 169 * == TASK1-TEX-3 ï¼3åç®ï¼==138 * == TASK1-TEX-3(3回目)== 170 139 * 15: assert(texptn == 0x0004) 171 140 * state(false, false, TIPM_ENAALL, false, false, true) 172 141 * RETURN 173 * == TASK1 ï¼ç¶ãï¼==142 * == TASK1(続き)== 174 143 * 16: rsm_tsk(TASK2) 175 144 * rsm_tsk(TASK3) … … 184 153 * iras_tex(TASK1, 0x0010) ... (C-1) 185 154 * RETURN ... (E-1) 186 * == TASK1-TEX-4 ï¼4åç®ï¼==155 * == TASK1-TEX-4(4回目)== 187 156 * 19: assert(texptn == 0x0010) 188 157 * state(false, false, TIPM_ENAALL, true, true, true) 189 158 * 20: ext_tsk() 190 * == TASK2ï¼åªå 191 度ï¼10ï¼== 159 * == TASK2(優先度:10)== 192 160 * 21: state(false, false, TIPM_ENAALL, false, false, true) 193 161 * 22: ena_tex() … … 196 164 * state(false, false, TIPM_ENAALL, false, false, true) 197 165 * RETURN 198 * == TASK2 ï¼ç¶ãï¼==166 * == TASK2(続き)== 199 167 * 24: sus_tsk(TASK3) 200 168 * 25: END … … 212 180 213 181 /* 214 * task3 ï¼task4ã¨tex_task4ã¯çæãããªã182 * task3,task4とtex_task4は生成されない 215 183 */ 216 184 -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/test_tex2.cfg
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r313 r315 4 4 5 5 /* 6 * ã¿ã¹ã¯ä¾å¤å¦çã«é¢ãããã¹ã(2)ã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«6 * タスク例外処理に関するテスト(2)のシステムコンフィギュレーションファイル 7 7 */ 8 8 INCLUDE("target_timer.cfg"); -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/test_tex2.h
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r313 r315 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 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 責ãããã¨ï¼ 8 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 44 30 * 45 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 46 ã 47 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 48 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 49 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 50 * ã®è²¬ä»»ãè² ããªãï¼ 31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 51 36 * 52 37 * @(#) $Id$ … … 54 39 55 40 /* 56 * ã¿ã¹ã¯ä¾å¤å¦çã«é¢ãããã¹ã(2)41 * タスク例外処理に関するテスト(2) 57 42 */ 58 43 59 44 /* 60 * ã¿ã¼ã²ããä¾åã®å®ç¾©45 * ターゲット依存の定義 61 46 */ 62 47 #include "target_test.h" 63 48 64 49 /* 65 * åã¿ã¹ã¯ã®åªå 66 度ã®å®ç¾© 50 * 各タスクの優先度の定義 67 51 */ 68 #define TASK1_PRIORITY 10 /* ã¿ã¹ã¯1ã®åªå 69 度 */ 70 #define TASK2_PRIORITY 10 /* ã¿ã¹ã¯2ã®åªå 71 度 */ 72 #define TASK3_PRIORITY 10 /* ã¿ã¹ã¯3ã®åªå 73 度 */ 74 #define TASK4_PRIORITY 10 /* ã¿ã¹ã¯4ã®åªå 75 度 */ 52 #define TASK1_PRIORITY 10 /* タスク1の優先度 */ 53 #define TASK2_PRIORITY 10 /* タスク2の優先度 */ 54 #define TASK3_PRIORITY 10 /* タスク3の優先度 */ 55 #define TASK4_PRIORITY 10 /* タスク4の優先度 */ 76 56 77 57 /* 78 * ã¿ã¼ã²ããã«ä¾åããå¯è½æ§ã®ããå®æ°ã®å®ç¾©58 * ターゲットに依存する可能性のある定数の定義 79 59 */ 80 60 #ifndef STACK_SIZE 81 #define STACK_SIZE 4096 /* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº*/61 #define STACK_SIZE 4096 /* タスクのスタックサイズ */ 82 62 #endif /* STACK_SIZE */ 83 63 84 64 /* 85 * é¢æ°ã®ãããã¿ã¤ã宣è¨65 * 関数のプロトタイプ宣言 86 66 */ 87 67 #ifndef TOPPERS_MACRO_ONLY -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/test_utm1.c
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r313 r315 8 8 * Graduate School of Information Science, Nagoya Univ., JAPAN 9 9 * 10 * ä¸è¨èä½æ¨©è 11 ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ 12 * ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹ 13 * å¤ã»åé 14 å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 15 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 16 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 17 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 18 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 19 * ç¨ã§ããå½¢ã§åé 20 å¸ããå ´åã«ã¯ï¼åé 21 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 22 * è 23 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 24 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 25 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 26 * ç¨ã§ããªãå½¢ã§åé 27 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 28 * ã¨ï¼ 29 * (a) åé 30 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 31 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 32 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 33 * (b) åé 34 å¸ã®å½¢æ 35 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 36 * å ±åãããã¨ï¼ 37 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 38 * 害ãããï¼ä¸è¨èä½æ¨©è 39 ããã³TOPPERSããã¸ã§ã¯ããå 40 責ãããã¨ï¼ 41 * ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç 42 * ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è 43 ããã³TOPPERSããã¸ã§ã¯ãã 44 * å 45 責ãããã¨ï¼ 10 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 11 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 12 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 13 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 14 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 15 * スコード中に含まれていること. 16 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 17 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 18 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 19 * の無保証規定を掲載すること. 20 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 21 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 22 * と. 23 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 24 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 25 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 26 * 報告すること. 27 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 28 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 29 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 30 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 31 * 免責すること. 46 32 * 47 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 48 ã 49 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 50 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 51 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 52 * ã®è²¬ä»»ãè² ããªãï¼ 33 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 34 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 35 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 36 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 37 * の責任を負わない. 53 38 * 54 39 * $Id$ … … 56 41 57 42 /* 58 * get_utm ã«é¢ãããã¹ã(1)43 * get_utmに関するテスト(1) 59 44 * 60 * ããã¹ãã®ç®çã45 * 【テストの目的】 61 46 * 62 * æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»ãéè¡ãããã¨ããªããã¨ããã¹ãããï¼47 * 性能評価用システム時刻が逆行することがないことをテストする. 63 48 * 64 * ããã¹ãã®å 65 容ã 49 * 【テストの内容】 66 50 * 67 * ã¡ã¤ã³ã¿ã¹ã¯ã§ã¯ï¼æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»ãç¹°ãè¿ãåå¾ãï¼æå»ãå°68 * ãããªããªããããã§ãã¯ããï¼ããã¨ä¸¦è¡ãã¦ï¼å¨æãã³ãã©ã1ããªç§69 * å¨æã§å®è¡ãï¼ãã®ä¸ã§ãæ§è½è©ä¾¡ç¨ã·ã¹ãã æå»ãåå¾ãã¦ï¼æå»ãå°70 * ãããªããªããããã§ãã¯ããï¼51 * メインタスクでは,性能評価用システム時刻を繰り返し取得し,時刻が小 52 * さくならないかをチェックする.それと並行して,周期ハンドラを1ミリ秒 53 * 周期で実行し,その中でも性能評価用システム時刻を取得して,時刻が小 54 * さくならないかをチェックする. 71 55 * 72 * ãªãï¼æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»ãæ大å¤ãè¶ 73 ãã¦0ã«æ»ãç¶æ³ã¯èæ 74 ®ãã¦ã 75 * ãªãï¼ 56 * なお,性能評価用システム時刻が最大値を超えて0に戻る状況は考慮してい 57 * ない. 76 58 */ 77 59 -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/test_utm1.cfg
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=UTF-8
r313 r315 4 4 5 5 /* 6 * get_utm ã«é¢ãããã¹ã(1)ã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«6 * get_utmに関するテスト(1)のシステムコンフィギュレーションファイル 7 7 */ 8 8 INCLUDE("target_timer.cfg"); -
Property svn:mime-type
changed from
-
rubycfg_asp/trunk/asp_dcre/test/test_utm1.h
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr; charset=UTF-8
r313 r315 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 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 責ãããã¨ï¼ 8 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 44 30 * 45 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 46 ã 47 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 48 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 49 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 50 * ã®è²¬ä»»ãè² ããªãï¼ 31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 51 36 * 52 37 * $Id$ … … 54 39 55 40 /* 56 * get_utm ã«é¢ãããã¹ã(1)41 * get_utmに関するテスト(1) 57 42 */ 58 43 59 44 /* 60 * ã¿ã¼ã²ããä¾åã®å®ç¾©45 * ターゲット依存の定義 61 46 */ 62 47 #include "target_test.h" 63 48 64 49 /* 65 * åã¿ã¹ã¯ã®åªå 66 度ã®å®ç¾© 50 * 各タスクの優先度の定義 67 51 */ 68 52 #define MAIN_PRIORITY 10 69 53 70 54 /* 71 * ã¿ã¼ã²ããã«ä¾åããå¯è½æ§ã®ããå®æ°ã®å®ç¾©55 * ターゲットに依存する可能性のある定数の定義 72 56 */ 73 57 #ifndef STACK_SIZE 74 #define STACK_SIZE 4096 /* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº*/58 #define STACK_SIZE 4096 /* タスクのスタックサイズ */ 75 59 #endif /* STACK_SIZE */ 76 60 77 61 /* 78 * é¢æ°ã®ãããã¿ã¤ã宣è¨62 * 関数のプロトタイプ宣言 79 63 */ 80 64 #ifndef TOPPERS_MACRO_ONLY -
Property svn:mime-type
changed from
Note:
See TracChangeset
for help on using the changeset viewer.