Ignore:
Timestamp:
Aug 3, 2017, 10:46:41 PM (7 years ago)
Author:
coas-nagasima
Message:

プロパティの文字コードにUTF-8を追加、キーワードを削除

File:
1 edited

Legend:

Unmodified
Added
Removed
  • asp3_gr_sakura/trunk/target/gr_sakura_gcc/target_timer.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc; charset=UTF-8
    r317 r318  
    1414 *  Copyright (C) 2017      by Cores Co., Ltd. Japan
    1515 *
    16  *  上記著作権è€
    17 ã¯ï¼Œä»¥ä¸‹ã®(1)~(4)の条件を満たす場合に限り,本ソフトウェ
    18  *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
    19  *  変・再é
    20 å¸ƒï¼ˆä»¥ä¸‹ï¼Œåˆ©ç”¨ã¨å‘¼ã¶ï¼‰ã™ã‚‹ã“とを無償で許諾する.
    21  *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
    22  *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
    23  *      スコード中に含まれていること.
    24  *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
    25  *      用できる形で再é
    26 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é
    27 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
    28  *      è€
    29 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—作権表示,この利用条件および下記
    30  *      の無保証規定を掲載すること.
    31  *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
    32  *      用できない形で再é
    33 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
    34  *      と.
    35  *    (a) 再é
    36 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€
    37 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—
    38  *        作権表示,この利用条件および下記の無保証規定を掲載すること.
    39  *    (b) 再é
    40 å¸ƒã®å½¢æ
    41 ‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
    42  *        報告すること.
    43  *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
    44  *      害からも,上記著作権è€
    45 ãŠã‚ˆã³TOPPERSプロジェクトをå
    46 è²¬ã™ã‚‹ã“と.
    47  *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
    48  *      由に基づく請求からも,上記著作権è€
    49 ãŠã‚ˆã³TOPPERSプロジェクトを
    50  *      å
    51 è²¬ã™ã‚‹ã“と.
     16 *  上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
     17 *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
     18 *  変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
     19 *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
     20 *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
     21 *      スコード中に含まれていること.
     22 *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
     23 *      用できる形で再配布する場合には,再配布に伴うドキュメント(利用
     24 *      者マニュアルなど)に,上記の著作権表示,この利用条件および下記
     25 *      の無保証規定を掲載すること.
     26 *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
     27 *      用できない形で再配布する場合には,次のいずれかの条件を満たすこ
     28 *      と.
     29 *    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
     30 *        作権表示,この利用条件および下記の無保証規定を掲載すること.
     31 *    (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
     32 *        報告すること.
     33 *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
     34 *      害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
     35 *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
     36 *      由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
     37 *      免責すること.
    5238 *
    53  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    54 ãŠ
    55  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    56  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    57  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    58  *  の責任を負わない.
     39 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     40 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     41 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     42 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     43 *  の責任を負わない.
    5944 *
    6045 *  @(#) $Id$
     
    6247
    6348/*
    64  *              タイマドライバ(GR-SAKURA用)
     49 *              タイマドライバ(GR-SAKURA用)
    6550 */
    6651
     
    7459
    7560/*
    76  * 上位タイマソフトカウンタ
     61 * 上位タイマソフトカウンタ
    7762 */
    7863static uint16_t elapse_upper_timer = 0;
    7964
    8065/*
    81  * 上下位タイマ設定カウンタ
     66 * 上下位タイマ設定カウンタ
    8267 */
    8368static uint16_t timer_upper_set_count = 0, timer_lower_set_count = 0;
     
    8570#ifdef TOPPERS_SUPPORT_OVRHDR
    8671
    87 /* オーバラン上下位タイマ設定カウンタ */
     72/* オーバラン上下位タイマ設定カウンタ */
    8873static uint16_t timer_ovr_upper_set_count = 0, timer_ovr_lower_set_count = 0;
    8974
    90 /* オーバランタイマ実行中フラグ */
     75/* オーバランタイマ実行中フラグ */
    9176static bool_t timer_ovr_running_flg = false;
    9277
    93 /* オーバランタイマ開始時HRTタイマ値 */
     78/* オーバランタイマ開始時HRTタイマ値 */
    9479static HRTCNT timer_ovr_hrt_backup;
    9580
    96 /* オーバランタイマ設定時間 */
     81/* オーバランタイマ設定時間 */
    9782static PRCTIM timer_ovr_ovrtim_backup;
    9883
    9984/*
    100  *  オーバランタイマ割込み要求のクリア
     85 *  オーバランタイマ割込み要求のクリア
    10186 */
    10287Inline void
     
    10994
    11095/*
    111  *  タイマの初期化処理
     96 *  タイマの初期化処理
    11297 */
    11398void
     
    115100{
    116101        /*
    117          * モジュールストップ機能の設定  CMTユニット0 解除
    118          */
    119         sil_wrh_mem(SYSTEM_PRCR_ADDR, 0xA502);  /* 書込み許可 */
     102         * モジュールストップ機能の設定  CMTユニット0 解除
     103         */
     104        sil_wrh_mem(SYSTEM_PRCR_ADDR, 0xA502);  /* 書込み許可 */
    120105        sil_wrw_mem(SYSTEM_MSTPCRA_ADDR,
    121106                        sil_rew_mem(SYSTEM_MSTPCRA_ADDR) & ~SYSTEM_MSTPCRA_MSTPA15_BIT);
    122         sil_wrh_mem(SYSTEM_PRCR_ADDR, 0xA500);  /* 書込み禁止 */
     107        sil_wrh_mem(SYSTEM_PRCR_ADDR, 0xA500);  /* 書込み禁止 */
    123108
    124109        /*
    125          * タイマ停止
     110         * タイマ停止
    126111         */
    127112        sil_wrh_mem(CMT_CMSTR0_ADDR,
     
    129114       
    130115        /*
    131          * カウントアップに用いられるクロック設定
    132          * PCLK/8を選択
     116         * カウントアップに用いられるクロック設定
     117         * PCLK/8を選択
    133118         */
    134119        sil_wrh_mem(CMT0_CMCR_ADDR, CMT_PCLK_DIV_8);
     
    136121
    137122        /*
    138          * コンペアマッチタイマカウンタ設定
     123         * コンペアマッチタイマカウンタ設定
    139124         */
    140125        sil_wrh_mem(CMT0_CMCNT_ADDR, 0U);
     
    142127
    143128        /*
    144          * コンペアマッチタイマ周期設定
     129         * コンペアマッチタイマ周期設定
    145130         */
    146131        sil_wrh_mem(CMT0_CMCOR_ADDR, 0); /* lower */
     
    149134
    150135        /*
    151          * コンペアマッチタイマ割り込み要求å
    152 ˆè¨­å®šãƒ¬ã‚¸ã‚¹ã‚¿ï¼ˆ28,29)
     136         * コンペアマッチタイマ割り込み要求先設定レジスタ(28,29)
    153137         */
    154138        sil_wrb_mem(ICU_ISELR028_ADDR, ICU_ISEL_CPU);
     
    156140
    157141        /*
    158          *  タイマ動作開始前の割込み要求をクリア
     142         *  タイマ動作開始前の割込み要求をクリア
    159143         */
    160144        clear_int(INTNO_TIMER0);
     
    162146
    163147        /*
    164          * コンペアマッチタイマ割り込みを許可
     148         * コンペアマッチタイマ割り込みを許可
    165149         */
    166150//      sil_wrh_mem(CMT0_CMCR_ADDR,
     
    170154
    171155        /*
    172          * タイマ動作開始
     156         * タイマ動作開始
    173157         */
    174158//      sil_wrh_mem(CMT_CMSTR0_ADDR,
     
    179163
    180164/*
    181  *  タイマの停止処理
     165 *  タイマの停止処理
    182166 */
    183167void
     
    185169{
    186170        /*
    187          * タイマ停止  lower, upper
     171         * タイマ停止  lower, upper
    188172         */
    189173        sil_wrh_mem(CMT_CMSTR0_ADDR,
     
    191175
    192176        /*
    193          * タイマ割り込み禁止 lower,upper
     177         * タイマ割り込み禁止 lower,upper
    194178         */
    195179        sil_wrh_mem(CMT0_CMCR_ADDR,
     
    199183
    200184        /*
    201          *  タイマ割込み要求をクリア
     185         *  タイマ割込み要求をクリア
    202186         */
    203187        clear_int(INTNO_TIMER0);
     
    205189
    206190        /*
    207          * モジュールストップ機能の設定  CMTユニット0 停止
    208          */
    209         sil_wrh_mem(SYSTEM_PRCR_ADDR, 0xA502);  /* 書込み許可 */
     191         * モジュールストップ機能の設定  CMTユニット0 停止
     192         */
     193        sil_wrh_mem(SYSTEM_PRCR_ADDR, 0xA502);  /* 書込み許可 */
    210194        sil_wrw_mem(SYSTEM_MSTPCRA_ADDR,
    211195                        sil_rew_mem(SYSTEM_MSTPCRA_ADDR) | SYSTEM_MSTPCRA_MSTPA15_BIT);
    212         sil_wrh_mem(SYSTEM_PRCR_ADDR, 0xA500);  /* 書込み禁止 */
    213 }
    214 
    215 /*
    216  *  下位タイマ割込みハンドラ(CMT0)
     196        sil_wrh_mem(SYSTEM_PRCR_ADDR, 0xA500);  /* 書込み禁止 */
     197}
     198
     199/*
     200 *  下位タイマ割込みハンドラ(CMT0)
    217201 */
    218202void target_lower_timer_handler(void)
    219203{
    220204        /*
    221          * タイマ停止
     205         * タイマ停止
    222206         */
    223207        sil_wrh_mem(CMT_CMSTR0_ADDR,
     
    225209
    226210        /*
    227          * タイマ割り込み禁止
     211         * タイマ割り込み禁止
    228212         */
    229213        sil_wrh_mem(CMT0_CMCR_ADDR,
     
    231215
    232216        /*
    233          * 割り込み要因クリア
     217         * 割り込み要因クリア
    234218         */
    235219        clear_int(INTNO_TIMER0);
    236220
    237221        /*
    238          * カウント設定クリア
     222         * カウント設定クリア
    239223         */
    240224        timer_lower_set_count = 0;
    241225
    242226        /*
    243          * タイマ割り込み処理
     227         * タイマ割り込み処理
    244228         */
    245229        signal_time();
     
    247231
    248232/*
    249  *  上位タイマ割込みハンドラ(CMT1)
     233 *  上位タイマ割込みハンドラ(CMT1)
    250234 */
    251235void target_upper_timer_handler(void)
    252236{
    253237        /*
    254          * 上位タイマソフトカウンタ更新
     238         * 上位タイマソフトカウンタ更新
    255239         */
    256240        elapse_upper_timer++;
    257241
    258242        /*
    259          * 上位タイマ設定値更新
     243         * 上位タイマ設定値更新
    260244         */
    261245        if(timer_upper_set_count > 0) {
     
    264248
    265249        /*
    266          * 上位タイママッチ処理
     250         * 上位タイママッチ処理
    267251         */
    268252        if(timer_upper_set_count == 0){
    269253                if(timer_lower_set_count > 0){
    270254                        /*
    271                          * 下位タイマ設定、開始
     255                         * 下位タイマ設定、開始
    272256                         */
    273257                        sil_wrh_mem(CMT0_CMCOR_ADDR, timer_lower_set_count);
     
    280264                else{
    281265                        /*
    282                          * 下位タイマ割り込み強制起動
     266                         * 下位タイマ割り込み強制起動
    283267                         */
    284268                        target_hrt_raise_event();
     
    289273        if(timer_ovr_running_flg == true) {
    290274                /*
    291                  * オーバラン上位タイマ設定値更新
     275                 * オーバラン上位タイマ設定値更新
    292276                 */
    293277                if(timer_ovr_upper_set_count > 0) {
     
    296280
    297281                /*
    298                  * オーバラン上位タイママッチ処理
     282                 * オーバラン上位タイママッチ処理
    299283                 */
    300284                if(timer_ovr_upper_set_count == 0) {
    301285                        if(timer_ovr_lower_set_count > 0){
    302286                                /*
    303                                  * オーバラン下位タイマ設定、開始
     287                                 * オーバラン下位タイマ設定、開始
    304288                                 */
    305289                                sil_wrh_mem(CMT2_CMCNT_ADDR, 0U);
     
    313297                        else {
    314298                                /*
    315                                  * オーバラン下位タイマ割り込み強制起動
     299                                 * オーバラン下位タイマ割り込み強制起動
    316300                                 */
    317301                                target_ovrtimer_raise_event();
     
    323307
    324308/*
    325  *  高分解能タイマへの割込みタイミングの設定
     309 *  高分解能タイマへの割込みタイミングの設定
    326310 */
    327311void
     
    332316
    333317        /*
    334          * 時間 -> タイマカウンタ 変換
     318         * 時間 -> タイマカウンタ 変換
    335319         */
    336320        total_timer_count = hrtcnt * USEC_CONVERT_VALUE;
     
    339323
    340324        /*
    341          * 上位タイマカウンタ現在値で調整
     325         * 上位タイマカウンタ現在値で調整
    342326         */
    343327        current_timer_count_work = timer_lower_set_count + sil_reh_mem(CMT1_CMCNT_ADDR);
     
    348332
    349333        /*
    350          * 下位タイマ設定
     334         * 下位タイマ設定
    351335         */
    352336        if(timer_upper_set_count == 0 && timer_lower_set_count > 0) {
    353337                /*
    354                  * コンペアマッチタイマカウンタ設定
     338                 * コンペアマッチタイマカウンタ設定
    355339                 */
    356340                sil_wrh_mem(CMT0_CMCNT_ADDR, 0U);
    357341
    358342                /*
    359                  * 割り込み要因クリア
     343                 * 割り込み要因クリア
    360344                 */
    361345                clear_int(INTNO_TIMER0);
    362346
    363347                /*
    364                  * コンペアマッチタイマ周期設定
     348                 * コンペアマッチタイマ周期設定
    365349                 */
    366350                sil_wrh_mem(CMT0_CMCOR_ADDR, timer_lower_set_count);
    367351
    368352                /*
    369                  *  タイマ割り込み許可
     353                 *  タイマ割り込み許可
    370354                 */
    371355                sil_wrh_mem(CMT0_CMCR_ADDR,
     
    373357
    374358                /*
    375                  * タイマ開始
     359                 * タイマ開始
    376360                 */
    377361                sil_wrh_mem(CMT_CMSTR0_ADDR,
     
    381365
    382366/*
    383  *  高分解能タイマ割込みの要求
     367 *  高分解能タイマ割込みの要求
    384368 */
    385369void
     
    387371{
    388372        /*
    389          * 下位タイマ強制割り込み起動
    390          * 注意:停止するまで割り込みが繰り返し発生する
    391          */
    392         sil_wrh_mem(CMT0_CMCNT_ADDR, 0U);       /* カウンタ初期化        */
    393         clear_int(INTNO_TIMER0);                        /* 要求クリア              */
    394         sil_wrh_mem(CMT0_CMCOR_ADDR, 0U);       /* マッチ周期設定        */
    395         sil_wrh_mem(CMT0_CMCR_ADDR,                     /* 割り込み許可   */
     373         * 下位タイマ強制割り込み起動
     374         * 注意:停止するまで割り込みが繰り返し発生する
     375         */
     376        sil_wrh_mem(CMT0_CMCNT_ADDR, 0U);       /* カウンタ初期化      */
     377        clear_int(INTNO_TIMER0);                        /* 要求クリア                */
     378        sil_wrh_mem(CMT0_CMCOR_ADDR, 0U);       /* マッチ周期設定      */
     379        sil_wrh_mem(CMT0_CMCR_ADDR,                     /* 割り込み許可       */
    396380                        sil_reh_mem(CMT0_CMCR_ADDR) | CMT0_CMCR_CMIE_BIT);
    397         sil_wrh_mem(CMT_CMSTR0_ADDR,            /* タイマ起動              */
     381        sil_wrh_mem(CMT_CMSTR0_ADDR,            /* タイマ起動                */
    398382                        sil_reh_mem(CMT_CMSTR0_ADDR) | CMT_CMSTR0_STR0_BIT);
    399383}
    400384
    401385/*
    402  * 高分解能タイマの現在のカウント値の読出し å†
    403 éƒ¨å‡¦ç†
     386 * 高分解能タイマの現在のカウント値の読出し 内部処理
    404387 */
    405388HRTCNT target_hrt_get_current_convert(void)
     
    412395
    413396        /*
    414          * 上位タイマ コンペアマッチチェック
     397         * 上位タイマ コンペアマッチチェック
    415398         */
    416399        if (probe_int(INTNO_TIMER1)) {
     
    425408
    426409/*
    427  *  オーバランタイマドライバ
     410 *  オーバランタイマドライバ
    428411 */
    429412#ifdef TOPPERS_SUPPORT_OVRHDR
    430413
    431414/*
    432  *  オーバランタイマの初期化処理
     415 *  オーバランタイマの初期化処理
    433416 */
    434417void
     
    436419{
    437420        /*
    438          * モジュールストップ機能の設定  CMTユニット1 解除
    439          */
    440         sil_wrh_mem(SYSTEM_PRCR_ADDR, 0xA502);  /* 書込み許可 */
     421         * モジュールストップ機能の設定  CMTユニット1 解除
     422         */
     423        sil_wrh_mem(SYSTEM_PRCR_ADDR, 0xA502);  /* 書込み許可 */
    441424        sil_wrw_mem(SYSTEM_MSTPCRA_ADDR,
    442425                        sil_rew_mem(SYSTEM_MSTPCRA_ADDR) & ~SYSTEM_MSTPCRA_MSTPA14_BIT);
    443         sil_wrh_mem(SYSTEM_PRCR_ADDR, 0xA500);  /* 書込み禁止 */
    444 
    445         /*
    446          * タイマ停止 CMT2
     426        sil_wrh_mem(SYSTEM_PRCR_ADDR, 0xA500);  /* 書込み禁止 */
     427
     428        /*
     429         * タイマ停止 CMT2
    447430         */
    448431        sil_wrh_mem(CMT_CMSTR1_ADDR,
     
    450433
    451434        /*
    452          * カウントアップに用いられるクロック設定 CMT2
    453          * PCLK/8を選択
     435         * カウントアップに用いられるクロック設定 CMT2
     436         * PCLK/8を選択
    454437         */
    455438        sil_wrh_mem(CMT2_CMCR_ADDR, CMT_PCLK_DIV_8);
    456439
    457440        /*
    458          * コンペアマッチタイマカウンタ設定 CMT2
     441         * コンペアマッチタイマカウンタ設定 CMT2
    459442         */
    460443        sil_wrh_mem(CMT2_CMCNT_ADDR, 0U);
    461444
    462445        /*
    463          * コンペアマッチタイマ周期設定 CMT2
     446         * コンペアマッチタイマ周期設定 CMT2
    464447         */
    465448        sil_wrh_mem(CMT2_CMCOR_ADDR, 0U);
    466449
    467450        /*
    468          * コンペアマッチタイマ割り込み要求å
    469 ˆè¨­å®šãƒ¬ã‚¸ã‚¹ã‚¿ï¼ˆ30)
     451         * コンペアマッチタイマ割り込み要求先設定レジスタ(30)
    470452         */
    471453        sil_wrb_mem(ICU_ISELR030_ADDR, ICU_ISEL_CPU);
    472454
    473455        /*
    474          *  タイマ動作開始前の割込み要求をクリア
     456         *  タイマ動作開始前の割込み要求をクリア
    475457         */
    476458        target_ovrtimer_int_clear();
     
    484466
    485467        /*
    486          * 時間 -> タイマカウンタ 変換
     468         * 時間 -> タイマカウンタ 変換
    487469         */
    488470        total_timer_count = ovrtim * USEC_CONVERT_VALUE;
     
    491473
    492474        /*
    493          * 高分解能上位タイマカウンタ現在値で調整
     475         * 高分解能上位タイマカウンタ現在値で調整
    494476         */
    495477        timer_ovr_ovrtim_backup = ovrtim;
     
    502484
    503485        /*
    504          * オーバランタイマ動作中フラグ
     486         * オーバランタイマ動作中フラグ
    505487         */
    506488        timer_ovr_running_flg = true;
    507489
    508490        /*
    509          * 下位タイマ設定
     491         * 下位タイマ設定
    510492         */
    511493        if(timer_ovr_upper_set_count == 0) {
     
    515497                else {
    516498                        /*
    517                          * コンペアマッチタイマカウンタクリア CMT2
     499                         * コンペアマッチタイマカウンタクリア CMT2
    518500                         */
    519501                        sil_wrh_mem(CMT2_CMCNT_ADDR, 0U);
    520502
    521503                        /*
    522                          * コンペアマッチタイマ周期設定 CMT2
     504                         * コンペアマッチタイマ周期設定 CMT2
    523505                         */
    524506                        sil_wrh_mem(CMT2_CMCOR_ADDR, timer_ovr_lower_set_count);
    525507
    526508                        /*
    527                          *  タイマ動作開始前の割込み要求をクリア
     509                         *  タイマ動作開始前の割込み要求をクリア
    528510                         */
    529511                        target_ovrtimer_int_clear();
    530512
    531513                        /*
    532                          * コンペアマッチタイマ割り込みを許可 CMT2
     514                         * コンペアマッチタイマ割り込みを許可 CMT2
    533515                         */
    534516                        sil_wrh_mem(CMT2_CMCR_ADDR,
     
    536518
    537519                        /*
    538                          * タイマ動作開始 CMT2
     520                         * タイマ動作開始 CMT2
    539521                         */
    540522                        sil_wrh_mem(CMT_CMSTR1_ADDR,
     
    545527
    546528/*
    547  *  オーバランタイマの停止処理
     529 *  オーバランタイマの停止処理
    548530 */
    549531void
     
    551533{
    552534        /*
    553          * タイマ停止
     535         * タイマ停止
    554536         */
    555537        sil_wrh_mem(CMT_CMSTR1_ADDR,
     
    557539
    558540        /*
    559          * タイマ割り込み禁止
     541         * タイマ割り込み禁止
    560542         */
    561543        sil_wrh_mem(CMT2_CMCR_ADDR,
     
    563545
    564546        /*
    565          *  タイマ割込み要求をクリア
     547         *  タイマ割込み要求をクリア
    566548         */
    567549        target_ovrtimer_int_clear();
    568550
    569551        /*
    570          * オーバランタイマ動作中フラグ
     552         * オーバランタイマ動作中フラグ
    571553         */
    572554        timer_ovr_running_flg = false;
    573555
    574556        /*
    575          * モジュールストップ機能の設定  CMTユニット0 停止
    576          */
    577         sil_wrh_mem(SYSTEM_PRCR_ADDR, 0xA502);  /* 書込み許可 */
     557         * モジュールストップ機能の設定  CMTユニット0 停止
     558         */
     559        sil_wrh_mem(SYSTEM_PRCR_ADDR, 0xA502);  /* 書込み許可 */
    578560        sil_wrw_mem(SYSTEM_MSTPCRA_ADDR,
    579561                        sil_rew_mem(SYSTEM_MSTPCRA_ADDR) | SYSTEM_MSTPCRA_MSTPA14_BIT);
    580         sil_wrh_mem(SYSTEM_PRCR_ADDR, 0xA500);  /* 書込み禁止 */
    581 }
    582 
    583 /*
    584  *  オーバランタイマの停止
     562        sil_wrh_mem(SYSTEM_PRCR_ADDR, 0xA500);  /* 書込み禁止 */
     563}
     564
     565/*
     566 *  オーバランタイマの停止
    585567 */
    586568PRCTIM
     
    590572
    591573        /*
    592          * タイマ停止
     574         * タイマ停止
    593575         */
    594576        sil_wrh_mem(CMT_CMSTR1_ADDR,
     
    596578
    597579        /*
    598          * オーバランタイマ動作中フラグ
     580         * オーバランタイマ動作中フラグ
    599581         */
    600582        timer_ovr_running_flg = false;
     
    602584        if(int_num == INTNO_TIMER2) {
    603585                /*
    604                  *  オーバラン割込みの場合
     586                 *  オーバラン割込みの場合
    605587                 */
    606588                target_ovrtimer_int_clear();
     
    618600                }
    619601
    620                 if(cnt > timer_ovr_ovrtim_backup) { /* 設定時間を過ぎた */
     602                if(cnt > timer_ovr_ovrtim_backup) { /* 設定時間を過ぎた */
    621603                        cnt = 0;
    622604                }
     
    626608
    627609/*
    628  *  オーバランタイマの現在値の読出し
     610 *  オーバランタイマの現在値の読出し
    629611 */
    630612PRCTIM
     
    635617        if (probe_int(INTNO_TIMER2)) {
    636618                /*
    637                  *  割込み要求が発生している場合
     619                 *  割込み要求が発生している場合
    638620                 */
    639621                return(0U);
     
    646628                }
    647629
    648                 if(cnt > timer_ovr_ovrtim_backup) { /* 設定時間を過ぎた */
     630                if(cnt > timer_ovr_ovrtim_backup) { /* 設定時間を過ぎた */
    649631                        cnt = 0;
    650632                }
     
    654636
    655637/*
    656  *  高分解能タイマ割込みの要求
     638 *  高分解能タイマ割込みの要求
    657639 */
    658640void
     
    660642{
    661643        /*
    662          * オーバラン下位タイマ強制割り込み起動
    663          * 注意:停止するまで割り込みが繰り返し発生する
    664          */
    665         sil_wrh_mem(CMT2_CMCNT_ADDR, 0U);       /* カウンタ初期化        */
    666         clear_int(INTNO_TIMER2);                        /* 要求クリア              */
    667         sil_wrh_mem(CMT2_CMCOR_ADDR, 0U);       /* マッチ周期設定        */
    668         sil_wrh_mem(CMT2_CMCR_ADDR,                     /* 割り込み許可   */
     644         * オーバラン下位タイマ強制割り込み起動
     645         * 注意:停止するまで割り込みが繰り返し発生する
     646         */
     647        sil_wrh_mem(CMT2_CMCNT_ADDR, 0U);       /* カウンタ初期化      */
     648        clear_int(INTNO_TIMER2);                        /* 要求クリア                */
     649        sil_wrh_mem(CMT2_CMCOR_ADDR, 0U);       /* マッチ周期設定      */
     650        sil_wrh_mem(CMT2_CMCR_ADDR,                     /* 割り込み許可       */
    669651                        sil_reh_mem(CMT2_CMCR_ADDR) | CMT2_CMCR_CMIE_BIT);
    670         sil_wrh_mem(CMT_CMSTR1_ADDR,            /* タイマ起動              */
     652        sil_wrh_mem(CMT_CMSTR1_ADDR,            /* タイマ起動                */
    671653                        sil_reh_mem(CMT_CMSTR1_ADDR) | CMT_CMSTR1_STR2_BIT);
    672654}
    673655
    674656/*
    675  *  オーバランタイマ割込みハンドラ
     657 *  オーバランタイマ割込みハンドラ
    676658 *
    677  *  このルーチンに来るまでに,target_ovrtimer_stopが呼ばれているため,
    678  *  OSタイマを停止するå¿
    679 è¦ã¯ãªã„.
     659 *  このルーチンに来るまでに,target_ovrtimer_stopが呼ばれているため,
     660 *  OSタイマを停止する必要はない.
    680661 */
    681662void
     
    683664{
    684665        /*
    685          * タイマ割り込み禁止
     666         * タイマ割り込み禁止
    686667         */
    687668        sil_wrh_mem(CMT2_CMCR_ADDR,
     
    689670
    690671        /*
    691          * 上下位タイマカウンタクリア
     672         * 上下位タイマカウンタクリア
    692673         */
    693674        timer_ovr_upper_set_count = 0;
    694675        timer_ovr_lower_set_count = 0;
    695676
    696         call_ovrhdr();  /* オーバランハンドラの起動処理 */
     677        call_ovrhdr();  /* オーバランハンドラの起動処理 */
    697678}
    698679
Note: See TracChangeset for help on using the changeset viewer.