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/target/gr_sakura_ccrx/target_timer.h

    • Property svn:mime-type changed from text/x-chdr to text/x-chdr; charset=UTF-8
    r313 r315  
    1313 *  Copyright (C) 2013      by Mitsuhiro Matsuura
    1414 *
    15  *  上記著作権è€
    16 ã¯ï¼Œä»¥ä¸‹ã®(1)~(4)の条件を満たす場合に限り,本ソフトウェ
    17  *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
    18  *  変・再é
    19 å¸ƒï¼ˆä»¥ä¸‹ï¼Œåˆ©ç”¨ã¨å‘¼ã¶ï¼‰ã™ã‚‹ã“とを無償で許諾する.
    20  *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
    21  *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
    22  *      スコード中に含まれていること.
    23  *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
    24  *      用できる形で再é
    25 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é
    26 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
    27  *      è€
    28 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—作権表示,この利用条件および下記
    29  *      の無保証規定を掲載すること.
    30  *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
    31  *      用できない形で再é
    32 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
    33  *      と.
    34  *    (a) 再é
    35 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€
    36 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—
    37  *        作権表示,この利用条件および下記の無保証規定を掲載すること.
    38  *    (b) 再é
    39 å¸ƒã®å½¢æ
    40 ‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
    41  *        報告すること.
    42  *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
    43  *      害からも,上記著作権è€
    44 ãŠã‚ˆã³TOPPERSプロジェクトをå
    45 è²¬ã™ã‚‹ã“と.
    46  *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
    47  *      由に基づく請求からも,上記著作権è€
    48 ãŠã‚ˆã³TOPPERSプロジェクトを
    49  *      å
    50 è²¬ã™ã‚‹ã“と.
     15 *  上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
     16 *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
     17 *  変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
     18 *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
     19 *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
     20 *      スコード中に含まれていること.
     21 *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
     22 *      用できる形で再配布する場合には,再配布に伴うドキュメント(利用
     23 *      者マニュアルなど)に,上記の著作権表示,この利用条件および下記
     24 *      の無保証規定を掲載すること.
     25 *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
     26 *      用できない形で再配布する場合には,次のいずれかの条件を満たすこ
     27 *      と.
     28 *    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
     29 *        作権表示,この利用条件および下記の無保証規定を掲載すること.
     30 *    (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
     31 *        報告すること.
     32 *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
     33 *      害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
     34 *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
     35 *      由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
     36 *      免責すること.
    5137 *
    52  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    53 ãŠ
    54  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    55  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    56  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    57  *  の責任を負わない.
     38 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     39 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     40 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     41 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     42 *  の責任を負わない.
    5843 *
    5944 *  @(#) $Id$
     
    6146
    6247/*
    63  *              タイマドライバ
     48 *              タイマドライバ
    6449 */
    6550 
     
    7257
    7358/*
    74  *  タイマ割込みハンドラ登録のための定数
     59 *  タイマ割込みハンドラ登録のための定数
    7560 */
    76 #define INHNO_TIMER             INT_CMT0_CMI                            /* 割込みハンドラ番号 */
    77 #define INTNO_TIMER             INT_CMT0_CMI                            /* 割込み番号 */
    78 #define INTPRI_TIMER    -5                                                      /* 割込み優å
    79 ˆåº¦ */
    80 #define INTATR_TIMER    (TA_ENAINT | TA_EDGE)           /* 割込み属性 */
     61#define INHNO_TIMER             INT_CMT0_CMI                            /* 割込みハンドラ番号 */
     62#define INTNO_TIMER             INT_CMT0_CMI                            /* 割込み番号 */
     63#define INTPRI_TIMER    -5                                                      /* 割込み優先度 */
     64#define INTATR_TIMER    (TA_ENAINT | TA_EDGE)           /* 割込み属性 */
    8165
    8266#ifndef TOPPERS_MACRO_ONLY
    8367
    8468/*
    85  *  タイマ値のå†
    86 éƒ¨è¡¨ç¾ã®åž‹
     69 *  タイマ値の内部表現の型
    8770 */
    8871typedef uint16_t        CLOCK;
    8972
    9073/*
    91  *  タイマ値のå†
    92 éƒ¨è¡¨ç¾ã¨ãƒŸãƒªç§’単位との変換
     74 *  タイマ値の内部表現とミリ秒単位との変換
    9375 *
    94  *  1msのタイマー割り込みを使用するのでそのクロックを定義する.
     76 *  1msのタイマー割り込みを使用するのでそのクロックを定義する.
    9577 */
    96 #define TIMER_CLOCK                             (48000U / 8U)           /* PCLK/最低分周比8 = 6MHz */
     78#define TIMER_CLOCK                             (48000U / 8U)           /* PCLK/最低分周比8 = 6MHz */
    9779#define TO_CLOCK(nume, deno)    ((CLOCK)(TIMER_CLOCK * (nume) / (deno)))
    9880#define TO_USEC(clock)                  ((SYSUTM)((clock) * 1000U / TIMER_CLOCK))
    9981
    10082/*
    101  *  設定できる最大のタイマ周期(単位はå†
    102 éƒ¨è¡¨ç¾ï¼‰
     83 *  設定できる最大のタイマ周期(単位は内部表現)
    10384 */
    10485#define MAX_CLOCK       ((CLOCK) 0xFFFFU)
    10586
    10687/*
    107  *  性能評価用システム時刻を取り出す際の処理時間の見積り値(単位はå†
    108 éƒ¨è¡¨ç¾ï¼‰
     88 *  性能評価用システム時刻を取り出す際の処理時間の見積り値(単位は内部表現)
    10989 */
    110 #define GET_TOLERANCE   (100U)  /* 処理é
    111 ã‚Œã®è¦‹ç©ã‚Šå€¤ï¼ˆå˜ä½ã¯å†
    112 éƒ¨è¡¨ç¾ï¼‰*/
     90#define GET_TOLERANCE   (100U)  /* 処理遅れの見積り値(単位は内部表現)*/
    11391#define BEFORE_IREQ(clock) \
    11492                ((clock) >= (TO_CLOCK(TIC_NUME, TIC_DENO) - GET_TOLERANCE))
    11593
    11694/*
    117  *  コンペアマッチタイマコントロールレジスタの設定値
     95 *  コンペアマッチタイマコントロールレジスタの設定値
    11896 */
    11997/*
    120  *  クロック選択ビット
     98 *  クロック選択ビット
    12199 *
    122  *  bit7は予約領域であり, 書込みは1固定
     100 *  bit7は予約領域であり, 書込みは1固定
    123101 */
    124102#define CMT_PCLK_DIV_8                  (0x0080U)
     
    128106
    129107/*
    130  *  コンペアマッチタイマコンスタントレジスタ(CMCOR)
     108 *  コンペアマッチタイマコンスタントレジスタ(CMCOR)
    131109 *
    132  *  コンペアマッチ周期を1msとする.
    133  *  周辺モジュールクロック(PCLK)48MHzを8分周するので,
    134  *  1周期あたり166nsecとなり,6000周期で1ms(タイムティックの周期)とする.
     110 *  コンペアマッチ周期を1msとする.
     111 *  周辺モジュールクロック(PCLK)48MHzを8分周するので,
     112 *  1周期あたり166nsecとなり,6000周期で1ms(タイムティックの周期)とする.
    135113 */
    136114#define CMCOR_PERIOD                    (TIMER_CLOCK)
    137115
    138116/*
    139  * コンペアマッチタイマ割り込み要求å
    140 ˆè¨­å®šãƒ¬ã‚¸ã‚¹ã‚¿i(ISELRi)(i= 割り込みベクタ番号)
     117 * コンペアマッチタイマ割り込み要求先設定レジスタi(ISELRi)(i= 割り込みベクタ番号)
    141118 */
    142119#define ICU_ISEL_CPU                    (0x00U)
     
    146123
    147124/*
    148  *  タイマの起動処理
     125 *  タイマの起動処理
    149126 *
    150  *  タイマを初期化し,周期的なタイマ割込み要求を発生させる.
     127 *  タイマを初期化し,周期的なタイマ割込み要求を発生させる.
    151128 */
    152129extern void     target_timer_initialize(intptr_t exinf);
    153130
    154131/*
    155  *  タイマの停止処理
     132 *  タイマの停止処理
    156133 *
    157  *  タイマの動作を停止させる.
     134 *  タイマの動作を停止させる.
    158135 */
    159136extern void     target_timer_terminate(intptr_t exinf);
    160137
    161138/*
    162  *  タイマレジスタ値の読み出し
     139 *  タイマレジスタ値の読み出し
    163140 */
    164141Inline uint16_t rx630_cmt_getcount(void)
     
    168145
    169146/*
    170  *  タイマレジスタ値の書き込み
     147 *  タイマレジスタ値の書き込み
    171148 */
    172149Inline void rx630_cmt_setcount(uint16_t count)
     
    176153
    177154/*
    178  *  タイマの現在値の読出し
     155 *  タイマの現在値の読出し
    179156 */
    180157Inline CLOCK
    181158target_timer_get_current(void)
    182159{
    183         /* アップカウントのためタイマレジスタ値をそのまま返す  */
     160        /* アップカウントのためタイマレジスタ値をそのまま返す    */
    184161        return (rx630_cmt_getcount());
    185162}
    186163
    187164/*
    188  *  タイマ割込み要求のチェック
     165 *  タイマ割込み要求のチェック
    189166 */
    190167Inline bool_t
     
    195172
    196173/*
    197  *  タイマ割込みハンドラ
     174 *  タイマ割込みハンドラ
    198175 */
    199176extern void     target_timer_handler(void);
Note: See TracChangeset for help on using the changeset viewer.