Ignore:
Timestamp:
Jul 23, 2017, 2:29:40 PM (7 years ago)
Author:
coas-nagasima
Message:

SVNプロパティを設定

File:
1 edited

Legend:

Unmodified
Added
Removed
  • rubycfg_asp/trunk/asp_dcre/test/test_cpuexc.txt

    • Property svn:mime-type changed from text/plain to text/plane; charset=UTF-8
    r313 r315  
    11
    2                 CPU例外処理のテスト
     2                CPU例外処理のテスト
    33
    4 ã€ãƒ†ã‚¹ãƒˆã®ç›®çš„】
     4【テストの目的】
    55
    6 CPU例外ハンドラの実行開始/リターン時のシステム状æ
    7 ‹ã¨ï¼ŒCPU例外ハンドラ
    8 ä¸­ã§ã®xsns_dpnとxsns_xpnの動作を網ç¾
    9 çš„にテストする.
     6CPU例外ハンドラの実行開始/リターン時のシステム状態と,CPU例外ハンドラ
     7中でのxsns_dpnとxsns_xpnの動作を網羅的にテストする.
    108
    11 ã€ãƒ†ã‚¹ãƒˆé 
    12 ç›®ã€‘
     9【テスト項目】
    1310
    14 (A) CPU例外ハンドラ実行開始時にCPUロックフラグが変化しないこと
     11(A) CPU例外ハンドラ実行開始時にCPUロックフラグが変化しないこと
    1512
    16 (B) CPU例外ハンドラ実行開始時に割込み優å
    17 ˆåº¦ãƒžã‚¹ã‚¯ãŒå¤‰åŒ–しないこと
    18         !CPU例外ハンドラ中で割込み優å
    19 ˆåº¦ãƒžã‚¹ã‚¯ã‚’読めないため,テストできな
    20          い.
     13(B) CPU例外ハンドラ実行開始時に割込み優先度マスクが変化しないこと
     14        !CPU例外ハンドラ中で割込み優先度マスクを読めないため,テストできな
     15         い.
    2116
    22 (C) CPU例外ハンドラ実行開始時にディスパッチ禁止フラグが変化しないこと
     17(C) CPU例外ハンドラ実行開始時にディスパッチ禁止フラグが変化しないこと
    2318
    24 (D) CPU例外ハンドラ実行開始時にタスク例外処理禁止フラグが変化しないこと
     19(D) CPU例外ハンドラ実行開始時にタスク例外処理禁止フラグが変化しないこと
    2520
    26 (E) CPU例外ハンドラリターン時にCPUロックフラグがå
    27 ƒã«æˆ»ã‚‹ã“と
     21(E) CPU例外ハンドラリターン時にCPUロックフラグが元に戻ること
    2822
    29 (F) CPU例外ハンドラリターン時に割込み優å
    30 ˆåº¦ãƒžã‚¹ã‚¯ãŒå
    31 ƒã«æˆ»ã‚‹ã“と
     23(F) CPU例外ハンドラリターン時に割込み優先度マスクが元に戻ること
    3224
    33 (G) CPU例外ハンドラリターン時にディスパッチ禁止フラグが変化しないこと
     25(G) CPU例外ハンドラリターン時にディスパッチ禁止フラグが変化しないこと
    3426
    35 (H) CPU例外ハンドラリターン時にタスク例外処理禁止フラグが変化しないこと
     27(H) CPU例外ハンドラリターン時にタスク例外処理禁止フラグが変化しないこと
    3628
    37 (I) xsns_xpnが正しい値を返すこと
     29(I) xsns_xpnが正しい値を返すこと
    3830
    39 xsns_xpnは,CPU例外が発生した状況が次の条件をすべて満たす場合にfalse,
    40 ãã†ã§ãªã„場合にtrueを返す.
    41 ã€€ãƒ»ã‚¿ã‚¹ã‚¯ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆ
    42 ã€€ãƒ»å‰²è¾¼ã¿ãƒ­ãƒƒã‚¯è§£é™¤çŠ¶æ
    43 ‹
    44 ã€€ãƒ»CPUロック解除状æ
    45 ‹
    46 ã€€ãƒ»å‰²è¾¼ã¿å„ªå
    47 ˆåº¦ãƒžã‚¹ã‚¯å
    48 ¨è§£é™¤çŠ¶æ
    49 ‹
    50 ã€€ãƒ»ã‚¿ã‚¹ã‚¯ä¾‹å¤–許可状æ
    51 ‹
     31xsns_xpnは,CPU例外が発生した状況が次の条件をすべて満たす場合にfalse,
     32そうでない場合にtrueを返す.
     33 ・タスクコンテキスト
     34 ・割込みロック解除状態
     35 ・CPUロック解除状態
     36 ・割込み優先度マスク全解除状態
     37 ・タスク例外許可状態
    5238
    53 (J) xsns_dpnが正しい値を返すこと
     39(J) xsns_dpnが正しい値を返すこと
    5440
    55 xsns_dpnは,CPU例外が発生した状況が次の条件をすべて満たす場合にfalse,
    56 ãã†ã§ãªã„場合にtrueを返す.
    57 ã€€ãƒ»ã‚¿ã‚¹ã‚¯ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆ
    58 ã€€ãƒ»å‰²è¾¼ã¿ãƒ­ãƒƒã‚¯è§£é™¤çŠ¶æ
    59 ‹
    60 ã€€ãƒ»CPUロック解除状æ
    61 ‹
    62 ã€€ãƒ»å‰²è¾¼ã¿å„ªå
    63 ˆåº¦ãƒžã‚¹ã‚¯å
    64 ¨è§£é™¤çŠ¶æ
    65 ‹
    66 ã€€ãƒ»ãƒ‡ã‚£ã‚¹ãƒ‘ッチ許可状æ
    67 ‹
     41xsns_dpnは,CPU例外が発生した状況が次の条件をすべて満たす場合にfalse,
     42そうでない場合にtrueを返す.
     43 ・タスクコンテキスト
     44 ・割込みロック解除状態
     45 ・CPUロック解除状態
     46 ・割込み優先度マスク全解除状態
     47 ・ディスパッチ許可状態
    6848
    69 (K) タスク切換えによるリカバリーができること
     49(K) タスク切換えによるリカバリーができること
    7050
    71 (L) タスク例外によるリカバリーができること
     51(L) タスク例外によるリカバリーができること
    7252
    73 ã€ãƒ†ã‚¹ãƒˆã‚’実施する状況】
     53【テストを実施する状況】
    7454
    75 CPU例外の発生する状況は,次のように分類することができる.これらの状況毎
    76 ã«ãƒ†ã‚¹ãƒˆãƒ—ログラムを用意する.
     55CPU例外の発生する状況は,次のように分類することができる.これらの状況毎
     56にテストプログラムを用意する.
    7757
    78 (a-1) 非タスクコンテキスト
    79 (a-2) タスクコンテキスト
     58(a-1) 非タスクコンテキスト
     59(a-2) タスクコンテキスト
    8060
    81 (b-1) 割込みロック状æ
    82 ‹
    83 (b-2) 割込みロック解除状æ
    84 ‹
     61(b-1) 割込みロック状態
     62(b-2) 割込みロック解除状態
    8563
    86 (c-1) CPUロック状æ
    87 ‹
    88 (c-2) CPUロック解除状æ
    89 ‹
     64(c-1) CPUロック状態
     65(c-2) CPUロック解除状態
    9066
    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が設定できるかはターゲットに依存する.
    10173
    102 (e-1) ディスパッチ禁止状æ
    103 ‹
    104 (e-2) ディスパッチ許可状æ
    105 ‹
     74(e-1) ディスパッチ禁止状態
     75(e-2) ディスパッチ許可状態
    10676
    107 (f-1) タスク例外禁止状æ
    108 ‹
    109 (f-2) タスク例外許可状æ
    110 ‹
     77(f-1) タスク例外禁止状態
     78(f-2) タスク例外許可状態
    11179
    112 ã“の組み合わせをすべてテストすることは現実的でないため,代表的なパター
    113 ãƒ³ã«çµžã‚Šè¾¼ã‚€ï¼Ž
     80この組み合わせをすべてテストすることは現実的でないため,代表的なパター
     81ンに絞り込む.
    11482
    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する.
    11886
    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) → リカバリー不可
    12391
    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) → リカバリー不可
    12795
    128 æ¬¡ã«ï¼Œ(a)~(c)を(a-2)(b-2)(c-2)に固定して,(d)~(f)の組み合わせで,次の
    129 8つのパターンをテストする.
     96次に,(a)~(c)を(a-2)(b-2)(c-2)に固定して,(d)~(f)の組み合わせで,次の
     978つのパターンをテストする.
    13098
    131 (6) (d-1)(e-2)(f-1) → タスク切換えによるリカバリー可能
     99(6) (d-1)(e-2)(f-1) → タスク切換えによるリカバリー可能
    132100
    133 (7) (d-1)(e-1)(f-2) → タスク例外によるリカバリー可能
     101(7) (d-1)(e-1)(f-2) → タスク例外によるリカバリー可能
    134102
    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)のテストは省く.
    137105
    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)のテストは省く.
    140108
    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)のテストは省く.
    143111
    144 (11) (d-1)(e-2)(f-2) → 両方法によるリカバリー可能
     112(11) (d-1)(e-2)(f-2) → 両方法によるリカバリー可能
    145113
    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パターン)は省く.
    148116
    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パターン)は省く.
    151119
    152 ã€ä½¿ç”¨ãƒªã‚½ãƒ¼ã‚¹ã€‘
     120【使用リソース】
    153121
    154 TASK1: TA_ACT,中優å
    155 ˆåº¦ï¼Œã‚¿ã‚¹ã‚¯ä¾‹å¤–処理ルーチン登録
    156 TASK2: TA_NULL,高優å
    157 ˆåº¦
     122TASK1: TA_ACT,中優先度,タスク例外処理ルーチン登録
     123TASK2: TA_NULL,高優先度
    158124CPUEXC1: TA_NULL
    159125ALM1: TA_NULL
    160126
    161 ä»¥ä¸Š
     127以上
Note: See TracChangeset for help on using the changeset viewer.