HEW2を使ったロボット・キットのプログラム開発
1. HEW2 のダウンロード
2. HEW2
のインストール
3. プロジェクトの作成
4. プロジェクトのカスタマイズ
5. プロジェクトにファイルを追加
6. ビルド
7. H8へ書き込み
1. HEW2 のダウンロード
- (株)ルネサステクノロジーのホームページの中の,「
Tiny,SLP(Super Low Power)無償版コンパイラダウンロード」のページから無償版コンパイラをダウンロードする.
- 注意事項を読んで「同意する」をクリックすると,連絡先情報や評価内容に関する情報を入力するフォームが現れるので,これらに記入し「入力完了」をクリックする.
- 入力内容の確認画面がでるので,よければ「上記内容で申し込む」をクリック
- 「無償版クロスツールのダウンロード」をクリックすると「H8TS.EXE」のダウンロードが始まるので,適当な場所にファイルを保存する(25.5MB)
- 後日,パスワードがメールで送られてくるので,このパスワードを使ってファイルを解凍する.
- H8ts.exe をダブルクリック
- 解凍場所を指定し,unzip ボタンを押す.(WinZipの場合)
- パスワードを尋ねてくるので,入力する.
- H8ts.exe というファイルが指定場所にできる.
2. HEW2 のインストール
- 解凍した H8ts.exe をダブルクリック
- Location to Save Files は適当にフォルダを指定.デフォルトのままでよい.
- 言語は好きな方を選べばよいが,とりあえず日本語にする.
- コンポーネントの選択では,3つ全てを選択する.
- ファイルコピーを開始するとファイルがインストールされる.
3. プロジェクトの作成
ここでは check.c のプロジェクトを作成する.
- HEW2 を起動する.
- 次のようなウィンドウが現れるので,新規プロジェクトワークスペースの作成を選択し,OK をクリックする.
- 新規プロジェクトワークスペースのワークスペース名に「check」と記入すると,プロジェクト名なども「check」と自動入力される.ディレクトリは各自で適当なフォルダに変更する.CPUファミリは「H8S,H8/300」しか選べない.ツールチェインも下図のとおりでよい.プロジェクトタイプはアプリケーションとする.OKをクリック.
- New Project-Step 1 というウィンドウが現れる.CPU Series は「Tiny」を,CPU Type は「3664F」を選択し,Next
をクリック
- New Project-Step 2 というウィンドウが現れる.これはこのままにして Next をクリック
- 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 を選択.
- New Project-Step 4 というウィンドウが現れる.robot.h の中で math.h と stdlib.h
をインクルードしているので,とりあえず math.h,mathf.h,stdlib.h にチェックを入れておく.Next を選択.
- New Project-Step 5 というウィンドウが現れる.Stack Pointer Address は H'FF80
のままでよい.Stack Size は本当はきちんと計算しないといけないのだろうが,ここではこのままとする.Next を選択.
- New Project-Step 6 というウィンドウが現れる.割り込みベクタは core.mar で定義して,後でプロジェクトに追加するので,ここでは
Vector Definition Files のチェックをはずしておく.Next を選択.
- New Project-Step 7 というウィンドウが現れるが,ここではなにもすることはないので,そのまま Next を選択.
- なぜか New Project-Step 8 ではなく New Project-Step 9 というウィンドウが現れる.リストに
iodefine.h があることを確認する.これが 3664.h に相当するファイルである.なかったら,Back で Step 3 のウィンドウまでもどる.あったら,Finish
を選択.
- これまでの作業のまとめが表示される.よかったら OK をクリック.
- プロジェクト check ができる.
4. プロジェクトのカスタマイズ
このままだと,各セクションのアドレスがふさわしくないので,変更する.
- 「オプション」->「H8 Tiny/SLP」を選択する.
- すると,H8 Tiny/SLP Toolchain というウィンドウが開く.ここで「Link/Library」タブを選択し,Category
から「Section」を選択する.
- Section Pの左の Address をクリックして反転させ,Modify をクリックする.
- 下のようなウィンドウが現れる.Address を 0x0340 にして, OK をクリック.
- 次に R をクリックし反転させ,Up ボタンを押す.
- Section R の左の Address をクリックして反転させ,Modify をクリック
- Address を 0xF7F0 にして, OK をクリック.
- Section S をクリックして反転させ,Remove をクリック.
- 下のようになったことを確認し,OK をクリック.
5. プロジェクトにファイルを追加
次に,ロボットキットのプログラムをプロジェクトに追加します.
- 追加したいファイルをプロジェクトのフォルダにコピーします.ここでは,check.c,robot.h,core.mar をcheckというサブフォルダにコピーしています.
- 次に HEW のメニューから「プロジェクト」->「ファイルの追加」を選択します.
- ファイルの追加というウィンドウが現れるので,check.c,core.mar,robot.h を選択し,追加ボタンをクリック.
- core.mar を修正する.開発環境のバージョンがあがり .SECTION で COMMON が使えなくなったのでこれを DATA
に変更する.まず,core.mar をダブルクリックしてエディタに表示させる.次に「編集」->「ジャンプ」で, 512 行目を表示する.COMMON
を DATAと書き換え保存する.
- 次にrobot.h を修正する.秋月電子通商で販売している開発環境についてくる 3664.h をコメントアウトし,iodefine.h
を代わりにインクルードする.
- 三角関数は標準ライブラリのものを用いるので,robot.h の該当箇所を #if 0 〜 #endif で除外する.およそ 97行目から446行目までの間.
- 最後に,check.c の robot.h のインクルード先を,ユーザフォルダに変更する.つまり,<> を "" に変える.
6. ビルド
準備が整ったらビルドする.
- ビルドボタンをクリック.
- 下のようにエラーが出なければ成功.
- ビルドしてできた MOT ファイルが,Debug というフォルダの中にできる.
7. H8へ書き込み
HEW には書き込みツールは付属していないようですが,H8Write などのフリーのソフトがあるのでそちらを利用する.
- H8Write をインストールして,一度起動し,次のように設定して,OK をクリック.
こうするとビルドしてできた MOT ファイルに,H8Write のアイコンがつく.
- H8/3664F を書き込みスタンバイにしておいて,MOT ファイルをダブルクリックすると H8Write が起動し,書き込みが開始される.
ロボットキットで行う場合は、電源スイッチを OFF にし、ブートスイッチをブートモード側に倒してから、電源スイッチを ON にすると H8/3664F が書き込みスタンバイになります。
プログラムを実行するときは電源スイッチを OFF にして、ブートスイッチをノーマルモードに戻してから、電源スイッチを ON にします。
ロボットキット製作マニュアルに戻る!
(C) N. Hanajima 2003.6.4; 2004/6/17 Modified.