4.2.4.4 割り込みレベルの制御

CC-RHでは,RH850ファミリの割り込みに対して,Cソース上で,次の制御を行うことができます。

-

割り込み優先順位レベルの制御

-

マスカブル割り込みの受け付けの許可/禁止(割り込みのマスク)

 

つまり,“割り込み制御レジスタ”を操作することができます。

(1)

割り込み優先順位レベルの制御

“割り込み優先順位レベル”を制御する場合は,“__set_il関数”を用いて次のように指定します。

__set_il_rh(long 割り込みの優先順位レベル, void* 割り込み制御レジスタのアドレス);

“割り込みの優先順位レベル”として指定できる値は“1〜16”の整数値です。RH850の割り込み優先順位レベルは“0〜15までの16段階”を指定するため,“RH850の割り込みの優先順位レベルを5にしたい”場合は,この関数で指定する割り込みの優先順位レベルは“6”と指定します。

(2)

マスカブル割り込みの受け付けの許可/禁止

“割り込みに対して,マスカブル割り込みの受け付けの許可/禁止”を制御する場合は,次のように指定します。

__set_il_rh(long マスカブル割り込みの許可/禁止, void* 割り込み制御レジスタのアドレス);

“マスカブル割り込みの許可/禁止”に設定できる値は“-3〜0”の整数値です。

設定値

動作

0

マスカブル割り込みの受け付け許可(割り込みのマスクを解除)

-1

マスカブル割り込みの受け付け禁止(割り込みをマスク)

-2

割り込みベクタ方式を直接分岐方式(標準仕様)にしたい場合

-3

割り込みベクタ方式をテーブル参照方式 (拡張仕様)にしたい場合

注意

本機能は,-Xcpu={g3m|g3k|g3mh|g3kh}オプション指定時のみ使用可能です。その他の場合は,本機能を使用せず,割り込み制御レジスタへ値を直接書き込んでください。