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_tex1.c

    • Property svn:mime-type changed from text/x-csrc to text/x-csrc; charset=UTF-8
    r313 r315  
    66 *              Graduate School of Information Science, Nagoya Univ., JAPAN
    77 *
    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 *      免責すること.
    4430 *
    45  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    46 ãŠ
    47  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    48  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    49  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    50  *  の責任を負わない.
     31 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     32 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     33 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     34 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     35 *  の責任を負わない.
    5136 *
    5237 *  $Id$
     
    5439
    5540/*
    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)==
    13399 *      1:      state(false, false, TIPM_ENAALL, false, false, true)
    134100 *              ref_tex(TSK_SELF, &rtex)
     
    145111 *              assert(rtex.pndptn == 0U)
    146112 *      3:      ras_tex(TSK_SELF, 0x0001)                       ... (E-1)
    147  *      == TASK1-TEX-1(1回目)==
     113 *      == TASK1-TEX-1(1回目)==
    148114 *      4:      assert(texptn == 0x0001)
    149115 *              state(false, false, TIPM_ENAALL, false, false, true)
    150  *      5:      dis_dsp() ... 4つの状æ
    151 ‹ã‚’それぞれ変化させる
     116 *      5:      dis_dsp() ... 4つの状態をそれぞれ変化させる
    152117 *              chg_ipm(TMAX_INTPRI)
    153118 *              ena_tex()
     
    155120 *              state(false, true, TMAX_INTPRI, true, true, false)
    156121 *              RETURN
    157  *      == TASK1(続き)==
     122 *      == TASK1(続き)==
    158123 *      6:      state(false, false, TIPM_ENAALL, false, false, false)   ... (J-1)
    159  *      7:      dis_dsp() ... ディスパッチ禁止,タスク例外処理禁止
     124 *      7:      dis_dsp() ... ディスパッチ禁止,タスク例外処理禁止
    160125 *              dis_tex()
    161126 *              state(false, false, TIPM_ENAALL, true, true, true)
     
    165130 *              assert(rtex.pndptn == 0x0002)
    166131 *      9:      ena_tex()                                                       ... (F-1)
    167  *      == TASK1-TEX-2(2回目)==
     132 *      == TASK1-TEX-2(2回目)==
    168133 *      10:     assert(texptn == 0x0002)
    169134 *              state(false, false, TIPM_ENAALL, true, true, true)
    170135 *      11:     ras_tex(TASK1, 0x0001)                          ... (E-3)
    171136 *              ras_tex(TASK1, 0x0002)                          ... (E-3)
    172  *      12:     ena_dsp() ... 3つの状æ
    173 ‹ã‚’それぞれ変化させる
     137 *      12:     ena_dsp() ... 3つの状態をそれぞれ変化させる
    174138 *              chg_ipm(TMAX_INTPRI)
    175139 *              loc_cpu()
    176140 *              state(false, true, TMAX_INTPRI, false, true, true)
    177141 *              RETURN                                                          ... (I)
    178  *      == TASK1-TEX-3(3回目)==
     142 *      == TASK1-TEX-3(3回目)==
    179143 *      13:     assert(texptn == 0x0003)
    180144 *              state(false, false, TIPM_ENAALL, true, true, true)      ... (J-2)
    181  *      14:     ena_dsp() ... ディスパッチ許可,タスク例外許可
     145 *      14:     ena_dsp() ... ディスパッチ許可,タスク例外許可
    182146 *              chg_ipm(TMAX_INTPRI)
    183147 *              ena_tex()
     
    192156 *              ena_tex()                                                       ... (F-3)
    193157 *      16:     chg_ipm(TIPM_ENAALL)                            ... (G-1)(K)
    194  *      == TASK1-TEX-4(4回目)==
     158 *      == TASK1-TEX-4(4回目)==
    195159 *      17:     assert(texptn == 0x0004)
    196160 *              state(false, false, TIPM_ENAALL, false, false, true)
    197  *      18:     dis_dsp() ... 3つの状æ
    198 ‹ã‚’それぞれ変化させる
     161 *      18:     dis_dsp() ... 3つの状態をそれぞれ変化させる
    199162 *              chg_ipm(TMAX_INTPRI)
    200163 *              loc_cpu()
    201164 *              state(false, true, TMAX_INTPRI, true, true, true)
    202165 *              RETURN
    203  *      == TASK1-TEX-3(3回目続き)==
     166 *      == TASK1-TEX-3(3回目続き)==
    204167 *      19:     state(false, false, TIPM_ENAALL, false, false, false)
    205168 *              RETURN
    206  *      == TASK1(続き)==
     169 *      == TASK1(続き)==
    207170 *      20:     state(false, false, TIPM_ENAALL, true, true, false)     ... (J-1)
    208171 *      21: ena_dsp()
    209172 *              rot_rdq(TPRI_SELF)
    210  *      == TASK2(優å
    211 ˆåº¦ï¼š10)    ==
     173 *      == TASK2(優先度:10)        ==
    212174 *      22:     state(false, false, TIPM_ENAALL, false, false, true)
    213175 *      23:     ena_tex()
    214176 *              state(false, false, TIPM_ENAALL, false, false, false)
    215177 *              rot_rdq(TPRI_SELF)
    216  *      == TASK3(優å
    217 ˆåº¦ï¼š10)    ==
     178 *      == TASK3(優先度:10)        ==
    218179 *      24:     state(false, false, TIPM_ENAALL, false, false, true)
    219180 *      25:     ena_tex() -> E_OBJ                                      ... (C-1)
     
    222183 *              state(false, false, TIPM_ENAALL, false, false, true)
    223184 *              ext_tsk()
    224  *      == TASK1(続き)==
     185 *      == TASK1(続き)==
    225186 *      27: ras_tex(TASK2, 0x0001)                              ... (E-2)
    226187 *              ref_tex(TASK2, &rtex)
    227188 *      28:     rot_rdq(TPRI_SELF)                                      ... (H-1)
    228  *      == TASK2-TEX-1(1回目)==
     189 *      == TASK2-TEX-1(1回目)==
    229190 *      29:     assert(texptn == 0x0001)
    230191 *              state(false, false, TIPM_ENAALL, false, false, true)
    231192 *              RETURN
    232  *      == TASK2(続き)==
     193 *      == TASK2(続き)==
    233194 *      30: ras_tex(TSK_SELF, 0x0002)
    234  *      == TASK2-TEX-2(2回目)==
     195 *      == TASK2-TEX-2(2回目)==
    235196 *      31:     assert(texptn == 0x0002)
    236197 *              state(false, false, TIPM_ENAALL, false, false, true)
     
    238199 *              rot_rdq(TPRI_SELF)
    239200 *      33:     RETURN
    240  *      == TASK1(続き)==
     201 *      == TASK1(続き)==
    241202 *      34:     RETURN
    242  *      == TASK2(続き)==
     203 *      == TASK2(続き)==
    243204 *      35:     END
    244205 */
     
    251212
    252213/*
    253  *  task4とtex_task4は生成されない
     214 *  task4とtex_task4は生成されない
    254215 */
    255216
Note: See TracChangeset for help on using the changeset viewer.