「組み込み」ならではの基礎知識 ――スタートアップ・ルーチンからハードウェアまで

セサミアン3人組

tag: 組み込み

技術解説 2003年5月14日

 割り込み信号には2種類あります.一つは,場合によっては受け付けなくてもよい割り込み(マスク可能割り込み)です.もう一つは,必ず受け付けなければならない割り込み(マスク不能割り込み)です.割り込みを受け付けるとつごうの悪い処理を実行するときに,あらかじめ割り込み禁止命令を実行しておけば,マスク可能割り込みを受け付けないようにすることができます.処理が終わったら,割り込み許可命令を実行することで,再び割り込みを受け付けるようになります.

 割り込み信号が入ってから,実際に割り込み処理が始まるまでの時間を割り込み応答時間といいます.対応しなければならない事象がいつまで待っていてくれるのか,割り込み応答時間と突き合わせて十分対処できることを確認しておかなければ事象を処理しそこねてしまいます.割り込まれる側の関数に割り込みを禁止している処理があるときは,この処理時間も加算します.

 不慣れなうちは,割り込み信号をきっかけにした処理をすべて割り込み処理ルーチンに書いてしまいがちです.すると,割り込まれた側の処理が滞ってしまいます.割り込みを受け付けてから元のしごとに戻るまでの時間(割り込み処理時間)を最小にするために,後に回せるしごとは,割り込み処理ルーチン内でフラグをセットするだけにとどめ,割り込まれる側で処理するようにくふうします.先ほどのピザ屋さんの例で,配達伝票を書くことがフラグのセットにあたります.もちろん,割り込み処理時間が割り込み信号の入る間隔よりも短くなるように設計します.

 割り込み処理が複数あるときには優先順位をつけます.優先順位の低い割り込み処理を実行している最中に,優先順位の高い割り込み処理を受け付けられるように作ります.これを多重割り込みと言います(図6-3)

f06_03.gif
〔図6-3〕多重割り込み
main関数に関数interrupt1,interrupt2が割り込むとする.関数interrupt2の割り込み優先度が関数interrupt1よりも高い場合,関数interrupt1が割り込みを許可していれば,関数interrupt1の実行中に関数interrupt2が割り込むことができる.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日