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_tex2.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  *              タスク例外処理に関するテスト(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)==
    11485 *      1:      state(false, false, TIPM_ENAALL, false, false, true)
    11586 *              ref_tex(TSK_SELF, &rtex)
     
    11788 *              assert(rtex.pndptn == 0U)
    11889 *      2:      sta_alm(ALM1, 1U)
    119  *              DO(while (!(alm1_flag)))        ... アラームハンドラ1の実行をå¾
    120 ã¤
     90 *              DO(while (!(alm1_flag)))        ... アラームハンドラ1の実行を待つ
    12191 *      == ALM1 ==
    12292 *      3:      state_i(true, false, false, true, true)
     
    12797 *              DO(alm1_flag = true)
    12898 *              RETURN
    129  *      == TASK1(続き)==
     99 *      == TASK1(続き)==
    130100 *      4:      ena_tex()
    131  *      == TASK1-TEX-1(1回目)==
     101 *      == TASK1-TEX-1(1回目)==
    132102 *      5:      assert(texptn == 0x0001)
    133103 *              state(false, false, TIPM_ENAALL, false, false, true)
    134  *      6:      dis_dsp() ... 4つの状æ
    135 ‹ã‚’それぞれ変化させる
     104 *      6:      dis_dsp() ... 4つの状態をそれぞれ変化させる
    136105 *              chg_ipm(TMAX_INTPRI)
    137106 *              ena_tex()
     
    139108 *              state(false, true, TMAX_INTPRI, true, true, false)
    140109 *              RETURN
    141  *      == TASK1(続き)==
     110 *      == TASK1(続き)==
    142111 *      7:      state(false, false, TIPM_ENAALL, false, false, false)
    143112 *              ref_tex(TSK_SELF, &rtex)
     
    151120 *              DO(alm2_flag = true)
    152121 *              RETURN                                                                  ... (D-1)
    153  *      == TASK1-TEX-2(2回目)==
     122 *      == TASK1-TEX-2(2回目)==
    154123 *      10:     assert(texptn == 0x0002)
    155124 *              state(false, false, TIPM_ENAALL, false, false, true)
    156125 *              RETURN
    157  *      == TASK1(続き)==
     126 *      == TASK1(続き)==
    158127 *      11:     sus_tsk(TASK2)
    159128 *              sus_tsk(TASK3)
     
    161130 *      13:     dly_tsk(50U)
    162131 *      == 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()を含む]
    164133 *              iget_tid(&tskid)
    165134 *              assert(tskid == TSK_NONE)
     
    167136 *              DO(alm3_flag = true)
    168137 *              RETURN
    169  *      == TASK1-TEX-3(3回目)==
     138 *      == TASK1-TEX-3(3回目)==
    170139 *      15:     assert(texptn == 0x0004)
    171140 *              state(false, false, TIPM_ENAALL, false, false, true)
    172141 *              RETURN
    173  *      == TASK1(続き)==
     142 *      == TASK1(続き)==
    174143 *      16:     rsm_tsk(TASK2)
    175144 *              rsm_tsk(TASK3)
     
    184153 *              iras_tex(TASK1, 0x0010)                                 ... (C-1)
    185154 *              RETURN                                                                  ... (E-1)
    186  *      == TASK1-TEX-4(4回目)==
     155 *      == TASK1-TEX-4(4回目)==
    187156 *      19:     assert(texptn == 0x0010)
    188157 *              state(false, false, TIPM_ENAALL, true, true, true)
    189158 *      20:     ext_tsk()
    190  *      == TASK2(優å
    191 ˆåº¦ï¼š10)==
     159 *      == TASK2(優先度:10)==
    192160 *      21:     state(false, false, TIPM_ENAALL, false, false, true)
    193161 *      22:     ena_tex()
     
    196164 *              state(false, false, TIPM_ENAALL, false, false, true)
    197165 *              RETURN
    198  *      == TASK2(続き)==
     166 *      == TASK2(続き)==
    199167 *      24:     sus_tsk(TASK3)
    200168 *      25:     END
     
    212180
    213181/*
    214  *  task3,task4とtex_task4は生成されない
     182 *  task3,task4とtex_task4は生成されない
    215183 */
    216184
Note: See TracChangeset for help on using the changeset viewer.