カスタマーサポートセンター

FAQ~よくある質問~ | FAQマスタ詳細表示

FAQ詳細情報

ID 10810163
FAQカテゴリ(大) コンパイラ
最終更新日 2009-04-10

質問内容

割り込みのハンドリングは、C言語のみで行うことができますか?

回答内容

IAR のCコンパイラは、__interruptなどの拡張キーワードにより、割り込み関数をC言語のみで完全に記述することが可能です。Cコンパイラは、このキーワードを用いて宣言された割り込み関数に必要なベクタオフセット値の設定、レジスタの退避と復帰のための完璧なコードを生成します。

また割り込みベクタは、その開始アドレスをリンカ(XLINKリンカ)にオプションとして通知するだけで自動的にメモリ領域内に生成されます。もちろんその割り込みベクタには、各割り込み関数の先頭アドレスがオフセット値として記述済みになっています。

したがって、IARコンパイラを用いる場合、割り込み関数や割り込みベクタの記述にアセンブラや独自のテーブルなどのC言語以外のソースファイルは一切不要です。

参考資料URL