PICマイコンの開発環境であるMPLAB X IDEに備わっているデバッグ用のプログラミング言語Stimulus Control Languageを使って、自作のPICプログラムをデバッグしてみる記録です。まず最初はプログラム構造とコメントの書き方、SCLファイルの読み込ませ方から調べてみます。
フォーマット
文字の大文字と小文字は区別する。改行と空白文字は同じに扱われる。つまり適当な場所で改行したり、インデントを自由に入れたりしてよい。
コメント
コメントはCスタイル(‘//’)またはVHDLスタイル(‘–‘)が使える。
// Cスタイルのコメント -- VHDLスタイルのコメント
プログラムの構造
プログラムはtestbench
ブロックをただ一つ持つ。デバッグ用のプログラムや変数の定義、定数の定義などはこのブロックの中に書くようだ。ちなみにブロックという用語は公式ドキュメントには出てきません。僕が勝手にブロックと呼んでいます。
testbench for "PIC16F1705" is begin // この中に処理を書く。 end testbench;
testbench for
の後ろには使用するPICデバイス名を記述することになっているが、これは古いMPLAB IDEの名残で、MPLAB X IDEでは書いてあっても無視されるらしい。ダミーでも何か書かないとダメみたい。
コンフィギュレーション
プログラムはオプションとしてコンフィギュレーション情報を書くことができ、configuration
ブロックで指定する。configuration
ブロックはtestbench
ブロックの前に0個または1個のみ書くことができる。したがってコンフィギュレーションを書く場合は全体としてこんなコードになる。configuration
ブロックにもPICデバイス名を指定する必要があるが、MPLAB X IDEではやっぱり無視されるらしい。
configuration for "PIC16F1705" is // コンフィギュレーション情報をここに書く。 end configuration; testbench for "PIC16F1705" is begin // この中に処理を書く。 end testbench;
ここで気づいたのは、testbench
ブロックはブロックの始まりにbegin
があるのに、configuration
ブロックの方はbegin
が無い。なんか一貫性がないような? もう少し進んでいくと理由がわかるんだろうか。とりあえずそういうものだと思うことにする。
最小のプログラム
ということでSCLでの最小のプログラムはこれですね。
testbench for "PIC16F1705" is begin end testbench;
当たり前ですが何もしないプログラムです。
IDEへの読み込み
この何もしないプログラムをIDEに読み込ませる方法を見てみます。
testbench for "pic16f1705" is begin end testbench;
- IDEを開く。
- 右下のペインから”Stimulus”タブを選択する。もし”Stimulus”タブが無ければ、ツールバーからWindow→Simulator→Stimulusとたどると、”Stimulus”タブが表れる。
- “Attach SCL file(s)”ボタンをクリックし、読み込ませるSCLファイルを選択する。
- これで読み込まれているはず……なのですが、何もしないプログラムなので本当に読み込まれているかよく分かりません。今後ちゃんとしたプログラムを作りながら確認していきます。
コメント