CC-RHでは,RH850ファミリの割り込みに対して,Cソース上で,次の制御を行うことができます。
- | マスカブル割り込みの受け付けの許可/禁止(割り込みのマスク) |
つまり,“割り込み制御レジスタ”を操作することができます。
“割り込み優先順位レベル”を制御する場合は,“__set_il関数”を用いて次のように指定します。
__set_il_rh(long 割り込みの優先順位レベル, void* 割り込み制御レジスタのアドレス);
|
“割り込みの優先順位レベル”として指定できる値は“1~16”の整数値です。RH850の割り込み優先順位レベルは“0~15までの16段階”を指定するため,“RH850の割り込みの優先順位レベルを5にしたい”場合は,この関数で指定する割り込みの優先順位レベルは“6”と指定します。
“割り込みに対して,マスカブル割り込みの受け付けの許可/禁止”を制御する場合は,次のように指定します。
__set_il_rh(long マスカブル割り込みの許可/禁止, void* 割り込み制御レジスタのアドレス);
|
“マスカブル割り込みの許可/禁止”に設定できる値は“-3~0”の整数値です。
|
|
0
|
マスカブル割り込みの受け付け許可(割り込みのマスクを解除)
|
-1
|
マスカブル割り込みの受け付け禁止(割り込みをマスク)
|
-2
|
割り込みベクタ方式を直接分岐方式(標準仕様)にしたい場合
|
-3
|
割り込みベクタ方式をテーブル参照方式 (拡張仕様)にしたい場合
|
注意 | 本機能は,-Xcpu={g3m|g3k|g3mh|g3kh}オプション指定時のみ使用可能です。その他の場合は,本機能を使用せず,割り込み制御レジスタへ値を直接書き込んでください。 |