Ignore:
Timestamp:
Jun 10, 2015, 8:40:31 PM (9 years ago)
Author:
coas-nagasima
Message:

SHIFT_JISのコードにcharsetプロパティを付けた

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uKadecot/trunk/ssp/target/grsakura_ccrx/target_timer.h

    • Property svn:mime-type changed from text/plain to text/plain; charset=SHIFT_JIS
    r101 r107  
    1212 *  Copyright (C) 2013      by Mitsuhiro Matsuura
    1313 *
    14  *  ã‹L’˜ìŒ ŽÒ‚́CˆÈ‰º‚Ì(1)`(4)‚ÌðŒ‚ð–ž‚½‚·ê‡‚ÉŒÀ‚èC–{ƒ\ƒtƒgƒEƒF
    15  *  ƒAi–{ƒ\ƒtƒgƒEƒFƒA‚ð‰ü•Ï‚µ‚½‚à‚Ì‚ðŠÜ‚ށDˆÈ‰º“¯‚¶j‚ðŽg—pE•¡»E‰ü
    16  *  •ÏEÄ”z•ziˆÈ‰ºC—˜—p‚ƌĂԁj‚·‚邱‚Ƃ𖳏ž‚Å‹–‘ø‚·‚éD
    17  *  (1) –{ƒ\ƒtƒgƒEƒFƒA‚ðƒ\[ƒXƒR[ƒh‚ÌŒ`‚Å—˜—p‚·‚éê‡‚ɂ́Cã‹L‚Ì’˜ì
    18  *      Œ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’肪C‚»‚Ì‚Ü‚Ü‚ÌŒ`‚Ń\[
    19  *      ƒXƒR[ƒh’†‚ÉŠÜ‚Ü‚ê‚Ä‚¢‚邱‚ƁD
    20  *  (2) –{ƒ\ƒtƒgƒEƒFƒA‚ðCƒ‰ƒCƒuƒ‰ƒŠŒ`Ž®‚ȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg
    21  *      —p‚Å‚«‚éŒ`‚ōĔz•z‚·‚éê‡‚ɂ́CÄ”z•z‚É”º‚¤ƒhƒLƒ
    22 ƒƒ“ƒgi—˜—p
    23  *      ŽÒƒ}ƒjƒ
    24 ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜ìŒ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L
    25  *      ‚Ì–³•ÛØ‹K’è‚ðŒfÚ‚·‚邱‚ƁD
    26  *  (3) –{ƒ\ƒtƒgƒEƒFƒA‚ðC‹@Ší‚É‘g‚ݍž‚ނȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg
    27  *      —p‚Å‚«‚È‚¢Œ`‚ōĔz•z‚·‚éê‡‚ɂ́CŽŸ‚Ì‚¢‚¸‚ê‚©‚ÌðŒ‚ð–ž‚½‚·‚±
    28  *      ‚ƁD
    29  *    (a) Ä”z•z‚É”º‚¤ƒhƒLƒ
    30 ƒƒ“ƒgi—˜—pŽÒƒ}ƒjƒ
    31 ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜
    32  *        ìŒ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’è‚ðŒfÚ‚·‚邱‚ƁD
    33  *    (b) Ä”z•z‚ÌŒ`‘Ô‚ðC•Ê‚É’è‚ß‚é•û–@‚É‚æ‚Á‚āCTOPPERSƒvƒƒWƒFƒNƒg‚É
    34  *        •ñ‚·‚邱‚ƁD
    35  *  (4) –{ƒ\ƒtƒgƒEƒFƒA‚Ì—˜—p‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚é‚¢‚©‚Ȃ鑹
    36  *      ŠQ‚©‚ç‚àCã‹L’˜ìŒ ŽÒ‚¨‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚ð–Ɛӂ·‚邱‚ƁD
    37  *      ‚Ü‚½C–{ƒ\ƒtƒgƒEƒFƒA‚̃†[ƒU‚Ü‚½‚̓Gƒ“ƒhƒ†[ƒU‚©‚ç‚Ì‚¢‚©‚Ȃ闝
    38  *      —R‚ÉŠî‚­¿‹‚©‚ç‚àCã‹L’˜ìŒ ŽÒ‚¨‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚ð
    39  *      –Ɛӂ·‚邱‚ƁD
     14 *  上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ
     15 *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
     16 *  変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
     17 *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
     18 *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
     19 *      スコード中に含まれていること.
     20 *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
     21 *      用できる形で再配布する場合には,再配布に伴うドキュメント(利用
     22 *      者マニュアルなど)に,上記の著作権表示,この利用条件および下記
     23 *      の無保証規定を掲載すること.
     24 *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
     25 *      用できない形で再配布する場合には,次のいずれかの条件を満たすこ
     26 *      と.
     27 *    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
     28 *        作権表示,この利用条件および下記の無保証規定を掲載すること.
     29 *    (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
     30 *        報告すること.
     31 *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
     32 *      害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
     33 *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
     34 *      由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
     35 *      免責すること.
    4036 *
    41  *  –{ƒ\ƒtƒgƒEƒFƒA‚́C–³•ÛØ‚Å’ñ‹Ÿ‚³‚ê‚Ä‚¢‚é‚à‚Ì‚Å‚ ‚éDã‹L’˜ìŒ ŽÒ‚¨
    42  *  ‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚́C–{ƒ\ƒtƒgƒEƒFƒA‚ÉŠÖ‚µ‚āC“Á’è‚ÌŽg—p–Ú“I
    43  *  ‚ɑ΂·‚é“K‡«‚àŠÜ‚߂āC‚¢‚©‚È‚é•ÛØ‚às‚í‚È‚¢D‚Ü‚½C–{ƒ\ƒtƒgƒEƒF
    44  *  ƒA‚Ì—˜—p‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚½‚¢‚©‚Ȃ鑹ŠQ‚ÉŠÖ‚µ‚Ä‚àC‚»
    45  *  ‚̐ӔC‚𕉂í‚È‚¢D
     37 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     38 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     39 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     40 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     41 *  の責任を負わない.
    4642 *
    4743 */
    4844
    4945/*
    50  *              ƒ^ƒCƒ}ƒhƒ‰ƒCƒoiGR-SAKURA—pj
     46 *              タイマドライバ(GR-SAKURA用)
    5147 */
    5248 
     
    6056
    6157/*
    62  *  ƒ^ƒCƒ}Š„ž‚݃nƒ“ƒhƒ‰“o˜^‚Ì‚½‚߂̒萔
     58 *  タイマ割込みハンドラ登録のための定数
    6359 */
    64 #define INHNO_TIMER             INT_CMT0_CMI                            /* Š„ž‚݃nƒ“ƒhƒ‰”ԍ† */
    65 #define INTNO_TIMER             INT_CMT0_CMI                            /* Š„ž‚ݔԍ† */
    66 #define INTPRI_TIMER    -5                                                      /* Š„ž‚Ý—Dæ“x */
    67 #define INTATR_TIMER    (TA_ENAINT | TA_EDGE)           /* Š„ž‚Ý‘®« */
     60#define INHNO_TIMER             INT_CMT0_CMI                            /* 割込みハンドラ番号 */
     61#define INTNO_TIMER             INT_CMT0_CMI                            /* 割込み番号 */
     62#define INTPRI_TIMER    -5                                                      /* 割込み優先度 */
     63#define INTATR_TIMER    (TA_ENAINT | TA_EDGE)           /* 割込み属性 */
    6864
    6965#ifndef TOPPERS_MACRO_ONLY
    7066
    7167/*
    72  *  ƒ^ƒCƒ}’l‚Ì“à•”•\Œ»‚ÌŒ^
     68 *  タイマ値の内部表現の型
    7369 */
    7470typedef uint16_t        CLOCK;
    7571
    7672/*
    77  *  ƒ^ƒCƒ}’l‚Ì“à•”•\Œ»‚ƃ~ƒŠ•b’PˆÊ‚Æ‚Ì•ÏŠ·
     73 *  タイマ値の内部表現とミリ秒単位との変換
    7874 *
    79  *  1ms‚̃^ƒCƒ}[Š„‚荞‚Ý‚ðŽg—p‚·‚é‚Ì‚Å‚»‚̃NƒƒbƒN‚ð’è‹`‚·‚éD
     75 *  1msのタイマー割り込みを使用するのでそのクロックを定義する.
    8076 */
    81 #define TIMER_CLOCK                             (FREQ_PCLK / 8U)                /* PCLK/Å’ᕪŽü”ä8 = 6MHz */
     77#define TIMER_CLOCK                             (FREQ_PCLK / 8U)                /* PCLK/最低分周比8 = 6MHz */
    8278#define TO_CLOCK(nume, deno)    ((CLOCK)(TIMER_CLOCK * (nume) / (deno)))
    8379#define TO_USEC(clock)                  ((SYSUTM)((clock) * 1000U / TIMER_CLOCK))
    8480
    8581/*
    86  *  Ý’è‚Å‚«‚éÅ‘å‚̃^ƒCƒ}ŽüŠúi’PˆÊ‚Í“à•”•\Œ»j
     82 *  設定できる最大のタイマ周期(単位は内部表現)
    8783 */
    8884#define MAX_CLOCK       ((CLOCK) 0xFFFFU)
    8985
    9086/*
    91  *  «”\•]‰¿—pƒVƒXƒeƒ€Žž‚ðŽæ‚èo‚·Û‚̏ˆ—ŽžŠÔ‚ÌŒ©Ï‚è’li’PˆÊ‚Í“à•”•\Œ»j
     87 *  性能評価用システム時刻を取り出す際の処理時間の見積り値(単位は内部表現)
    9288 */
    93 #define GET_TOLERANCE   (100U)  /* ˆ—’x‚ê‚ÌŒ©Ï‚è’li’PˆÊ‚Í“à•”•\Œ»j*/
     89#define GET_TOLERANCE   (100U)  /* 処理遅れの見積り値(単位は内部表現)*/
    9490#define BEFORE_IREQ(clock) \
    9591                ((clock) >= (TO_CLOCK(TIC_NUME, TIC_DENO) - GET_TOLERANCE))
    9692
    9793/*
    98  *  ƒRƒ“ƒyƒAƒ}ƒbƒ`ƒ^ƒCƒ}ƒRƒ“ƒgƒ[ƒ‹ƒŒƒWƒXƒ^‚̐ݒè’l
     94 *  コンペアマッチタイマコントロールレジスタの設定値
    9995 */
    10096/*
    101  *  ƒNƒƒbƒN‘I‘ðƒrƒbƒg
     97 *  クロック選択ビット
    10298 *
    103  *  bit7‚Í—\–ñ—̈æ‚Å‚ ‚è, ‘ž‚Ý‚Í1ŒÅ’è
     99 *  bit7は予約領域であり, 書込みは1固定
    104100 */
    105101#define CMT_PCLK_DIV_8                  (0x0080U)
     
    109105
    110106/*
    111  *  ƒRƒ“ƒyƒAƒ}ƒbƒ`ƒ^ƒCƒ}ƒRƒ“ƒXƒ^ƒ“ƒgƒŒƒWƒXƒ^iCMCORj
     107 *  コンペアマッチタイマコンスタントレジスタ(CMCOR)
    112108 *
    113  *  ƒRƒ“ƒyƒAƒ}ƒbƒ`ŽüŠú‚ð1ms‚Æ‚·‚éD
    114  *  Žü•Óƒ‚ƒWƒ
    115 [ƒ‹ƒNƒƒbƒNiPCLKj48MHz‚ð8•ªŽü‚·‚é‚̂ŁC
    116  *  1ŽüŠú‚ ‚½‚è166.7nsec‚Æ‚È‚èC6000ŽüŠú‚Å1msiƒ^ƒCƒ€ƒeƒBƒbƒN‚ÌŽüŠúj‚Æ‚·‚éD
     109 *  コンペアマッチ周期を1msとする.
     110 *  周辺モジュールクロック(PCLK)48MHzを8分周するので,
     111 *  1周期あたり166.7nsecとなり,6000周期で1ms(タイムティックの周期)とする.
    117112 */
    118113#define CMCOR_PERIOD                    (TIMER_CLOCK)
    119114
    120115/*
    121  * ƒRƒ“ƒyƒAƒ}ƒbƒ`ƒ^ƒCƒ}Š„‚荞‚Ý—v‹æÝ’背ƒWƒXƒ^iiISELRijii= Š„‚荞‚݃xƒNƒ^”ԍ†j
     116 * コンペアマッチタイマ割り込み要求先設定レジスタi(ISELRi)(i= 割り込みベクタ番号)
    122117 */
    123118#define ICU_ISEL_CPU                    (0x00U)
     
    127122
    128123/*
    129  *  ƒ^ƒCƒ}‚Ì‹N“®ˆ—
     124 *  タイマの起動処理
    130125 *
    131  *  ƒ^ƒCƒ}‚ð‰Šú‰»‚µCŽüŠú“I‚ȃ^ƒCƒ}Š„ž‚Ý—v‹‚𔭐¶‚³‚¹‚éD
     126 *  タイマを初期化し,周期的なタイマ割込み要求を発生させる.
    132127 */
    133128extern void     target_timer_initialize(intptr_t exinf);
    134129
    135130/*
    136  *  ƒ^ƒCƒ}‚Ì’âŽ~ˆ—
     131 *  タイマの停止処理
    137132 *
    138  *  ƒ^ƒCƒ}‚Ì“®ì‚ð’âŽ~‚³‚¹‚éD
     133 *  タイマの動作を停止させる.
    139134 */
    140135extern void     target_timer_terminate(intptr_t exinf);
    141136
    142137/*
    143  *  ƒ^ƒCƒ}ƒŒƒWƒXƒ^’l‚̓ǂݏo‚µ
     138 *  タイマレジスタ値の読み出し
    144139 */
    145140Inline uint16_t rx630_cmt_getcount(void)
     
    149144
    150145/*
    151  *  ƒ^ƒCƒ}ƒŒƒWƒXƒ^’l‚̏‘‚«ž‚Ý
     146 *  タイマレジスタ値の書き込み
    152147 */
    153148Inline void rx630_cmt_setcount(uint16_t count)
     
    157152
    158153/*
    159  *  ƒ^ƒCƒ}‚ÌŒ»Ý’l‚̓Ǐo‚µ
     154 *  タイマの現在値の読出し
    160155 */
    161156Inline CLOCK
    162157target_timer_get_current(void)
    163158{
    164         /* ƒAƒbƒvƒJƒEƒ“ƒg‚Ì‚½‚߃^ƒCƒ}ƒŒƒWƒXƒ^’l‚ð‚»‚Ì‚Ü‚Ü•Ô‚·   */
     159        /* アップカウントのためタイマレジスタ値をそのまま返す    */
    165160        return (rx630_cmt_getcount());
    166161}
    167162
    168163/*
    169  *  ƒ^ƒCƒ}Š„ž‚Ý—v‹‚̃`ƒFƒbƒN
     164 *  タイマ割込み要求のチェック
    170165 */
    171166Inline bool_t
     
    176171
    177172/*
    178  *  ƒ^ƒCƒ}Š„ž‚݃nƒ“ƒhƒ‰
     173 *  タイマ割込みハンドラ
    179174 */
    180175extern void     target_timer_handler(void);
Note: See TracChangeset for help on using the changeset viewer.