20.21 可変ベクタ情報(interrupt_vector[])
interrupt_vector[ <1. ベクタ番号> ] { entry_adderess = <2. 割り込みハンドラの開始アドレス(entry_adderess)>; os_int = <3. カーネル管理割り込みの指定(os_int)>; pragma_switch = <4. pragmaディレクティブに渡すスイッチ(pragma_switch)>; }; |
- 説明
この割り込みがカーネル管理割り込みかどうかを定義します。
カーネル割り込みマスクレベル(system_IPL)以下の割り込み優先レベルの割り込みはカーネル管理割り込み,それ以外の割り込みはカーネル管理外割り込みとして定義する必要があります。
なお,カーネル割り込みマスクレベル(system_IPL)が15の場合は,すべての可変ベクタ割り込みはカーネル管理割り込みとする必要があります。
この割り込みがカーネル管理割り込みかどうかを定義します。
カーネル割り込みマスクレベル(system_IPL)以下の割り込み優先レベルの割り込みはカーネル管理割り込み,それ以外の割り込みはカーネル管理外割り込みとして定義する必要があります。
なお,カーネル割り込みマスクレベル(system_IPL)が15の場合は,すべての可変ベクタ割り込みはカーネル管理割り込みとする必要があります。
- 説明
cfg600pxは,entry_addressで指定された関数を割り込み関数として扱う#pragma interruptディレクティブを,システム情報ヘッダ・ファイルkernel_id.hに出力します。このpragmaディレクティブに渡すスイッチを指定します。
cfg600pxは,entry_addressで指定された関数を割り込み関数として扱う#pragma interruptディレクティブを,システム情報ヘッダ・ファイルkernel_id.hに出力します。このpragmaディレクティブに渡すスイッチを指定します。
備考2 基本クロック用タイマ・チャネルの選択(timer)に“CMT0”,“CMT1”,“CMT2”,または“CMT3”のいずれかを指定した場合は,暗黙的に以下の指定でinterrupt_vector[]が定義がなされたものと扱います。