とうとう、アセンブル、リンクまで漕ぎつけた哲さん。すぐに シミュレータを使ってみる
動作させたかったのを、啓二さんに、止められ、多少欲求不満
になっていました。この1週間が長かったこと。まるで、犬が
お預けを言われた感じです。自分の仕事を、バリバリと片付け
一日を千日の思いで暮らしました。土曜日の午後、昼食もそこ
そこに、ロボを連れてやってきました。
哲 :押忍。来たぞ。今日こそ、LED点灯プログラムを 動かすんだよな。 啓二:そのつもりだ。だが、シミュレータで動作を確認する。 哲 :そうか、急いては、事を何とやらか。 啓二:そう。あっと、HEXフォーマットについて説明してないよな。 哲 :うん、聞いてない。 啓二:ROMにプログラムを転送するときに、IntelはHEXフォーマット MotorolaはSフォーマットというファイルフォーマットを決めて 使っていたんだ。で、マイコン内部に転送するプログラムにも、 いずれかのフォーマットを使うようになったんだ。 哲 :じゃあ、どちらのフォーマットになっているかで、そのマイコン が、IntelとMotorolaのどちらの系列にあるかわかるのか。 啓二:ピンポン。その通り。だが、マイコンを触る方にすると いい迷惑だった。2種類のフォーマットを解釈して、 ROMライターに転送するプログラムを作成する必要が あったから。が、変換ソフトを作って、フォーマットが 1種類だけで済むようにしたのさ。 哲 :へえ、マイコンを扱う技術者ってのは、器用なんだなあ。 啓二:まあ、必要は、発明の母だから。目的を達成するために、 努力を惜しまなかったんだな。 哲 :PM Plusは、HEXフォーマットのファイルを作成したから 78kは、Intel系マイコンなんだな。 啓二:そういうこと。じゃあ、シミュレーションしてみるか。 PM Plusを起動してくれ。 哲 :シミュレーションなのに、PM Plusを起動するのか。 test1を選んでと。これで、いいか。 啓二:メニューバーの中の「ビルド」をクリックして、 「ディバグ」をクリックする。 哲 :これだな。 ありゃ、ディバッガの選択になったぞ。 啓二:OKボタンのクリックだ。 哲 :へいへい。ありゃ、設定ダイアログが出たぞ。 啓二:そのまま、OKボタンのクリックだ。 哲 :クリックしたら、Configulationダイアログになった。 啓二:サブクロックを変更しよう。 哲 :32.768しかないけれど、これでいいんだな。 啓二:78kマイコンにプログラムを転送するかと 聞いているなあ。これは、「いいえ」だ。 哲 :ホストの中でシミュレーションだから、必要なしか。 啓二:シミュレーション用の画面が開くはずだ。 哲 :どうやら、画面が出たようだ。 啓二:画面上でLEDの状態をチェックしたいから、 入出力パネルを使おう。ツールバーの中から選んで クリックしてくれ。 哲 :次は、どうすればいいんだ。 啓二:入出力パネルに、LEDをコンポーネントとして 貼り付ける。 メニューバーの中の「部品」をクリックする。 哲 :あれま、サブメニューが出たぞ。 啓二:LEDをクリックする。 哲 :これから、どうするんだ。 啓二:入出力パネルの好きな位置で、ダブルクリックする。 哲 :あっと、LEDに相当する部品が貼り付いた。 啓二:このLEDコンポーネントをクリックして、Ctrl+Cで コピーする。で、Ctrl+Vで、3つ貼り付ける。 哲 :この状態では、78kとは接続されていないし、点灯 の条件も付加されていなよな。どうやってプロパティ を設定するんだ。 啓二:自分がいつもやっていることだと、食いつきがいいな。 LEDコンポーネントを選択したら、右クリックする。 哲 :じゃあ、右クリックと。おお、でてきた。 啓二:接続端子のコンボボックスで、リストからP23/AIN3を選ぶ。 哲 :これから、どうするんだ。 啓二:LEDコンポーネントにラベルをつけたいので、LED3 をラベルに入力。0を与えると点灯するから、アクティブ レベルのチェックはLowにする。OKボタンクリックでパネル が現れる。で、ラベルが見えるように、サイズを調整だ。 哲 :同じことを、他の3つLEDコンポーネントにも やればいいのか。WindowsのVBみたいだなあ。 啓二:一度、PM Plusに移って、メニューバーの「ビルド」を クリックして、「ビルド→ディバグ」をクリックだ。 これで、デバッグに必要な情報を付加してくれる。 哲 :VC++のDebugとReleaseみたいだなあ。 啓二:これで、ソースコードデバッグができるようになる。 哲 :ここまでくれば、何とか行けそうだぞ。 ステップ動作やブレークポイントを入れて、動作を チェックすればいいんだな。 啓二:マイコンでは、レジスタとメモリの内容がどうなって いるかを見ていけば、デバッグができるから、対応する ウインドウを開いて、トレースしてみよう。 まずは、メニューバーの中の「ブラウザ」をクリックだ。 哲 :おお、サブメニューが出てきた。 メモリとレジスタをそれぞれクリックするんだな。 啓二:出てきたウインドウのサイズを調整して、一目で 値の変化を参照できるようにしようぜ。 哲 :こんな具合だな。 啓二:それじゃ、RUNしてみるか。 哲 :こいつをクリックだな。 啓二:うん、LEDコンポーネントの状態が変化している。 哲 :よしよし。 啓二:いつまで、動かしていてもしょうがないぞ。 哲 :そろそろ止めるか。 哲 :これで、シミュレーションも終わったな。 でも、マイコンの開発デバッグ環境は、 MicroSoftのに似ているなあ。 啓二:そうだなあ。ユーザーに違和感を起こさせない ようにしているんだろうなあ。XilinxのCPLDや FPGAの開発環境も、こんな感じだ。 哲 :でも、めでたい。祝杯だ。ビール買いに行ってくる。 啓二:冷蔵庫に、発泡酒が入っているから、それを飲もう。 哲 :おや、珍しいなあ。 啓二:料理教室の女性が、お中元にくれたんだ。 哲 :そうか。じゃ、遠慮なく。 啓二:酒の肴でも作るか。