獣医さんの電子工作とパソコン研究室 |
40−1.秋月 AKI-3664Nマイコン基板を使ってみる (開発環境 Renesas HEW) 以下の内容で、使い方など間違っている部分もあるかと思います。 |
■ 秋月AKI-3664Nマイコンを使ってみる |
開発環境とセットになっているものも売っていましたが、秋月電子でマイコンボード単体のものを購入して、開発環境にルネサスの 統合開発環境 High-performance Embedded Workshop (HEW) と H8SX,H8S,H8ファミリ用C/C++コンパイラパッケージ (無償評価版)、マイコンボードへのフラッシュ書き込みには Renesas フラッシュ開発ツールキット(Flash Development Toolkit - FDT)を使ってみました。 R8C/Tinyの開発でも使用したので同じようなものかと思い、HEW+H8ファミリ用C/C++コンパイラパッケージ
(無償評価版)を使用することにしたのですが、使い勝手は同じようなものの、結構コツがいりました。デバッグなどもR8Cのようなわけにはゆかず、PC上でシュミレーション・デバッガでの動作確認をするしかなく、慣れるまでにひと苦労しました。 その他H8シリーズの開発環境として、いろいろなものがネット上で紹介されており、いくつか試してみましたが、開発環境を整えるのに苦労したりと面倒でした。 その点Renesasの統合開発環境HEW+無償評価版C/C++コンパイラパッケージは、HEWをインストールしただけですぐに使えるので、大変便利です。 ■プログラミングの参考にしたサイト |
■ AKI-3664N 実験用マザーボード(ブレッドボード使用) |
AKI-3664N基板は13本×2列のピンヘッダが2本使われています。当然ブレッドボードには納まりませんので、基板側にはピンソケットをつけて、基板を裏返して両面テープでブレッドボードに仮固定し、そのピンソケットにリード線を差し込んで使う形をとりました。 |
実験に使用した回路図 |
裏側から見たAKI-3664Nピンコネクション |
★ 実験に使用したプログラム test_IO.c | |
★ 実験に使用したプロジェクトファイル test_IO.lzh | |
■ 統合開発環境HEWのインストール |
RenesasのサイトからHEWをダウンロードしようと思って探したのですが、ルネサスのHP上に見つけることが出来ませんでした。 なぜアップデートモジュールばかりなのかと思っていたのですが、H8SX,H8S,H8ファミリ用C/C++コンパイラパッケージ (無償評価版)をダウンロードしてインストールすると、HEWも一緒にインストールされます。 今回ダウンロードしたものは 【無償評価版】H8Cコンパイラパッケージ Ver.6.02 Release 00 で118MBもありました。インストールしてみると、各マニュアルもインストールされていて、Manual Navigator なるものもインストールされていました。この中にH8S,H8/300シリーズ C/C++コンパイラパッケージのマニュアルや HEWのマニュアルがあります。 |
Cコンパイラパッケージは評価版となっており、時間がたつと機能が縮小されてしまうらしいですが、充分使えるらしいです。
試用期限が過ぎたものには、下記のようなメッセージがリンクの際に出ました。 インストールされたHEWのバージョンは HEW Version
4.03.00.001 となっていました。 |
■ プログラムの作成〜実行ファイル生成 (Renesas HEW 使い方) | |
■ワークスペースを作成、プログラムの開発準備をする。 | |
HEWを立ち上げると、<ようこそ>ダイアログが出るので、新規プロジェクトワークスペースの作成を選択。 ワークスペース名に作成するCプログラムファイルの名前を入力、保存するディレクトリを指定します。 |
|
<次へ>のボタンを押して、CPUの選択をします。 CPUシリーズに 300H、CPUタイプに 3664Fを選択します。 |
|
<次へ>のボタンで次項目の入力に移りますが、ほとんどそのままで設定することはありません。 7/9ページ目に出てくるデバッガの設定は、シュミレータ・デバッガを使いたいので、H8/300HN Simulator にチェックをつけてください。 |
|
■プログラムを書く | |
起動すると、なにやらいくつかのファイルが自動的に作成されていますが、気にせず。先ほど入力したファイル名.cのファイルをダブルクリックして開きます。 ここに、メイン関数を記述します。 また、ツールバーが何も表示されていないので、マウスを右図のあたりで右クリックし、メニューバー表示選択ダイアログが表示されるので、エディタと標準をチェックして表示させてください。 |
|
プログラムが書き終えたら、デバッグ−ビルド(F7)を選べば、転送用の.motファイルがDebugフォルダ内に作られます。 | |
★上のプロジェクトファイルを開こうとすると、Standard
Toolchainが見つからないとのメッセージが出る場合があります。HEWのバージョンが低い場合などに出ると思われるのですが、 Toolchainを適当な場所にコピーし ワークスペースを閉じた状態で [ツール]→[アドミニストレーション]を開き、Toolchainsフォルダを開き、[登録]ボタンでToolchainを保存した場所を選ぶことで、使用できるようになります。 |
|
■ MOTファイルをマイコンボードに書き込む (Renesas FDT を使う) | |
出来上がった転送用MOTファイルをフラッシュ書込みツールでAKI-3664Nボードに書き込みます。 書き込みツールはRenesasで提供されている、フラッシュ開発ツールキット Flash Development Toolkit (FDT) をダウンロードして使用しました。 簡単に使えるのはBasicSimple Interface Modeで、スタートボタンを押すだけです。 |
|
初回起動時に各種設定のウィザードが出ますので、対象CPUを3664Fとし、クロックを16MHzに指定してください。クロック周波数が間違っていると接続できません。 使用方法は簡単で、右赤丸のところに転送するMOTファイルを選択してスタートボタンを押すだけです。 ボードに書き込む際は、AKI-3664N JP2とJP3をショートしておくのですが、P85ポートは今回の実験では使わないので、ショートしたままにしておき、JP3だけ書込みの時にショートになるよう、外部にスイッチを引き出しています。 |
|
JP3を元に戻して、リセットすればマイコンは動作を始めます。 フラッシュROMへの書込み回数ですが、H8/3664の場合100回程度ということになっていますが、他のサイトなどではかなりの回数書き込んでも大丈夫らしいです。私は下の理由で毎回フラッシュROMに転送して動作実験を行なっています。 (実験・学習用にモニタプログラムを書き込んでおいてRAMに実行ファイルを転送して動作させるという方法もあるようですが、3664のRAM領域が小さすぎて、LCDなどのルーチンが入るとRAM領域に入らなくなります) |
|
■ PC上でプログラムをシュミレーションしてみる (HEWシュミレーションデバッガを使う) | |
これが使いたくてRenesasのHEWをいじっていたのです。 なんと言っても、私のような初心者は動作をステップ動作で一つずつ追っかけられるのが、大変勉強になります。しかし、このシュミレーションデバッガは割り込みが使えないとか、実装した基板での動作を完全にシュミレーションで切るものではありません。しかし、工夫をすれば、プログラムのかなりの部分をシュミレーションできます。 |
|
シュミレーション・デバッガを使う時は、上図のようにコンフィグレーションをSimDebug_H8-300HNに、 セッションをSimSessionH8-300HNに切り替えます。 プログラムにバグがない状態でしたら、再度ビルドしabsファイル(上図青枠)をダウンロードします(absファイル上で右クリックするとダウンロードメニューが出る)。 ダウンロードといってもH8マイコンボードへのダウンロードではなく、シュミレータへのダウンロードという意味のようです。 |
|
■ブレークポイントを設定して実行してみる | |
プログラムを止めたい場所でF9キーを押し、ブレークポイントを設定し、デバッグ−リセット後実行(Shift+F5)をしてみてください。 ブレークポイントで止まったら、F10、F11キーでステップ動作を確認してください。 F10はステップオーバーですので、関数などの中へは入りません。F11はステップイン動作ですので、関数の中まで一行ずつ実行します。 |
|
■シュミレーション・デバッガ・・・I/Oレジスタを見る |
|
これで、シュミレーションする用意ができましたが、このままではサンプルに用意したキー入力プログラムはうまくシュミレーションで着ません。何故なら、キー入力はプルアップされていますので、ホートがHの状態でなければならないのですが、Lのままだからです。 メモリ表示をして、ポートの状態を見てみましょう。H8はメモリマップドI/Oですので、I/Oレジスタの内容はメモリを見るとわかります。 各ポートがどのアドレスかは、Renesas H8/3664グループ・ハードウェアマニュアル 19.レジスタ一覧を見てください。 |
|
メモリ表示ウィンドウは表示−CPU−メモリで表示されます。 表示開始アドレスを入力する画面になりますので、レジスタ開始アドレスFF80、スクロール開始アドレスもFF80とします。 すると、左図のようにメモリ内容が表示されます。 |
|
シュミレーションではスイッチのポートはLのままです。ということはスイッチを押し下げている状態のままということになります。 もっと見やすいI/Oレジスタの表示方法を紹介します。 メニューの表示−CPU−IOでI/OでI/O表示ウィンドウを表示します。デフォルトでは何も表示されていないと思います。これが曲者で、簡単に見られると思っていたのですが、そうはゆきませんでした。 |
|
I/Oレジスタの画面上で右クリック−IOファイルのロードを選ぶと、既定のファイル
( H8300N.io ) が表示されます。 |
|
■シュミレーション・デバッガ・・・仮想入出力パネルを使う | |
擬似I/O入出力をすることができます。こちらの画面上に入出力用のスイッチとLEDを作ってみました。それぞれに定義をしなければなりませんが、スイッチによる分岐の様子などをシュミレーションできます。 | |
表示−グラフィック−GUIを選択するとGUI
I/Oウィンドウが表示されます。こちらにスイッチやLEDを作ってゆき、定義ファイルを保存してください。 作成方法の詳細はインストールされているManual Navigatorにシュミレータ/デバッガ ユーザーズマニュアルがありますので、3.11 仮想入出力パネルを作成する の項を参照してください。 スイッチ部分の作成ポイントとしては、仮想入出力パネルのスイッチはタクトスイッチのようにはなりませんので、押したら押しっぱなしです。そこで、復帰のためにRESETというボタンを作成し、タクトスイッチを離しているときの状態を作れるようにしています。(ワークスペースの中に AKI3664N_IOtest.pnl という定義ファイルとして保存してありますので、参照ください) この仮想入出力パネルは大変便利で、先のIOレジスタウィンドウやメモリウィンドウを表示しておくと、スイッチによって各ビットの値が変化するのを確認できます。 |
|
上の図は、SW1を押し下げた時の表示の変化です。変化のあった部分が赤色に表示されます。 この他にも状態を見るのに、ローカルウィンドウやウォッチウィンドウなど、便利なものがありますので、マニュアルを参照に使用してみてください。 |
|
■ サンプルプログラムについて・・・PORTBの使い方 |
H8/3664のPORT B は8bitの汎用入力とA/D入力のいずれかで使えるようになっています。ところが、8bit全てを入力に使うためにはちょっと工夫が必要です。(RENESAS
アプリケーションノート参照) |
■ 次はLCDディスプレイの接続とタイマAによる簡単な割込みの実験です。 |
だんだんHEWの使い方に慣れてきました。使えば使うほど便利な機能があることに気がつきます。 |
Last up date
2007/9/12 改訂 2008/6/11 |
|