HEW2を使ったロボット・キットのプログラム開発


1. HEW2 のダウンロード
2. HEW2 のインストール
3. プロジェクトの作成
4. プロジェクトのカスタマイズ
5. プロジェクトにファイルを追加
6. ビルド
7. H8へ書き込み

1. HEW2 のダウンロード

2. HEW2 のインストール


3. プロジェクトの作成

ここでは check.c のプロジェクトを作成する.

  1. HEW2 を起動する.
  2. 次のようなウィンドウが現れるので,新規プロジェクトワークスペースの作成を選択し,OK をクリックする.
  3. 新規プロジェクトワークスペースのワークスペース名に「check」と記入すると,プロジェクト名なども「check」と自動入力される.ディレクトリは各自で適当なフォルダに変更する.CPUファミリは「H8S,H8/300」しか選べない.ツールチェインも下図のとおりでよい.プロジェクトタイプはアプリケーションとする.OKをクリック.

  4. New Project-Step 1 というウィンドウが現れる.CPU Series は「Tiny」を,CPU Type は「3664F」を選択し,Next をクリック
     
  5. New Project-Step 2 というウィンドウが現れる.これはこのままにして Next をクリック

  6. New Project-Step 3 というウィンドウが現れる.とりあえず malloc() や new() などで動的にメモリを確保しないので,Use Heap Memory のチェックははずしておく.Generate main() Function も,後でプロジェクトに手動でファイルを追加するので None とする.I/O Register Definition Files は 3664.h に相当するファイルを自動生成してくれるので,チェックを入れる.Generate Hardware Setup Function は 自前のプログラムを後でプロジェクトに追加するので None でよい.Next を選択.

  7. New Project-Step 4 というウィンドウが現れる.robot.h の中で math.h と stdlib.h をインクルードしているので,とりあえず math.h,mathf.h,stdlib.h にチェックを入れておく.Next を選択.

  8. New Project-Step 5 というウィンドウが現れる.Stack Pointer Address は H'FF80 のままでよい.Stack Size は本当はきちんと計算しないといけないのだろうが,ここではこのままとする.Next を選択.

  9. New Project-Step 6 というウィンドウが現れる.割り込みベクタは core.mar で定義して,後でプロジェクトに追加するので,ここでは Vector Definition Files のチェックをはずしておく.Next を選択.

  10. New Project-Step 7 というウィンドウが現れるが,ここではなにもすることはないので,そのまま Next を選択.
  11. なぜか New Project-Step 8 ではなく New Project-Step 9 というウィンドウが現れる.リストに iodefine.h があることを確認する.これが 3664.h に相当するファイルである.なかったら,Back で Step 3 のウィンドウまでもどる.あったら,Finish を選択.

  12. これまでの作業のまとめが表示される.よかったら OK をクリック.

  13. プロジェクト check ができる.


4. プロジェクトのカスタマイズ

このままだと,各セクションのアドレスがふさわしくないので,変更する.
  1. 「オプション」->「H8 Tiny/SLP」を選択する.
  2. すると,H8 Tiny/SLP Toolchain というウィンドウが開く.ここで「Link/Library」タブを選択し,Category から「Section」を選択する.
  3. Section Pの左の Address をクリックして反転させ,Modify をクリックする.

  4. 下のようなウィンドウが現れる.Address を 0x0340 にして, OK をクリック.

  5. 次に R をクリックし反転させ,Up ボタンを押す.
  6. Section R の左の Address をクリックして反転させ,Modify をクリック
  7. Address を 0xF7F0 にして, OK をクリック.
  8. Section S をクリックして反転させ,Remove をクリック.

  9. 下のようになったことを確認し,OK をクリック.


5. プロジェクトにファイルを追加

次に,ロボットキットのプログラムをプロジェクトに追加します.
  1. 追加したいファイルをプロジェクトのフォルダにコピーします.ここでは,check.c,robot.h,core.mar をcheckというサブフォルダにコピーしています.

  2. 次に HEW のメニューから「プロジェクト」->「ファイルの追加」を選択します.
  3. ファイルの追加というウィンドウが現れるので,check.c,core.mar,robot.h を選択し,追加ボタンをクリック.


  4. core.mar を修正する.開発環境のバージョンがあがり .SECTION で COMMON が使えなくなったのでこれを DATA に変更する.まず,core.mar をダブルクリックしてエディタに表示させる.次に「編集」->「ジャンプ」で, 512 行目を表示する.COMMON を DATAと書き換え保存する.

  5. 次にrobot.h を修正する.秋月電子通商で販売している開発環境についてくる 3664.h をコメントアウトし,iodefine.h を代わりにインクルードする.

  6. 三角関数は標準ライブラリのものを用いるので,robot.h の該当箇所を #if 0 〜 #endif で除外する.およそ 97行目から446行目までの間.
  7. 最後に,check.c の robot.h のインクルード先を,ユーザフォルダに変更する.つまり,<> を "" に変える.


6. ビルド

準備が整ったらビルドする.
  1. ビルドボタンをクリック.
  2. 下のようにエラーが出なければ成功.
  3. ビルドしてできた MOT ファイルが,Debug というフォルダの中にできる.


7. H8へ書き込み

HEW には書き込みツールは付属していないようですが,H8Write などのフリーのソフトがあるのでそちらを利用する.
  1. H8Write をインストールして,一度起動し,次のように設定して,OK をクリック.

    こうするとビルドしてできた MOT ファイルに,H8Write のアイコンがつく.
  2. H8/3664F を書き込みスタンバイにしておいて,MOT ファイルをダブルクリックすると H8Write が起動し,書き込みが開始される.
    ロボットキットで行う場合は、電源スイッチを OFF にし、ブートスイッチをブートモード側に倒してから、電源スイッチを ON にすると H8/3664F が書き込みスタンバイになります。
    プログラムを実行するときは電源スイッチを OFF にして、ブートスイッチをノーマルモードに戻してから、電源スイッチを ON にします。

ロボットキット製作マニュアルに戻る!


(C)  N. Hanajima  2003.6.4; 2004/6/17 Modified.