Changeset 315 for rubycfg_asp/trunk/asp_dcre/test/test_cpuexc4.c
- Timestamp:
- Jul 23, 2017, 2:29:40 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
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
Note:
See TracChangeset
for help on using the changeset viewer.