シミュレータを使ってみる

とうとう、アセンブル、リンクまで漕ぎつけた哲さん。すぐに
動作させたかったのを、啓二さんに、止められ、多少欲求不満
になっていました。この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の開発環境も、こんな感じだ。
哲  :でも、めでたい。祝杯だ。ビール買いに行ってくる。
啓二:冷蔵庫に、発泡酒が入っているから、それを飲もう。
哲  :おや、珍しいなあ。
啓二:料理教室の女性が、お中元にくれたんだ。
哲  :そうか。じゃ、遠慮なく。
啓二:酒の肴でも作るか。

戻る