PM plusでコンパイルしよう
ようやくできあがったソースプログラムを、今度はPM plusを使ってコンパイルします。コンパイルというのは、人間のわかるソースプログラムをマイコンのわかるコードに翻訳する作業です。この翻訳をする機能(ツール)を、コンパイラといいます。PM plusは、このコンパイラの機能を内蔵した開発環境ツールです。[スタート]メニューから、PM plusを起動します。

ワークスペースを開く
起動したら、図24のように[ファイル]メニューから[ワークスペースを開く]を選択します。
![図24:PM plusの[ファイル]メニュー](http://cz-cdn.shoeisha.jp/static/images/article/3799/24.gif)
図25のようなファイル選択のダイアログが開きます。先ほどAppliletでコードを生成したフォルダを選ぶ(たとえばここではD:\mspoon\test1)と、mdt.prwというファイルが見つかります。Appliletの説明で図4の新規作成画面でプロジェクト名を変更た場合は、ファイル名が変わります。「指定プロジェクト名.prw」というファイルが見つかるはずです。[開く」をクリックしてください。PM plusは図26のような表示になります。
左側のプロジェクトウィンドウには、今回のプログラムに関係するファイルがまとめられています。ためしに[+]ソース・ファイルという部分の[+]をクリックしてみてください。図27のようにプログラムファイルの一覧が表示されます。

「ソース・ファイル」の下に表示されているファイル名をダブルクリックすると、そのソースファイルの内容を参照できます。また、各ソースファイルに付いている[+]印をクリックすると、そのソースに含まれている関数名が表示されます。
実行ファイルをつくる
ではこれらのソースファイルから、実際にマイコンが実行することのできる実行ファイルを作ってみましょう。これをビルドといいます。図28のように、[ビルド(B)]メニューから、[ビルド(B)]を選びます。

ビルドとは、各ファイルをコンパイルしてそれらをつなぎ合わせ(リンク)、実行可能なファイルを作るまでの一連の作業のこと
正常にビルドができると、図29のようにメッセージが表示されます。[OK]をクリックしてください。
エラーがでてしまったら
上記のように正常にビルドができず、不幸にしてソースファイルに間違いがあった場合は、図30のようにエラーが表示されます。

こんなときは、ますは[OK]をクリックしてエラーメッセージを消して、PM plusの「OutPut」というウィンドウを見ます。図31はその例です。

ここには以下のように、なにやら難しいメッセージが表示されています。
main.c(58) : F301 Syntax error main.c(58) : F501 Expression syntax main.c(61) : F301 Syntax error main.c(61) : F701 External definition syntax
最初のmain.cがエラーが見つかったファイル名、そのあとのカッコの中が、エラーがありそうな行番号です。どうやらmain.cにエラーがありそうなので、早速main.cをエディタで開いて見直してみましょう。
図32が、エラーのあるmain.cを開いた様子です。わかりやすくするために行番号を表示させています。

さて、PM plusでは58行目にエラーがあると言われました。でもここはAppliletが生成したプログラムから手を加えていないはずです。さらに61行目もエラーと言われますが、見るとそこには閉じカッコしかありません。C言語に慣れないうちは、こういう状況で混乱してしまいがちです。指摘された行番号に心当たりが見つからないときは、落ち着いてその少し前の行をチェックしてみましょう。
56行目をよ~く見てください。行末のセミコロン「;」がありませんね。ここがエラーの原因だったのです。ではなぜPM plusは56行目にエラーと言わなかったのでしょう。C言語をマイコンの言葉に翻訳するCコンパイラは、セミコロンでその行の終わりと判断します。上の例の56行目のようにセミコロンがないと、セミコロンが見つかるまでひとつの実行文として処理を続けるのです。すると58行目で、代入文(○○=△△;という文)にはないはずの文字列(ここではwhile(...)が登場するので、ようやくここで「おかしい!」ことに気づきます。それで58行目にSyntax Error(文法的エラー)があるというメッセージを出すというわけです。
続いて、これによって58行目のwhileの文が無効になってしまいますので{ }の対応が崩れてしまって、Cコンパイラは最後の61行目で再び「おかしい」と気づいて、またエラーを出していたのです。
この先の例題を試すときでも、同様のエラーはよくあると思います。エラーメッセージの行番号は、「そこにミスがある」ではなく、「そのあたりにミスがある」くらいに思って、おちついて見直すようにしてください。でもほとんどの場合は表示された行番号の文にミスがあり、そうでない場合は少なくとも表示された行番号より以前の場所に原因があるはずです。
ミスの箇所を見つけたら、修正して保存し(以外と保存を忘れがちです。これを忘れるとせっかく修正したのに同じエラーが出て混乱してしまいます)、ふたたびビルドして、正常に終了するのを確認してください。
少し長くなってしまいましたので、今回はここまでにします。[ファイル]メニューから[PM plusの終了]を選んで、PM plusを終了させてください。
次回は
次回は、シミュレータSM plusを使って、今回作ったプログラムを動作させてみます。さらにマジカルボックスにプログラムを転送して、実物での動作も確かめます。それではまた。
関連情報
マジカルスプーン シミュレータキットは、SEshop.com(翔泳社の販売サイト)で購入できます。
- マジカルスプーン シミュレータキット(SEshop.com)
- SEshop.comカスタマーサポート(E-mail:orders@seshop.com)
フリーダイヤル:0120-370747 受付時間(平日10:00~17:00)



