source: asp3_wo_tecs/trunk/test/test_cpuexc.txt@ 302

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

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

  • Property svn:mime-type set to application/octet-stream
File size: 3.5 KB
Line 
1
2 CPU例外処理のテスト
3
4【テストの目的】
5
6CPU例外ハンドラの実行開始/リターン時のシステム状æ…
7‹ã¨ï¼ŒCPU例外ハンドラ
8中でのxsns_dpnの動作を網羅
9的にテストする.
10
11【テスト項
12目】
13
14(A) CPU例外ハンドラ実行開始時にCPUロックフラグが変化しないこと
15
16(B) CPU例外ハンドラ実行開始時に割込み優å…
17ˆåº¦ãƒžã‚¹ã‚¯ãŒå¤‰åŒ–しないこと
18 !CPU例外ハンドラ中で割込み優å…
19ˆåº¦ãƒžã‚¹ã‚¯ã‚’読めないため,テストできな
20  い.
21
22(C) CPU例外ハンドラ実行開始時にディスパッチ禁止フラグが変化しないこと
23
24(D) CPU例外ハンドラリターン時にCPUロックフラグがå…
25ƒã«æˆ»ã‚‹ã“と
26
27(E) CPU例外ハンドラリターン時に割込み優å…
28ˆåº¦ãƒžã‚¹ã‚¯ãŒå…
29ƒã«æˆ»ã‚‹ã“と
30
31(F) CPU例外ハンドラリターン時にディスパッチ禁止フラグが変化しないこと
32
33(G) xsns_dpnが正しい値を返すこと
34
35xsns_dpnは,CPU例外が発生した状況が次の条件をすべて満たす場合にfalse,
36そうでない場合にtrueを返す.
37 ・タスクコンテキスト
38 ・割込みロック解除状æ…
39‹
40 ・CPUロック解除状æ…
41‹
42 ・割込み優å…
43ˆåº¦ãƒžã‚¹ã‚¯å…
44¨è§£é™¤çŠ¶æ…
45‹
46 ・ディスパッチ許可状æ…
47‹
48
49(H) タスク切換えによるリカバリーができること
50
51【テストを実施する状況】
52
53CPU例外の発生する状況は,次のように分類することができる.これらの状況毎
54にテストプログラムを用意する.
55
56(a-1) 非タスクコンテキスト
57(a-2) タスクコンテキスト
58
59(b-1) 割込みロック状æ…
60‹
61(b-2) 割込みロック解除状æ…
62‹
63
64(c-1) CPUロック状æ…
65‹
66(c-2) CPUロック解除状æ…
67‹
68
69(d-1) 割込み優å…
70ˆåº¦ãƒžã‚¹ã‚¯å…
71¨è§£é™¤ï¼ˆå‰²è¾¼ã¿å„ªå…
72ˆåº¦ãƒžã‚¹ã‚¯ï¼TIPM_ENAALL)
73(d-2) 割込み優å…
74ˆåº¦ãƒžã‚¹ã‚¯ï¼TMAX_INTPRI
75 !TMAX_INTPRI=TMIN_INTPRIの場合は(d-3)と同じになるので実施しない.
76(d-3) 割込み優å…
77ˆåº¦ãƒžã‚¹ã‚¯ï¼TMIN_INTPRI
78(d-4) 割込み優å…
79ˆåº¦ãƒžã‚¹ã‚¯ï¼TMIN_INTPRI-1
80 !TMIN_INTPRI-1が設定できるかはターゲットに依存する.
81
82(e-1) ディスパッチ禁止状æ…
83‹
84(e-2) ディスパッチ許可状æ…
85‹
86
87この組み合わせをすべてテストすることは現実的でないため,代表的なパター
88ンに絞り込む.
89
90まず,(a)〜(c)の組み合わせで,次の5つのパターンをテストする.これらのテ
91ストをする際には,(d)と(e)については,(d-1)(e-1)の組み合わせに固定する.
92
93(1) (a-1)(b-1)(c-2) → リカバリー不可
94 !(a-1)(b-1)(c-1)のテストは省く.
95(2) (a-1)(b-2)(c-1) → リカバリー不可
96(3) (a-1)(b-2)(c-2) → リカバリー不可
97
98(4) (a-2)(b-1)(c-2) → リカバリー不可
99 !(a-2)(b-1)(c-1)のテストは省く.
100(5) (a-2)(b-2)(c-1) → リカバリー不可
101
102次に,(a)〜(c)を(a-2)(b-2)(c-2)に固定して,(d)と(e)の組み合わせで,次の
1035つのパターンをテストする.
104
105(6) (d-1)(e-2) → タスク切換えによるリカバリー可能
106
107(7) (d-1)(e-1) → リカバリー不可
108
109(8) (d-2)(e-2) → リカバリー不可
110 !(d-2)(e-1)のテストは省く.
111
112(9) (d-3)(e-2) → リカバリー不可
113 !(d-3)(e-1)のテストは省く.
114
115(10) (d-4)(e-2) → リカバリー不可
116 !(d-4)(e-1)のテストは省く.
117
118【使用リソース】
119
120TASK1: 中優å…
121ˆåº¦ã‚¿ã‚¹ã‚¯ï¼ŒTA_ACT属性
122TASK2: 高優å…
123ˆåº¦ã‚¿ã‚¹ã‚¯
124CPUEXC: CPU例外ハンドラ
125ALM1: アラームハンドラ
126
127以上
Note: See TracBrowser for help on using the repository browser.