Ignore:
Timestamp:
Mar 8, 2016, 8:37:45 PM (8 years ago)
Author:
coas-nagasima
Message:

MIMEにSJISを設定

File:
1 edited

Legend:

Unmodified
Added
Removed
  • UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_timer.h

    • Property svn:mime-type changed from text/x-chdr to text/x-chdr; charset=SHIFT_JIS
    r164 r167  
    1313 *  Copyright (C) 2013      by Mitsuhiro Matsuura
    1414 *
    15  *  ã‹L’˜ìŒ ŽÒ‚́CˆÈ‰º‚Ì(1)`(4)‚ÌðŒ‚ð–ž‚½‚·ê‡‚ÉŒÀ‚èC–{ƒ\ƒtƒgƒEƒF
    16  *  ƒAi–{ƒ\ƒtƒgƒEƒFƒA‚ð‰ü•Ï‚µ‚½‚à‚Ì‚ðŠÜ‚ށDˆÈ‰º“¯‚¶j‚ðŽg—pE•¡»E‰ü
    17  *  •ÏEÄ”z•ziˆÈ‰ºC—˜—p‚ƌĂԁj‚·‚邱‚Ƃ𖳏ž‚Å‹–‘ø‚·‚éD
    18  *  (1) –{ƒ\ƒtƒgƒEƒFƒA‚ðƒ\[ƒXƒR[ƒh‚ÌŒ`‚Å—˜—p‚·‚éê‡‚ɂ́Cã‹L‚Ì’˜ì
    19  *      Œ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’肪C‚»‚Ì‚Ü‚Ü‚ÌŒ`‚Ń\[
    20  *      ƒXƒR[ƒh’†‚ÉŠÜ‚Ü‚ê‚Ä‚¢‚邱‚ƁD
    21  *  (2) –{ƒ\ƒtƒgƒEƒFƒA‚ðCƒ‰ƒCƒuƒ‰ƒŠŒ`Ž®‚ȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg
    22  *      —p‚Å‚«‚éŒ`‚ōĔz•z‚·‚éê‡‚ɂ́CÄ”z•z‚É”º‚¤ƒhƒLƒ
    23 ƒƒ“ƒgi—˜—p
    24  *      ŽÒƒ}ƒjƒ
    25 ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜ìŒ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L
    26  *      ‚Ì–³•ÛØ‹K’è‚ðŒfÚ‚·‚邱‚ƁD
    27  *  (3) –{ƒ\ƒtƒgƒEƒFƒA‚ðC‹@Ší‚É‘g‚ݍž‚ނȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg
    28  *      —p‚Å‚«‚È‚¢Œ`‚ōĔz•z‚·‚éê‡‚ɂ́CŽŸ‚Ì‚¢‚¸‚ê‚©‚ÌðŒ‚ð–ž‚½‚·‚±
    29  *      ‚ƁD
    30  *    (a) Ä”z•z‚É”º‚¤ƒhƒLƒ
    31 ƒƒ“ƒgi—˜—pŽÒƒ}ƒjƒ
    32 ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜
    33  *        ìŒ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’è‚ðŒfÚ‚·‚邱‚ƁD
    34  *    (b) Ä”z•z‚ÌŒ`‘Ô‚ðC•Ê‚É’è‚ß‚é•û–@‚É‚æ‚Á‚āCTOPPERSƒvƒƒWƒFƒNƒg‚É
    35  *        •ñ‚·‚邱‚ƁD
    36  *  (4) –{ƒ\ƒtƒgƒEƒFƒA‚Ì—˜—p‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚é‚¢‚©‚Ȃ鑹
    37  *      ŠQ‚©‚ç‚àCã‹L’˜ìŒ ŽÒ‚¨‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚ð–Ɛӂ·‚邱‚ƁD
    38  *      ‚Ü‚½C–{ƒ\ƒtƒgƒEƒFƒA‚̃†[ƒU‚Ü‚½‚̓Gƒ“ƒhƒ†[ƒU‚©‚ç‚Ì‚¢‚©‚Ȃ闝
    39  *      —R‚ÉŠî‚­¿‹‚©‚ç‚àCã‹L’˜ìŒ ŽÒ‚¨‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚ð
    40  *      –Ɛӂ·‚邱‚ƁD
     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 *      免責すること.
    4137 *
    42  *  –{ƒ\ƒtƒgƒEƒFƒA‚́C–³•ÛØ‚Å’ñ‹Ÿ‚³‚ê‚Ä‚¢‚é‚à‚Ì‚Å‚ ‚éDã‹L’˜ìŒ ŽÒ‚¨
    43  *  ‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚́C–{ƒ\ƒtƒgƒEƒFƒA‚ÉŠÖ‚µ‚āC“Á’è‚ÌŽg—p–Ú“I
    44  *  ‚ɑ΂·‚é“K‡«‚àŠÜ‚߂āC‚¢‚©‚È‚é•ÛØ‚às‚í‚È‚¢D‚Ü‚½C–{ƒ\ƒtƒgƒEƒF
    45  *  ƒA‚Ì—˜—p‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚½‚¢‚©‚Ȃ鑹ŠQ‚ÉŠÖ‚µ‚Ä‚àC‚»
    46  *  ‚̐ӔC‚𕉂í‚È‚¢D
     38 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     39 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     40 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     41 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     42 *  の責任を負わない.
    4743 *
    4844 *  @(#) $Id$
     
    5046
    5147/*
    52  *              ƒ^ƒCƒ}ƒhƒ‰ƒCƒoiGR-SAKURA—pj
     48 *              タイマドライバ(GR-SAKURA用)
    5349 */
    5450 
     
    6157
    6258/*
    63  *  ƒ^ƒCƒ}Š„ž‚݃nƒ“ƒhƒ‰“o˜^‚Ì‚½‚߂̒萔
     59 *  タイマ割込みハンドラ登録のための定数
    6460 */
    65 #define INHNO_TIMER             INT_CMT0_CMI                            /* Š„ž‚݃nƒ“ƒhƒ‰”ԍ† */
    66 #define INTNO_TIMER             INT_CMT0_CMI                            /* Š„ž‚ݔԍ† */
    67 #define INTPRI_TIMER    -5                                                      /* Š„ž‚Ý—Dæ“x */
    68 #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)           /* 割込み属性 */
    6965
    7066#ifndef TOPPERS_MACRO_ONLY
    7167
    7268/*
    73  *  ƒ^ƒCƒ}’l‚Ì“à•”•\Œ»‚ÌŒ^
     69 *  タイマ値の内部表現の型
    7470 */
    7571typedef uint16_t        CLOCK;
    7672
    7773/*
    78  *  ƒ^ƒCƒ}’l‚Ì“à•”•\Œ»‚ƃ~ƒŠ•b’PˆÊ‚Æ‚Ì•ÏŠ·
     74 *  タイマ値の内部表現とミリ秒単位との変換
    7975 *
    80  *  1ms‚̃^ƒCƒ}[Š„‚荞‚Ý‚ðŽg—p‚·‚é‚Ì‚Å‚»‚̃NƒƒbƒN‚ð’è‹`‚·‚éD
     76 *  1msのタイマー割り込みを使用するのでそのクロックを定義する.
    8177 */
    82 #define TIMER_CLOCK                             (FREQ_PCLK / 8U)                /* PCLK/Å’ᕪŽü”ä8 = 6MHz */
     78#define TIMER_CLOCK                             (FREQ_PCLK / 8U)                /* PCLK/最低分周比8 = 6MHz */
    8379#define TO_CLOCK(nume, deno)    ((CLOCK)(TIMER_CLOCK * (nume) / (deno)))
    8480#define TO_USEC(clock)                  ((SYSUTM)((clock) * 1000U / TIMER_CLOCK))
    8581
    8682/*
    87  *  Ý’è‚Å‚«‚éÅ‘å‚̃^ƒCƒ}ŽüŠúi’PˆÊ‚Í“à•”•\Œ»j
     83 *  設定できる最大のタイマ周期(単位は内部表現)
    8884 */
    8985#define MAX_CLOCK       ((CLOCK) 0xFFFFU)
    9086
    9187/*
    92  *  «”\•]‰¿—pƒVƒXƒeƒ€Žž‚ðŽæ‚èo‚·Û‚̏ˆ—ŽžŠÔ‚ÌŒ©Ï‚è’li’PˆÊ‚Í“à•”•\Œ»j
     88 *  性能評価用システム時刻を取り出す際の処理時間の見積り値(単位は内部表現)
    9389 */
    94 #define GET_TOLERANCE   (100U)  /* ˆ—’x‚ê‚ÌŒ©Ï‚è’li’PˆÊ‚Í“à•”•\Œ»j*/
     90#define GET_TOLERANCE   (100U)  /* 処理遅れの見積り値(単位は内部表現)*/
    9591#define BEFORE_IREQ(clock) \
    9692                ((clock) >= (TO_CLOCK(TIC_NUME, TIC_DENO) - GET_TOLERANCE))
    9793
    9894/*
    99  *  ƒRƒ“ƒyƒAƒ}ƒbƒ`ƒ^ƒCƒ}ƒRƒ“ƒgƒ[ƒ‹ƒŒƒWƒXƒ^‚̐ݒè’l
     95 *  コンペアマッチタイマコントロールレジスタの設定値
    10096 */
    10197/*
    102  *  ƒNƒƒbƒN‘I‘ðƒrƒbƒg
     98 *  クロック選択ビット
    10399 *
    104  *  bit7‚Í—\–ñ—̈æ‚Å‚ ‚è, ‘ž‚Ý‚Í1ŒÅ’è
     100 *  bit7は予約領域であり, 書込みは1固定
    105101 */
    106102#define CMT_PCLK_DIV_8                  (0x0080U)
     
    110106
    111107/*
    112  *  ƒRƒ“ƒyƒAƒ}ƒbƒ`ƒ^ƒCƒ}ƒRƒ“ƒXƒ^ƒ“ƒgƒŒƒWƒXƒ^iCMCORj
     108 *  コンペアマッチタイマコンスタントレジスタ(CMCOR)
    113109 *
    114  *  ƒRƒ“ƒyƒAƒ}ƒbƒ`ŽüŠú‚ð1ms‚Æ‚·‚éD
    115  *  Žü•Óƒ‚ƒWƒ
    116 [ƒ‹ƒNƒƒbƒNiPCLKj48MHz‚ð8•ªŽü‚·‚é‚̂ŁC
    117  *  1ŽüŠú‚ ‚½‚è166.7nsec‚Æ‚È‚èC6000ŽüŠú‚Å1msiƒ^ƒCƒ€ƒeƒBƒbƒN‚ÌŽüŠúj‚Æ‚·‚éD
     110 *  コンペアマッチ周期を1msとする.
     111 *  周辺モジュールクロック(PCLK)48MHzを8分周するので,
     112 *  1周期あたり166.7nsecとなり,6000周期で1ms(タイムティックの周期)とする.
    118113 */
    119114#define CMCOR_PERIOD                    (TIMER_CLOCK)
    120115
    121116/*
    122  * ƒRƒ“ƒyƒAƒ}ƒbƒ`ƒ^ƒCƒ}Š„‚荞‚Ý—v‹æÝ’背ƒWƒXƒ^iiISELRijii= Š„‚荞‚݃xƒNƒ^”ԍ†j
     117 * コンペアマッチタイマ割り込み要求先設定レジスタi(ISELRi)(i= 割り込みベクタ番号)
    123118 */
    124119#define ICU_ISEL_CPU                    (0x00U)
     
    128123
    129124/*
    130  *  ƒ^ƒCƒ}‚Ì‹N“®ˆ—
     125 *  タイマの起動処理
    131126 *
    132  *  ƒ^ƒCƒ}‚ð‰Šú‰»‚µCŽüŠú“I‚ȃ^ƒCƒ}Š„ž‚Ý—v‹‚𔭐¶‚³‚¹‚éD
     127 *  タイマを初期化し,周期的なタイマ割込み要求を発生させる.
    133128 */
    134129extern void     target_timer_initialize(intptr_t exinf);
    135130
    136131/*
    137  *  ƒ^ƒCƒ}‚Ì’âŽ~ˆ—
     132 *  タイマの停止処理
    138133 *
    139  *  ƒ^ƒCƒ}‚Ì“®ì‚ð’âŽ~‚³‚¹‚éD
     134 *  タイマの動作を停止させる.
    140135 */
    141136extern void     target_timer_terminate(intptr_t exinf);
    142137
    143138/*
    144  *  ƒ^ƒCƒ}ƒŒƒWƒXƒ^’l‚̓ǂݏo‚µ
     139 *  タイマレジスタ値の読み出し
    145140 */
    146141Inline uint16_t rx630_cmt_getcount(void)
     
    150145
    151146/*
    152  *  ƒ^ƒCƒ}ƒŒƒWƒXƒ^’l‚̏‘‚«ž‚Ý
     147 *  タイマレジスタ値の書き込み
    153148 */
    154149Inline void rx630_cmt_setcount(uint16_t count)
     
    158153
    159154/*
    160  *  ƒ^ƒCƒ}‚ÌŒ»Ý’l‚̓Ǐo‚µ
     155 *  タイマの現在値の読出し
    161156 */
    162157Inline CLOCK
    163158target_timer_get_current(void)
    164159{
    165         /* ƒAƒbƒvƒJƒEƒ“ƒg‚Ì‚½‚߃^ƒCƒ}ƒŒƒWƒXƒ^’l‚ð‚»‚Ì‚Ü‚Ü•Ô‚·   */
     160        /* アップカウントのためタイマレジスタ値をそのまま返す    */
    166161        return (rx630_cmt_getcount());
    167162}
    168163
    169164/*
    170  *  ƒ^ƒCƒ}Š„ž‚Ý—v‹‚̃`ƒFƒbƒN
     165 *  タイマ割込み要求のチェック
    171166 */
    172167Inline bool_t
     
    177172
    178173/*
    179  *  ƒ^ƒCƒ}Š„ž‚݃nƒ“ƒhƒ‰
     174 *  タイマ割込みハンドラ
    180175 */
    181176extern void     target_timer_handler(void);
Note: See TracChangeset for help on using the changeset viewer.