コンパイル(*1) と リンク(*2) が実行され、エラーや警告がなければ下のようになります。main.c の左側に付いていたチェック・マークがなくなりましたね。チェック・マークがない状態でもう一度 【Make】 アイコンをクリックしても何も起こりません。更新すべきものがないと判断されるからです。
◆ フラッシュの書き込みを行う
次はいよいよ、フラッシュ書き込みです。最初に通信条件の設定を行います。スターター・ボードの電源スイッチは、まだオフのままにしておきます。 【Debug】 アイコンをクリックしてください。
途中、もしも 「Windowsセキュリティの重要な警告」 が出た場合は、【ブロックを解除する】 をクリックして先へ進んでください。
Connection Manager が現れました。これは接続に関する設定を行う画面です。
【Add Connection】 をクリックして、インターフェースを選択します。Class 1 を選択して 【OK】 をクリックしてください(HC08スターター・ボード・キットは DTR による自動電源オン/オフに対応しているので Class 1 を選択します。別の機会に紹介する HC08デバッグ・ツールなどの場合は自動オン/オフ非対応なので Class 3 を選択します)。
パソコンのシリアル通信ポートは、COM1 を選択してください(COM1 が選択できない場合は、前回の一番上にある ★始める前に★ を読んで設定し直し、パソコンを再起動する必要があります)。 Security Options は 【Ignore Security】 を選択します。
スターター・ボードの電源スイッチをオンにします。 POWER を示す LED が点灯していますね。【Contact Target with These Settings...】 をクリックしてください。すると、デバッガ画面が開き、さらに Erase and Program Flash? ダイアログが出ます。
マイコンの中身を書き換える場合は、【Yes】 をクリックしてください。
ここで 【Yes】 をクリックすると、マイコンのフラッシュ・メモリの中身がいったんすべて消去されます。もしもマイコンの中に書かれているプログラムやデータを消したくない場合は、【No】 をクリックしなくてはなりません。たとえば新品の QY4A マイコンを購入したとき $FFC0 番地には TRIM 値と呼ばれるデータが最初から書き込まれています。これを今から読み出そうとしている場合は、【No】 をクリックします。TRIM 値が消去されてしまっても、後でまた最適な TRIM 値を求める方法がありますから、ここでは 【Yes】 をクリックして作業を続けることにしましょう。
CPROG08SZ Programmer 画面が開いて、書き込み中のログ表示がスクロールしていきます。無事に書き終わったら、 CPROG08SZ Programmer 画面は自動的に閉じます。デバッガ画面が開いた状態で動きが収まりましたね。
◆ デバッガの表示を日本語フォントにする
デバッガでも日本語が文字化けしないように設定を変えておきましょう。【Component】 メニューから 【Fonts...】 を選択します。日本語の文字セットにして、【OK】 をクリックします。
これで文字化けが解消されます。そのまま 【Save】 アイコンをクリックして、設定を保存しましょう。次回、またデバッガを開いたときに文字化けにならずに済みます。
フラッシュ書き込みは、以上で終わりです。デバッガ画面を閉じてください。CodeWarrior IDE 画面も閉じてよいです。そして、HC08スターター・ボードの電源スイッチをオフにしてください。
◆ フラッシュ書き換え後の動作確認
書き込みがうまくできたか確認してみましょう。HC08スターター・ボードの ICソケットからマイコンを外さずに、ジャンパ・リンクを次のように差し替えてください。
JP1 のジャンパ・リンクはショートさせる。JP2 はジャンパ・リンクなし。JP3 は 1-2間をショート。JP4 は 1-2間をショート。VR1 は任意。パソコンと接続しているシリアル・ケーブルは付けたままでも外してもどちらでもかまいません(HC08スターター・ボード・キット Ver.2 の場合は、JP5 から JP8 はすべてショート)。
セッティングを変更したら、HC08スターター・ボードの電源スイッチをオンしてください。POWER を示す LED が点灯していますね。PUSH SW を押してみてください。押している間だけ、PTA1 に接続された LED (D4) が点灯するはずです。
どうってことはないようにも思えますが、これが先ほど書き込んだプログラムによって制御されていることを考えると、大いなる一歩を踏み出したといってもそう恥ずかしくはありません。
うまく書き込みができたでしょうか?次回からの方針ですが、中身の詳しい説明をするより前に、いろいろな機能を一通り動かしてみることを優先します。そうした体験をしておいてから、中身の説明に入ります。
(*1) コンパイル・・・・・C言語などの高級言語のソース・プログラムを、アセンブリ言語やオブジェクト・モジュール(マシン語のかたまり)に変換すること。
(*2) リンク・・・・・必要なオブジェクト・モジュールを結合させて実行可能なプログラムを作ること。
『参考文献』
「試しながら学ぶHC08マイコン入門」 (CQ出版)
第10章 統合開発環境 CodeWarrior を使ってみる
Appendix D フリースケールの8ビットマイコンと開発ツール
組み込みエンジニア 川野亮輔
