つながるワイヤレス通信機器の開発手法(13) ――ファームウェアを設計する
● 初期化ルーチン,メイン・ループ,割り込みで構成
ほとんどの組み込みソフトウェアと同じように,通信系ファームウェアも初期化ルーチン,メイン・ループ,割り込みの三つから構成される(図9).
電源ON直後に初期化処理を行い,そのあとメイン処理を行う永久ループに入る.メイン処理の永久ループの最中に割り込み条件が成立すると,メイン処理を一時中断して割り込み処理を行う.割り込み処理後は一時中断した次のステップからメイン処理を実行する(表4).このとき,メインには低速で重い処理を,割り込みには高速で軽い処理を割り当てるように設計する.
以下に,BluetoothのHCI(host controller interface)より下位のファームウェアを例に,各処理の割り付けと動作について説明する.
初期化処理 |
メモリ・チェック,周辺I/Oチェック,メイン処理と割り込み処理の初期条件設定 |
メイン処理 |
メッセージ処理,高位レイヤ状態管理 |
割り込み処理 |
低位レイヤ状態処理,タイマ関連処理 |