Ignore:
Timestamp:
Jun 2, 2015, 3:39:53 PM (9 years ago)
Author:
nmir-saito
Message:

ファイルの mime-type 変更

File:
1 edited

Legend:

Unmodified
Added
Removed
  • ssp_qb_r5f100le_cs/trunk/arch/rl78_ca78k0r/prc_config.h

    • Property svn:mime-type set to text/plain; charset=shift_jis
    r93 r95  
    1111 *             Nagoya Municipal Industrial Research Institute, JAPAN
    1212 *
    13  *  ã‹L’˜ìŒ ŽÒ‚́CˆÈ‰º‚Ì (1)`(4) ‚ÌðŒ‚ð–ž‚½‚·ê‡‚ÉŒÀ‚èC–{ƒ\ƒtƒgƒEƒF
    14  *  ƒAi–{ƒ\ƒtƒgƒEƒFƒA‚ð‰ü•Ï‚µ‚½‚à‚Ì‚ðŠÜ‚ށDˆÈ‰º“¯‚¶j‚ðŽg—pE•¡»E‰ü•ÏE
    15  *  Ä”z•ziˆÈ‰ºC—˜—p‚ƌĂԁj‚·‚邱‚Ƃ𖳏ž‚Å‹–‘ø‚·‚éD
    16  *  (1) –{ƒ\ƒtƒgƒEƒFƒA‚ðƒ\[ƒXƒR[ƒh‚ÌŒ`‚Å—˜—p‚·‚éê‡‚ɂ́Cã‹L‚Ì’˜ìŒ 
    17  *      •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’肪C‚»‚Ì‚Ü‚Ü‚ÌŒ`‚Ń\[ƒX
    18  *      ƒR[ƒh’†‚ÉŠÜ‚Ü‚ê‚Ä‚¢‚邱‚ƁD
    19  *  (2) –{ƒ\ƒtƒgƒEƒFƒA‚ðCƒ‰ƒCƒuƒ‰ƒŠŒ`Ž®‚ȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg—p
    20  *      ‚Å‚«‚éŒ`‚ōĔz•z‚·‚éê‡‚ɂ́CÄ”z•z‚É”º‚¤ƒhƒLƒ
    21 ƒƒ“ƒgi—˜—pŽÒƒ}
    22  *      ƒjƒ
    23 ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜ìŒ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•Û
    24  *      Ø‹K’è‚ðŒfÚ‚·‚邱‚ƁD
    25  *  (3) –{ƒ\ƒtƒgƒEƒFƒA‚ðC‹@Ší‚É‘g‚ݍž‚ނȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg—p
    26  *      ‚Å‚«‚È‚¢Œ`‚ōĔz•z‚·‚éê‡‚ɂ́CŽŸ‚Ì‚¢‚¸‚ê‚©‚ÌðŒ‚ð–ž‚½‚·‚±‚ƁD
    27  *    (a) Ä”z•z‚É”º‚¤ƒhƒLƒ
    28 ƒƒ“ƒgi—˜—pŽÒƒ}ƒjƒ
    29 ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜ì
    30  *        Œ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’è‚ðŒfÚ‚·‚邱‚ƁD
    31  *    (b) Ä”z•z‚ÌŒ`‘Ô‚ðC•Ê‚É’è‚ß‚é•û–@‚É‚æ‚Á‚āCTOPPERSƒvƒƒWƒFƒNƒg‚É•ñ
    32  *        ‚·‚邱‚ƁD
    33  *  (4) –{ƒ\ƒtƒgƒEƒFƒA‚Ì—˜—p‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚é‚¢‚©‚Ȃ鑹ŠQ
    34  *      ‚©‚ç‚àCã‹L’˜ìŒ ŽÒ‚¨‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚ð–Ɛӂ·‚邱‚ƁD‚Ü‚½C
    35  *      –{ƒ\ƒtƒgƒEƒFƒA‚̃†[ƒU‚Ü‚½‚̓Gƒ“ƒhƒ†[ƒU‚©‚ç‚Ì‚¢‚©‚Ȃ闝—R‚ÉŠî‚Ã
    36  *      ‚­¿‹‚©‚ç‚àCã‹L’˜ìŒ ŽÒ‚¨‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚ð–Ɛӂ·‚邱‚ƁD
     13 *  上記著作権者は,以下の (1)〜(4) の条件を満たす場合に限り,本ソフトウェ
     14 *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改変・
     15 *  再配布(以下,利用と呼ぶ)することを無償で許諾する.
     16 *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作権
     17 *      表示,この利用条件および下記の無保証規定が,そのままの形でソース
     18 *      コード中に含まれていること.
     19 *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使用
     20 *      できる形で再配布する場合には,再配布に伴うドキュメント(利用者マ
     21 *      ニュアルなど)に,上記の著作権表示,この利用条件および下記の無保
     22 *      証規定を掲載すること.
     23 *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使用
     24 *      できない形で再配布する場合には,次のいずれかの条件を満たすこと.
     25 *    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著作
     26 *        権表示,この利用条件および下記の無保証規定を掲載すること.
     27 *    (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに報
     28 *        告すること.
     29 *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害
     30 *      からも,上記著作権者およびTOPPERSプロジェクトを免責すること.また,
     31 *      本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ
     32 *      く請求からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
    3733 *
    38  *  –{ƒ\ƒtƒgƒEƒFƒA‚́C–³•ÛØ‚Å’ñ‹Ÿ‚³‚ê‚Ä‚¢‚é‚à‚Ì‚Å‚ ‚éDã‹L’˜ìŒ ŽÒ‚¨‚æ
    39  *  ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚́C–{ƒ\ƒtƒgƒEƒFƒA‚ÉŠÖ‚µ‚āC“Á’è‚ÌŽg—p–Ú“I‚ɑ΂·
    40  *  ‚é“K‡«‚àŠÜ‚߂āC‚¢‚©‚È‚é•ÛØ‚às‚í‚È‚¢D‚Ü‚½C–{ƒ\ƒtƒgƒEƒFƒA‚Ì—˜—p
    41  *  ‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚½‚¢‚©‚Ȃ鑹ŠQ‚ÉŠÖ‚µ‚Ä‚àC‚»‚̐ӔC‚ð•‰
    42  *  ‚í‚È‚¢D
     34 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者およ
     35 *  びTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的に対す
     36 *  る適合性も含めて,いかなる保証も行わない.また,本ソフトウェアの利用
     37 *  により直接的または間接的に生じたいかなる損害に関しても,その責任を負
     38 *  わない.
    4339 *
    4440 */
    4541
    4642/*
    47  *              ƒvƒƒZƒbƒTˆË‘¶ƒ‚ƒWƒ
    48 [ƒ‹iRL78j
    49  *
    50  *  ‚±‚̃Cƒ“ƒNƒ‹[ƒhƒtƒ@ƒCƒ‹‚́C"<ƒvƒƒZƒbƒTŒ^”Ô>_config.h" ‚Ì‚Ý‚©‚ç
    51  *  ƒCƒ“ƒNƒ‹[ƒh‚³‚ê‚éD‘¼‚̃tƒ@ƒCƒ‹‚©‚ç’¼ÚƒCƒ“ƒNƒ‹[ƒh‚µ‚Ä‚Í‚È‚ç‚È‚¢D
     43 *              プロセッサ依存モジュール(RL78)
     44 *
     45 *  このインクルードファイルは,"<プロセッサ型番>_config.h" のみから
     46 *  インクルードされる.他のファイルから直接インクルードしてはならない.
    5247 */
    5348
     
    5651
    5752/*
    58  *  (1) ƒRƒ“ƒeƒLƒXƒg‚ÉŠÖ‚·‚é’è‹`
    59  */
    60 
    61 /* ‹¤—LƒXƒ^ƒbƒN—̈æ‚Ì‚½‚߂̃Xƒ^ƒbƒNƒ|ƒCƒ“ƒ^‰Šú’l‚𐶐¬‚·‚éƒ}ƒNƒ */
     53 *  (1) コンテキストに関する定義
     54 */
     55
     56/* 共有スタック領域のためのスタックポインタ初期値を生成するマクロ */
    6257#define TOPPERS_ISTKPT(istk, istksz) ((STK_T *)((char *)(istk) + (istksz)))
    6358
    6459/*
    65  *  (2) ƒVƒXƒeƒ€ó‘Ô‚ÉŠÖ‚·‚é’è‹`
    66  */
    67 
    68 /*
    69  *  CPUƒƒbƒNó‘Ô‚Å‚ÌŠ„ž‚Ý—Dæ“xƒ}ƒXƒN(IPM)‚Ì’l
    70  *    TIPM_LOCK‚́CCPUƒƒbƒNó‘Ô‚ð•\Œ»‚·‚銄ž‚Ý—Dæ“xƒ}ƒXƒN(IPM)‚Ì’l‚ðŽ¦‚·D
    71  *    ƒJ[ƒlƒ‹ŠÇ—‚ÌŠ„ž‚݂ɑ΂·‚銄ž‚Ý—Dæ“x‚̍ŏ¬’l(TMIN_INTPRI)‚É“™‚µ‚¢D
     60 *  (2) システム状態に関する定義
     61 */
     62
     63/*
     64 *  CPUロック状態での割込み優先度マスク(IPM)の値
     65 *    TIPM_LOCKは,CPUロック状態を表現する割込み優先度マスク(IPM)の値を示す.
     66 *    カーネル管理の割込みに対する割込み優先度の最小値(TMIN_INTPRI)に等しい.
    7267 */
    7368#ifndef TIPM_LOCK
     
    7671
    7772/*
    78  *  Š„ž‚Ý—Dæ“xƒ}ƒXƒN(IPM) ‚ƃvƒƒZƒbƒT‚ÌŠ„ž‚Ý—Dæ“xƒ}ƒXƒN(ISP) ‚Ì•ÏŠ·
    79  *
    80  *  RL78 ‚ł́CPSWƒŒƒWƒXƒ^‚̉ºˆÊ‚©‚琔‚¦‚ărƒbƒg1‚¨‚æ‚Ñ 2 ‚Ì 2 ƒrƒbƒg‚É
    81  *  ƒCƒ“ƒT[ƒrƒXEƒvƒ‰ƒCƒIƒŠƒeƒBEƒtƒ‰ƒO(ISP) ‚Ì’l‚ªŠi”[‚³‚ê‚éD
    82  *
    83  *  ƒJ[ƒlƒ‹‚ÌŠÇ—‚·‚éIPM (-1‚©‚ç˜A‘±‚µ‚½•‰‚Ì’l) ‚ðŽg‚Á‚Ä
    84  *  ƒvƒƒZƒbƒT‚Ì ISP ‚𐧌䂷‚邽‚ß‚É•ÏŠ·‚ª•K—v‚Æ‚È‚éD
    85  *
    86  *  Žw’肵‚½ƒŒƒxƒ‹ˆÈ‰º‚ÌŠ„ž‚Ý‚ðƒ}ƒXƒN‚·‚éê‡‚́CISP‚̐ݒè’l‚ð
    87  *  –Ú“I‚̃Œƒxƒ‹‚æ‚èˆê‚‚‚¢—Dæ“x(’l‚Æ‚µ‚Ă͏¬‚³‚¢)’l‚É‚·‚é•K—v‚ª‚ ‚éD
     73 *  割込み優先度マスク(IPM) とプロセッサの割込み優先度マスク(ISP) の変換
     74 *
     75 *  RL78 では,PSWレジスタの下位から数えてビット1および 2 の 2 ビットに
     76 *  インサービス・プライオリティ・フラグ(ISP) の値が格納される.
     77 *
     78 *  カーネルの管理するIPM (-1から連続した負の値) を使って
     79 *  プロセッサの ISP を制御するために変換が必要となる.
     80 *
     81 *  指定したレベル以下の割込みをマスクする場合は,ISPの設定値を
     82 *  目的のレベルより一つ高い優先度(値としては小さい)値にする必要がある.
    8883 */
    8984#define IPM2ISP(ipm)    (((uint8_t)(4-1+(ipm))) << 1U)  /* IPM-->ISP(ipm=-3,-2,-1,0) */
     
    9287
    9388/*
    94  *  Š„ž‚Ý—Dæ“xƒ}ƒXƒN‚Ì“Á•Ê‚È’l‚ɑ΂·‚é“à•”•\Œ»
    95  */
    96 #define ISP_LOCK        (IPM2ISP(TIPM_LOCK))    /* CPUƒƒbƒNó‘Ô‚Å‚Ì ISP */
    97 #define ISP_ENAALL      (IPM2ISP(TIPM_ENAALL))  /* TIPM_ENAALL ‚Å‚Ì ISP */
    98 
    99 
    100 
    101 /*
    102  *  (3) Š„ž‚ݏˆ—ƒ‚ƒfƒ‹(Š„ž‚Ý—v‹ƒ‰ƒCƒ“)
    103  */
    104 
    105 /*
    106  * intno‚ªCdis_int^ena_int‚ɑ΂·‚銄ž‚ݔԍ†‚Æ‚µ‚Ä
    107  * —LŒø‚È’l‚Å‚ ‚éê‡‚ÉtrueC‚»‚¤‚Å‚È‚¢ê‡‚Éfalse‚ð•Ô‚·ƒ}ƒNƒ
     89 *  割込み優先度マスクの特別な値に対する内部表現
     90 */
     91#define ISP_LOCK        (IPM2ISP(TIPM_LOCK))    /* CPUロック状態での ISP */
     92#define ISP_ENAALL      (IPM2ISP(TIPM_ENAALL))  /* TIPM_ENAALL での ISP */
     93
     94
     95
     96/*
     97 *  (3) 割込み処理モデル(割込み要求ライン)
     98 */
     99
     100/*
     101 * intnoが,dis_int/ena_intに対する割込み番号として
     102 * 有効な値である場合にtrue,そうでない場合にfalseを返すマクロ
    108103 */
    109104#define VALID_INTNO_DISINT(intno)       VALID_INTNO(intno)
     
    111106
    112107/*
    113  *  IPM ‚©‚犄ž‚ݐ§ŒäƒŒƒWƒXƒ^‚Å‚Ì•\Œ»‚É•ÏŠ·‚·‚éƒ}ƒNƒ
     108 *  IPM から割込み制御レジスタでの表現に変換するマクロ
    114109 */
    115110#define IPM2ILVL(ipm)   ((ipm)+4)       // ipm=-1,-2,-3,-4
     
    117112
    118113/*
    119  *  (4) Š„ž‚ݏˆ—ƒ‚ƒfƒ‹(Š„ž‚݃nƒ“ƒhƒ‰)
    120  */
    121 
    122 /*
    123  *  Š„ž‚݃nƒ“ƒhƒ‰‚Ì“üŒûˆ—‚̐¶¬ƒ}ƒNƒ
     114 *  (4) 割込み処理モデル(割込みハンドラ)
     115 */
     116
     117/*
     118 *  割込みハンドラの入口処理の生成マクロ
    124119 */
    125120#define _INT_ENTRY(inhno, inthdr)                               _kernel_##inthdr##_##inhno##_entry
     
    131126
    132127/*
    133  *  (5) CPU—áŠOˆ—ƒ‚ƒfƒ‹
    134  */
    135 
    136 /*
    137  *  CPU—áŠOƒnƒ“ƒhƒ‰‚Ì“üŒûˆ—‚̐¶¬ƒ}ƒNƒ
     128 *  (5) CPU例外処理モデル
     129 */
     130
     131/*
     132 *  CPU例外ハンドラの入口処理の生成マクロ
    138133 */
    139134#define _EXC_ENTRY(excno , exchdr)      _kernel_##exchdr##_##excno##_entry
     
    145140
    146141/*
    147  *  (6) ‰Šú‰»EI—¹ˆ—
    148  */
    149 
    150 // ’è‹`‚È‚µ
     142 *  (6) 初期化・終了処理
     143 */
     144
     145// 定義なし
    151146
    152147#ifndef TOPPERS_MACRO_ONLY
    153148
    154149/*
    155  *  (1) ƒRƒ“ƒeƒLƒXƒg‚ÉŠÖ‚·‚é’è‹`
    156  */
    157 
    158 /*
    159  *  ƒRƒ“ƒeƒLƒXƒg‚ÌŽQÆ
     150 *  (1) コンテキストに関する定義
     151 */
     152
     153/*
     154 *  コンテキストの参照
    160155 */
    161156extern bool_t sense_context(void);
    162157
    163158/*
    164  *  (2) ƒVƒXƒeƒ€ó‘Ô‚ÉŠÖ‚·‚é’è‹`
    165  */
    166 
    167 /*
    168  *  CPUƒƒbƒNƒtƒ‰ƒOŽÀŒ»‚Ì‚½‚߂̕ϐ” (prc_config.c)
    169  */
    170 extern bool_t   lock_flag;      /* CPUƒƒbƒNƒtƒ‰ƒO‚Ì’l */
    171 extern uint8_t  saved_psw;      /* CPUƒƒbƒNó‘Ԉڍs‘O‚ÌŠ„ž‚Ý—Dæ“xƒŒƒxƒ‹ */
    172 
    173 /*
    174  *  CPU ƒƒbƒNó‘Ԃւ̈ڍs
    175  *      ‚±‚̊֐”‚́CCPU ƒƒbƒNó‘Ô‚Ì‚Æ‚«‚ɌĂт¾‚³‚ê‚È‚¢‚±‚Æ‚ð‘O’ñ‚Æ‚·‚éD
     159 *  (2) システム状態に関する定義
     160 */
     161
     162/*
     163 *  CPUロックフラグ実現のための変数 (prc_config.c)
     164 */
     165extern bool_t   lock_flag;      /* CPUロックフラグの値 */
     166extern uint8_t  saved_psw;      /* CPUロック状態移行前の割込み優先度レベル */
     167
     168/*
     169 *  CPU ロック状態への移行
     170 *      この関数は,CPU ロック状態のときに呼びだされないことを前提とする.
    176171 */
    177172extern void t_lock_cpu(void);
     
    179174
    180175/*
    181  *  CPUƒƒbƒNó‘Ԃ̉ðœ
    182  *      ‚±‚̊֐”‚́CCPU ƒƒbƒNó‘Ô‚Ì‚Æ‚«‚ɂ̂݌Ăт¾‚³‚ê‚邱‚Æ‚ð‘O’ñ‚Æ‚·‚éD
     176 *  CPUロック状態の解除
     177 *      この関数は,CPU ロック状態のときにのみ呼びだされることを前提とする.
    183178 */
    184179extern void t_unlock_cpu(void);
     
    187182
    188183/*
    189  *  CPUƒƒbƒNó‘Ô‚ÌŽQÆ
     184 *  CPUロック状態の参照
    190185 */
    191186extern bool_t x_sense_lock(void);
     
    195190
    196191/*
    197  *  Š„ž‚Ý—Dæ“xƒ}ƒXƒN(IPM) ‚̐ݒè
    198  *    Žw’肵‚½Š„ž‚Ý—Dæ“x(-1, -2, ..., TMIN_INTPRI) ‚ðŒ³‚É
    199  *    ƒvƒƒZƒbƒT‚ÌŠ„ž‚Ý—Dæ“xƒŒƒxƒ‹ (IPL) ‚ðÝ’è‚·‚éD
     192 *  割込み優先度マスク(IPM) の設定
     193 *    指定した割込み優先度(-1, -2, ..., TMIN_INTPRI) を元に
     194 *    プロセッサの割込み優先度レベル (IPL) を設定する.
    200195 */
    201196extern void x_set_ipm(PRI intpri);
     
    210205
    211206/*
    212  *  (3) Š„ž‚ݏˆ—ƒ‚ƒfƒ‹(Š„ž‚Ý—v‹ƒ‰ƒCƒ“)
    213  */
    214 
    215 /*
    216  *  Š„ž‚Ý—vˆö–ˆ‚̃Œƒxƒ‹’è‹`ƒe[ƒuƒ‹ (kernel_cfg.c ‚É‚æ‚éo—Í)
    217  *    Š„ž‚ݔԍ†(INTNO) ‚©‚犄ž‚Ý—Dæ“x‚ðŽæ“¾‚·‚邽‚ß‚ÉŽg—pD
     207 *  (3) 割込み処理モデル(割込み要求ライン)
     208 */
     209
     210/*
     211 *  割込み要因毎のレベル定義テーブル (kernel_cfg.c による出力)
     212 *    割込み番号(INTNO) から割込み優先度を取得するために使用.
    218213 */
    219214extern const PRI intpri_table[];
    220215
    221216/*
    222  *  Š„ž‚Ý—v‹‹ÖŽ~ƒtƒ‰ƒO‚̃Zƒbƒg(prc_config.c)
    223  *    Žw’肵‚½Š„ž‚ݔԍ†‚ɑΉž‚·‚銄ž‚Ý—v‹ƒ‰ƒCƒ“‚ÌŠ„ž‚Ý—v‹ƒtƒ‰ƒO‚ðƒZƒbƒg‚·‚éD
    224  *    Š„ž‚Ý‘®«‚ªÝ’肳‚ê‚Ä‚¢‚È‚¢Š„ž‚Ý—v‹ƒ‰ƒCƒ“‚ÌŠ„ž‚ݔԍ†‚ðŽw’肵‚½
    225  *    ê‡‚́C’P‚É FALSE ‚ð•Ô‚·D
     217 *  割込み要求禁止フラグのセット(prc_config.c)
     218 *    指定した割込み番号に対応する割込み要求ラインの割込み要求フラグをセットする.
     219 *    割込み属性が設定されていない割込み要求ラインの割込み番号を指定した
     220 *    場合は,単に FALSE を返す.
    226221 */
    227222extern bool_t x_disable_int(INTNO intno);
     
    231226
    232227/*
    233  *  Š„ž‚Ý—v‹‹ÖŽ~ƒtƒ‰ƒO‚̃NƒŠƒA(prc_config.c)
    234  *    Žw’肵‚½Š„ž‚ݔԍ†‚ɑΉž‚·‚銄ž‚Ý—v‹ƒ‰ƒCƒ“‚ÌŠ„ž‚Ý—v‹ƒtƒ‰ƒO‚ðƒNƒŠƒA‚·‚éD
    235  *    Š„ž‚Ý‘®«‚ªÝ’肳‚ê‚Ä‚¢‚È‚¢Š„ž‚Ý—v‹ƒ‰ƒCƒ“‚ÌŠ„ž‚ݔԍ†‚ðŽw’肵‚½
    236  *    ê‡‚́C’P‚É FALSE ‚ð•Ô‚·D
     228 *  割込み要求禁止フラグのクリア(prc_config.c)
     229 *    指定した割込み番号に対応する割込み要求ラインの割込み要求フラグをクリアする.
     230 *    割込み属性が設定されていない割込み要求ラインの割込み番号を指定した
     231 *    場合は,単に FALSE を返す.
    237232 */
    238233extern bool_t x_enable_int(INTNO intno);
     
    243238
    244239/*
    245  *  Š„ž‚Ý—v‹‚̃NƒŠƒA(prc_config.c)
     240 *  割込み要求のクリア(prc_config.c)
    246241 */
    247242extern void x_clear_int(INTNO intno);
     
    252247
    253248/*
    254  *  Š„ž‚Ý—v‹‚̃`ƒFƒbƒN(prc_config.c)
     249 *  割込み要求のチェック(prc_config.c)
    255250 */
    256251extern bool_t x_probe_int(INTNO intno);
     
    260255
    261256/*
    262  *  Š„ž‚Ý—v‹ƒ‰ƒCƒ“‚Ì‘®«‚̐ݒè (prc_config.c)
     257 *  割込み要求ラインの属性の設定 (prc_config.c)
    263258 */
    264259extern void     x_config_int(INTNO intno, ATR intatr, PRI intpri);
    265260
    266261/*
    267  *  (4) Š„ž‚ݏˆ—ƒ‚ƒfƒ‹(Š„ž‚݃nƒ“ƒhƒ‰)
    268  */
    269 
    270 /*
    271  *  Š„ž‚݃nƒ“ƒhƒ‰‚̐ݒè
    272  *
    273  *  RL78‚ÍROM‚ÉŠ„ž‚݃xƒNƒ^‚ð”z’u‚·‚邽‚߁C–{ŠÖ”‚Í‹ó‚É’è‹`‚·‚éD
     262 *  (4) 割込み処理モデル(割込みハンドラ)
     263 */
     264
     265/*
     266 *  割込みハンドラの設定
     267 *
     268 *  RL78はROMに割込みベクタを配置するため,本関数は空に定義する.
    274269 */
    275270#define x_define_inh(inhno, inthdr)
    276271
    277272/*
    278  *  Š„ž‚݃nƒ“ƒhƒ‰‚Ì“üŒû‚Å•K—v‚ȏˆ—
    279  */
    280 #define i_begin_int(intno)              /* “Á‚ɍs‚¤‚ׂ«ˆ—‚Í‚È‚¢ */
    281 
    282 /*
    283  *  Š„ž‚݃nƒ“ƒhƒ‰‚̏oŒû‚Å•K—v‚ȏˆ—
    284  */
    285 #define i_end_int(intno)                /* “Á‚ɍs‚¤‚ׂ«ˆ—‚Í‚È‚¢ */
    286 
    287 /*
    288  *  (5) CPU—áŠOˆ—ƒ‚ƒfƒ‹
    289  */
    290 
    291 /*
    292  *  CPU—áŠOƒnƒ“ƒhƒ‰‚̐ݒè
    293  *    RL78 ‚Í ROM ‚ɃxƒNƒ^‚ð”z’u‚·‚邽‚߁C–{ŠÖ”‚Í‹ó‚É’è‹`‚·‚éD
     273 *  割込みハンドラの入口で必要な処理
     274 */
     275#define i_begin_int(intno)              /* 特に行うべき処理はない */
     276
     277/*
     278 *  割込みハンドラの出口で必要な処理
     279 */
     280#define i_end_int(intno)                /* 特に行うべき処理はない */
     281
     282/*
     283 *  (5) CPU例外処理モデル
     284 */
     285
     286/*
     287 *  CPU例外ハンドラの設定
     288 *    RL78 は ROM にベクタを配置するため,本関数は空に定義する.
    294289 */
    295290#define x_define_exc(excno, exchdr)
    296291
    297292/*
    298  *  (6) ‰Šú‰»EI—¹ˆ—
    299  */
    300 
    301 /*
    302  *  ƒvƒƒZƒbƒTˆË‘¶‚̏‰Šú‰»(prc_config.c)
     293 *  (6) 初期化・終了処理
     294 */
     295
     296/*
     297 *  プロセッサ依存の初期化(prc_config.c)
    303298 */
    304299extern void     prc_initialize(void);
    305300
    306301/*
    307  *  dispatcher ŒÄ‚яo‚µ‘O‚Ƀ^[ƒQƒbƒgˆË‘¶‚Å•K—v‚ȏˆ—‚ðs‚¤‚½‚߂̊֐”
     302 *  dispatcher 呼び出し前にターゲット依存で必要な処理を行うための関数
    308303 *    (prc_support.asm)
    309304 */
     
    311306
    312307/*
    313  *  ƒJ[ƒlƒ‹‚̏I—¹ˆ—‚̌ďo‚µiprc_support.asmj
    314  *
    315  *  call_exit_kernel‚́CƒJ[ƒlƒ‹‚̏I—¹Žž‚ɌĂяo‚³‚êCƒXƒ^ƒbƒNƒ|ƒCƒ“ƒ^‚ð
    316  *  ‰Šú‰»‚µCƒJ[ƒlƒ‹‚̏I—¹ˆ—iexit_kernelj‚ðŒÄ‚яo‚·D
     308 *  カーネルの終了処理の呼出し(prc_support.asm)
     309 *
     310 *  call_exit_kernelは,カーネルの終了時に呼び出され,スタックポインタを
     311 *  初期化し,カーネルの終了処理(exit_kernel)を呼び出す.
    317312 */
    318313extern void call_exit_kernel(void);
    319314
    320315/*
    321  *  ƒvƒƒZƒbƒTˆË‘¶‚̏I—¹Žžˆ—(prc_config.c)
     316 *  プロセッサ依存の終了時処理(prc_config.c)
    322317 */
    323318extern void     prc_terminate(void);
    324319
    325320/*
    326  *  (7) dispacher ‚Å‚ÌŠ„ž‚Ý‘Ò‚¿
     321 *  (7) dispacher での割込み待ち
    327322 */
    328323extern void idle_loop(void);
Note: See TracChangeset for help on using the changeset viewer.