SSブログ

H8開発環境HEWのウイザードを使ってプロジェクトを作成する。& 構成ファイルを眺めてみる。 [HEW & HTERM]

まずは、プロジェクトの生成ウイザードを簡単に解説して行きます。
hew_image_03.png HEWを起動した時に出るダイアログボックスからウイザードを起動して新規にプロジェクトを作成する事ができます。どんどん行きましょう。
hew_image_04.png ワークスペース名やプロジェクト名、CPU種別等を設定するダイアログです。 ワークスペース名は適当にsampleとしました。CPU種別はH8/300H、ツールチェインはやはりH8/300H用を使用します。
hew_image_05.png ツールチェインバージョン、CPUシリーズ、CPUを選択して行きます。今回使用するのはH8/Tinyシリーズの3694Fです。このマイコンはH8/300Hのコアを搭載し、Normalモード(アドレス範囲が64K以下)で動きます。
hew_image_06.png とりあえずこの画面では特に選択しないで先に進みます。 ※ちら!っと見えている「引数格納レジスタを2つから3つに変更」と言うのもなかなか面白いオプションですが。
hew_image_07.png HEAPメモリはmalloc等を使う時に必要となります。動的にメモリを確保しないのならば、ここのチェックは外した方が良いでしょう。
hew_image_08.png 使用したい標準ライブラリにチェックを入れて置きます。いまここで入れなくても、後ほど追加、削除も出来ます。
hew_image_09.png リセットスタート時にスタックポインタを設定しますが、その時の値とトータルのスタック使用サイズを指定します。 H8/3694FのRAM領域はデータシートから0xF780~0xFF7Fの2Kbyteとなっていますので、この値はSRAMの底を指定している事となります。

※SRAMの最後だから”0xFF7F”とはなりません。スタック操作はPre Decrement(先に減算を行ってから)で行われますので、最初のスタック操作(PUSH)時に”0xFF80 - 2”してからそのアドレスに値が代入されるからです。また、スタックポインタは必ず2byte境界である必要があります。
hew_image_10.png ここはチェックを入れたまま先に進みます。
hew_image_11.png HEW付属のシミュレーターを使う場合はここにチェックを入れて先に進みます。シミュレーターを使わない場合はチェックを入れずに完了ボタンをクリックします。 ※画面はチェックを入れてしまっていますが、今回はシミュレーターを使わない選択としますので、ここで完了します。




hew_image_14.png ウイザードが完了するとsampleと言う名のワークスペースフォルダーが作成されています。

中身のsample.hwsがこのワークスペースの登録情報を管理しているファイルです。

前の方で異なるディレクトリを指定している様にも見えますが、そんな細かい事は気にしてはいけません!。これを書いたからと言ってお金貰える訳ではないので鷹揚に行きましょう。
hew_image_15.png 今度はプロジェクトフォルダーの中身を見てみます。sampleプロジェクトフォルダーの下に「Debug」と「Release」のフォルダーが存在しますが、これはプロジェクトを例えばデバック時や、最終的に製品にインストールするリリース時等に設定を変えてビルド管理できるようにデフォルトで用意されたものです。

例えばデバック時には最適化オプションを緩めに設定してデバックし易くし、リリース時には最適化を最大に掛けて性能を追求するとかの使い分けです。まあ、私自身は使い分けを全然していませんが。
hew_image_17.png ウイザードが完了したらおもむろにビルドしてみて下さい。ファイルメニューの「ビルド(B)」→「ビルド(B)」です。

しばらくごそごそ動いて最終的にはHEWの一番したのペインに表示されている状態になればOKです。

1つのWarningはセクションの設定には”C"セクション(定数領域)が設定されているにもかかわらず、実際には存在していないからです。まあそれはそうです。まだプログラムを一行も組んでいませんから。
hew_image_18.png ビルドが完了するとDebugフォルダーの中身が図の様になりました。今回はデフォルトセッションである「Debug」でビルドを掛けたのでこのフォルダー以下に中間ファイルやロードモジュール等が作成されています。
hew_image_16.png これを前回紹介したワークフローの図に当て嵌めてみます。ちょっと見難いですが我慢して下さい。

また、最終的にはHEXファイルであるモトローラーSフォーマット形式のsample.motも同時にこのフォルダーに出来上がっています。ROMライター等を使用してH8マイコンにプログラムを書き込む時はこちらのmotファイルを使用します。※デバックの時はsample.absを使用します。



ウイザードが作成したファイルの内、重要なファイルに付いて簡単に解説しておきます。
dbsct.c データセクションの初期化を行う時の参照情報が納められています。
intprg.c 割り込みベクターアドレス及び、割り込みサービスルーチンのエントリー関数が納められています。

ウイザード中に「ベクターテーブル定義」にチェックが入っていた場合に生成されます。
resetprg.c リセット直後に実行されるプログラム(通常CRTと呼ばれる)処理が書かれています。

最終的にはここから関数mainが呼ばれます。
sample.c 関数mainが納められています。ユーザーはこのファイルを編集する事になります。なお、ファイル名はプロジェクト名が付けられています。
sbrk.c ウイザード中にHEAPを使う様に設定した場合に、HEAP領域の管理を行う処理が書かれています。
sbrk.h ウイザード中にHEAPを使う様に設定した場合の、HEAPサイズが定義されています。
iodefine.h 使用するマイコンのIOレジスタを、アクセスし易い様に構造体定義したファイルです。

ウイザード中に「IOレジスタ定義ファイル」にチェックが入っていた場合に生成されます。
stacksct.h ウイザード中に設定したスタックサイズが定義されています。



通常はワークフローで「自前で用意する必要があるファイル」と紹介したファイルも、ウイザードを使うと黙っていてもここまで作成してくれちゃいます。
昔HEWがリリースされた頃、こう言った便利な機能に「おっ!」って思った物ですが、最近色々なIDEを使っていますが、もう当然の機能となっていますね。
某Aと言う開発環境が、「割り込みベクターやCRTを書かなくてもマイコンが使えるから便利だ!」と紹介されているのを見たりしますが、IDEを使用した一般的なマイコンの開発現場ではもう何年も前からあたり前になっているの事なので、一体どんな環境と比較して優位だと言っているのかな?。

ITRONプログラミング入門―H8マイコンとHOSで始める組み込み開発

ITRONプログラミング入門―H8マイコンとHOSで始める組み込み開発

  • 作者: 濱原 和明
  • 出版社/メーカー: オーム社
  • 発売日: 2005/04/25
  • メディア: 単行本



C言語でH8マイコンを使いこなす

C言語でH8マイコンを使いこなす

  • 作者: 鹿取 祐二
  • 出版社/メーカー: オーム社
  • 発売日: 2003/10
  • メディア: 単行本



H8マイコン完全マニュアル

H8マイコン完全マニュアル

  • 作者: 藤沢 幸穂
  • 出版社/メーカー: オーム社
  • 発売日: 2000/12
  • メディア: 単行本



nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。