つながるワイヤレス通信機器の開発手法(14) ファームウェアを設計する(その2) ──エラー制御と高周波制御を実現する方法
これらの時間を測るために,マイコンの空いているポート(ポートについては後ほど説明)に現在の状態を示す信号レベルを出力し,そのポートをオシロスコープなどで観察する方法がよく使用されている.この方法では,図7のようにあらかじめ処理の最初にポートONのプログラムを,処理の最後にポートOFFのプログラムを埋め込む.ポートONのプログラムでは,あらかじめ決めたポートのレベルを"H"にする.ポートOFFのプログラムでは,同一ポートのレベルを"L"にする.この結果,処理に入ったところでポートの信号は"H"レベルになり,処理が終わったところでポートの信号は"L"レベルになる.この信号を観測することで処理がどれぐらいの時間で完了するかを見積もることができる.
ポートを使って内部状態を書き出す以外に,内部状態をRAMの未使用領域に書き込んだり,シリアル・ポートから出力するといった方法もある.デバッグ作業を効率良く進めるために,図7のポートON/OFFの処理などをデバッグ用関数としてファームウェア開発の初期に用意しておくことがある.表1に,ポートを使う場合,RS-232-Cなどのシリアル・ポートを使う場合,システムで使用するRAMを使う場合のそれぞれの方法の特徴を示す.
ポート
|
RAM
|
シリアル
|
備 考
|
|
リアルタイム性 |
○
|
×
|
△
|
RAMの内容はICE(in- circuit emulator)など,何らかの方法で読み出す必要がある.シリアルの場合,ハードウェアの応答速度に依存する |
処理時間 |
△
|
○
|
×
|
シリアルのハードウェア処理が大きい |
用意するハードウェア |
△
|
◎
|
×(○)
|
シリアル・ポートが存在 するシステムでは,新たに用意する必要がないので○ |
◎がいちばん有利.続いて○,△,×の順に不利になる.