【シミュレータとは】
MPLAB IDE内に含まれるシミュレータは、デバッグをパソコン上だけ
でできるようにしたもので、PICの命令実行と、内部動作をパソコンの
ソフトウェアで擬似的に実行するものです。
これを使うとPICの内部動作を1命令実行毎に更新して表示できるので
プログラムが正しく動作するかどうかを逐一確認しながらプログラムを
実行させることができます。
PICのピンへの入出力や、タイマなどの内蔵モジュールも擬似的に
動作させることができるので、まずこのシミュレータで動作確認をする
のが確実なデバッグ方法です。
【シミュレータの起動と実行制御】
MPLAB IDEでシミュレータを使えるようにするためには、下図のように
デバッガとしてシミュレータを選択することで行います。
シミュレータを選択すると、プログラムの実行を制御するアイコンとメニュー
が追加され、プログラムを動作させることができます。
このときの動作はすべてエディタのソースプログラム上で確認作業を
行いますので、エディタを開いておく必要があります。
実行制御のアイコンは下記のような機能となります。
・Run : 連続実行させるコマンドで、この実行中はレジスタや変数の
値の更新はされません。この間サイクルで動作するものは
シミュレーションされます。ブレークポイントで停止します。
・Halt : 停止させるコマンドで、Runで実行させたものを停止させます。
・Animate: 連続実行で、変数やレジスタの表示を更新しながら実行します。
実行速度は遅くなります。
・Step Into:1命令ずつ実行しては停止します。このときレジスタや変数の
表示を更新します。
・Step Over:サブルーチンCALL命令を1命令のように扱って実行し
サブルーチンの内部には入らず高速で実行して直ぐ次の命令に
移ります。
・Step Out:サブルーチンの内部にStep Intoで入ったあと、そのサブルーチン
を高速で実行して呼び出し元にすぐ戻ります。
・Reset :ハードウェアリセットと同じ状態にします。
変数、ポートなどは「0」が初期状態としてセットされます。
【ブレークポイントの設定と解除】
ブレークポイントとは、上記実行でRunとした場合に、指定した場所を
通過したとき停止させる場所のことで、エディタで停止させる行をダブル
クリックすることで指定できます。
このブレークポイントを解除させるには、その行を再度ダブルクリック
すれば解除されます。
ブレークポイントは何個でも設定できますが、コメント行など実行命令の
無い場所に設定すると実行時にエラーとしてメッセージ表示されます。
設定したときのエディタには下図のように行頭に赤丸のB表示が追加
されます。
ブレークポイントを一斉に解除したい場合には、Debug→BreakPointで
表示される下記のようなBreakpointsのダイアログでできます。
またエディタのブレークポイント行上で右クリックすると下記のような
ポップアップメニューが表示されます。ここからもブレークポイントの
設定と解除が可能です。
このポップアップメニューからは、ブレークポイントだけでなく、トレース
範囲の指定や、カーソルマーク設定と、そこまでの実行制御を行わせる
こともできます。