19.18 可変ベクタ情報(interrupt_vector[])
ここでは,RX MCUの可変ベクタに設定する割り込みハンドラを定義します。
未定義の割り込みが発生した場合は,システム・ダウンとなります。
なお,cfg600はここで定義した割り込みに関する割り込み制御レジスタや,割り込み要因等の初期設定のコードは生成しません。初期設定は,アプリケーションで実装いただく必要があります。
備考 ベクタ番号1〜8はRI600V4が使用するため,定義しないでください。また,MCU仕様で予約となっているベクタには定義しないでください。
2 ) 割り込みハンドラの開始アドレス(
entry_adderess)
- 説明
割り込みハンドラの実行開始関数を定義します。
3 ) カーネル管理割り込みの指定(
os_int)
4 ) pragmaディレクティブに渡すスイッチ(
pragma_switch)
- 説明
cfg600は,
entry_addressで指定された関数を割り込み関数として扱う#pragma interruptディレクティブを,システム情報ヘッダ・ファイルkernel_id.hに出力します。このpragmaディレクティブに渡すスイッチを指定します。
- 定義範囲
以下を指定できます。複数指定する場合は,カンマで区切ってください。なお,“ACC”と“NOACC”を同時に指定することはできません。
E: 多重割り込みを許可する“enable”スイッチを渡します
F: 高速割り込みを指定する“fint”スイッチを渡します。なお,高速割り込みは必ずカーネル管理外割り込み(os_int=NO)としなければなりません。
S: 割り込みハンドラで使用するレジスタ数を制限する“save”スイッチを渡します。
ACC: 割り込みハンドラでACCレジスタを保証する“acc”スイッチを渡します。
NOACC: 割り込みハンドラでACCレジスタを保証しない“no_acc”スイッチを渡します。
備考1 ACCレジスタの保証については,以下を参照してください。
|
|
|
|
|
“acc”,“no_acc”いずれのスイッチも渡されません。ACCは保証されません。
|
メaccモ,メno_accモいずれのスイッチも渡されません。ACCは保証されます。
|
|
“acc”スイッチが渡されます。ACCは保証されます。
|
|
“no_acc”スイッチが渡されます。ACCは保証されません。
|
-
entry_address:RI600V4内の基本クロック割り込み処理ルーチンの開始アドレス