ＨＥＸファイル指定でダウンロードする場合

２００９年０４月２４日
Ｂｙ エーワン Ｒｅｖ１．２６

統合環境Ｈｅｗ（Ｖｅｒ４．０４）添付スタートアップ関数を使用した場合の新ワークスペースおよびプロジェクトを登録する方法（Ｈ８Ｓ／２６１２ ＢＯＯＴ版）
ルネサスＣ言語用統合環境「Ｈｅｗ Ｖｅｒ４．０４」で H-debugger 用に新ワークスペース／プロジェクトを登録する手順方法を説明します。
説明を明確にするために、名前等を仮に決めて例に沿って説明を進めます。
ワークスペース名
プロジェクト名
登録モジュール名

ReneH8S2612̲Hew4
Project
H8s2612.c
Ｃファイル
HewDebugH8.h ヘッダファイル

メインモジュール（アプリ用）
ソフトパーツ用定義ファイル（ソフトパーツを使用しない場合は不要です。
）

Ｈｅｗ添付ファイル Resetprg.c
Intprg.cDbsct.c
iodefine.h
ＣＰＵタイプH8S/2612

Ｃファイル

ヘッダファイル

スタートアップモジュール
割込みベクターモジュール
定数転送用セクション管理宣言
I/O 定義ビットフィールド記述用

１．新ワークスペースの登録方法“HEW”起動させます。
[1-1]“新規プロジェクトワークスペース”をチェックしてのＯＫをクリックする。
もしくは、キャンセル後に、[ファイル][新規ワークスペース]をクリックします。
[1-2]
ﾜｰｸｽﾍﾟｰｽ名
ﾌﾟﾛｼﾞｪｸﾄ名
ﾃﾞｨﾚｸﾄﾘCPU 種別ﾂｰﾙﾁｪｲﾝﾌﾟﾛｼﾞｪｸﾄ

“ReneH8S2612̲Hew4”“Project”“C:\Hew4\Renesas”“H8S,H8/300”“Hitachi H8S,H8/300 Standard”
Application

この項目を確認後、ＯＫをクリックして下さい。

1[1-3]CPU ｼﾘｰｽﾞを“2600”に選択する。
CPU ﾀｲﾌﾟを“2612”に選択する。
確認後、次へ＞をクリックします。
[1-4]
ＣＰＵスペックを確認後次へ＞をクリックして下さい。
[1-5]①I/O ライブラリを使用しませんのでチェックを外して下さい。
②ヒープメモリを使用しませんのでチェックを外して下さい。
main() 関数生成は”None”に選択する。
③I/O レジスタ定義ファイルは使用しますのでチェックして下さい。
ハードウェアセットアップ関数生成は”None”に選択する。
確認後、次へ＞クリックして下さい。

2[1-6]
Ｃ言語ライブラリの選択です。この例では、その他ライブラリを使用しません。

次へ＞クリックして下さい。
[1-7]
スタックボトムの設定です。
ＲＡＭ位置を示す為「H’FFEFBE」にする。
スタックサイズはデフォルト値にします。

次へ＞をクリックして下さい。
[1-8]
ここで明示されたＨｅｗ作成スタートア
ップ関数を使用しますので、デフォルトの状態で、次へ＞をクリックして下さい。

3[1-9]
シミュレータの設定ですが使用しません
のでチェック無しの状態で、次へ＞クリックして下さい。

[1-10]
ここで最終になります。
使用するＣモジュールを表示します。

この状態で完了をクリックして下さい。
[1-11]
確認画面が表示されますので、ＯＫをクリックして下さい。
ここまでの操作が新規プロジェクトの登録方法です。

4

２．プロジェクトに希望モジュール（ソースファイル）を登録する方法
準備： 作成済みの２ファイルを”C:\Hew4\Renesas\ReneH8S2612̲Hew4\Project”にコピーします。
H8s2612.c
HewDebugH8.h

HP よりダウンロードします。
（ルネサスＣ）
ReneH8S2612_Hew4.LZH[2-1][プロジェクト][ファイルの追加]をクリックします。

[2-2]
下記１ファイルを指定して下さい。
h8s2612.c
選択後、追加をクリックします。
この操作によりプロジェクトにモジュールが登録されました。

5

３．シンボルコンバータ「ＨＣｓｙｍｃｏｎｖ」を登録する。
[3-1][ビルド][ビルドフェーズ]をクリックします。

[3-2]

追加をクリックします。
[3-3]次へ＞をクリックします。
[3-4]
単一フェーズ側にチェックをします。

次へ＞をクリックします。

6[3-5]①フェーズ：SymbolConvert②コマンド：C:¥ProgramFiles¥Aone¥DEF¥
HCsymconv.exe を選択する。
③初期ディレクトリ：$(CONFIGDIR)

次へ＞をクリックします。
[3-6]

完了をクリックします。
[3-7]ＯＫをクリックします。
[3-8][ビルド][ＳｙｍｂｏｌＣｏｎｖｅｒｔ]をクリックします。

7[3-9]オプションに下記内容を設定する。
"$(CONFIGDIR)¥$(PROJECTNAME)" -o "$(PROJDIR)¥$(PROJECTNAME)"（入力ファイル名）（出力先名）
注意事項① ディレクトリ名にʻ ʼスペースを使用している場合は、“ダブルクォートで囲んで下さい。
“$(CONFIGDIR)¥$(PROJECTNAME)”-o “$(PROJDIR)¥$(PROJECTNAME)”② $(PROJECTNAME)の先頭に「¥」記号を挿入して下さい。
（手入力）③ オプションＳＷ「−ｏ」の両端には、スペースを入れてください。
（手入力）④ この設定例は、後説明の「*.mot」ファイルの生成されるディレクトリと同じ場所にシンボルコンバータが生成する「*.sym/*.lin」を置く為の指定です。
＜コンフィグレーション DIR＞に生成させたい場合は、“$(CONFIGDIR)¥$(PROJECTNAME)”の指定のみで構いません。
この場合は「*.mot」の生成場所を同じく＜コンフィグレーション DIR＞にして下さい。
追加事項（ＨＣｓｙｍｃｏｎｖ．ｅｘｅ スイッチ説明）
１）［−ｏ］（省略可）出力ファイル名を指定
２）［−ｒ］（省略可）モジュール毎のディレクトリ情報を作成しない。ELF 専用(Ｖｅｒ３．２ｘｘから）
３）［−ｓ］（省略可）ラインシンボル情報をソート（アドレス順）しない。(Ｖｅｒ３．２ｘｘから）４）［−ｉ］（省略可）重複モジュール情報を削除する。(Ｖｅｒ３．３ｘｘから）５）［−ｇ］（省略可）スタティック変数をグローバル化する。(Ｖｅｒ３．６ｘｘから）６）［−ｍ］（省略可）重複モジュール情報を C ソースにマージする。(Ｖｅｒ３．８０Ｂから）
７）［−ｆ］（省略可）使用インクルードファイルを CView に登録する。(Ｖｅｒ３．８０Ｂから）

8

４．ツール（ライブラリ）の設定
ＨＥＷは、プロジェクトごとにＣ言語用ライブラリを作成する仕様になっています。
ライブラリを作成および設定の確認をします。
[4-1][ビルド][H8S,H8/300Standard Toolchain]をクリックします。

[4-2][標準ライブラリ]タグをクリックする。

[4-3]
カテゴリのモードが「ライブラリファイル作成（オプション変更時）」指定になっている事を確認します。
この指定によりオプション変更時のみライブラリを作成する事になります。
デフォルトのままでＯＫをクリックする。

9

５．ツール（リンカ）の設定[5-1][ビルド][H8S,H8/300Standard Toolchain]をクリックします。

[5-2]「最適化リンカ」タグをクリックする。

[5-3]①カテゴリの「出力」を選択する。
②出力形式の「Ｓタイプ（ＥＬＦ／ＤＷＡＲＦアブソリュート付き）」を選択する。
③デバッグ情報の「デバッグ情報ファイル(*.dbg)出力」を選択する。
④「出力ファイル」の変更をクリ(重要)ックします。
シンボリックデバッグを可能にするために必要な設定です。

10[5-4]
相対パスを「Project directry」に設定します。
ＯＫをクリックする。

(重要)この指定は、ＨＥＸファイルをＣソースファイルのある同じディレクトリに置くための設定です。絶対条件として、「＊．ｍｏｔ／＊．ｓｙｍ／＊．ｌｉｎ」は、同じ場所に置く必要があります。
ＨＣｓｙｍｃｏｎｖで出力ファイルを「Configuration directory」にした場合は、上記の指定も「Configuration directory」にして下さい。今回の使用例は、「Projectdirectry｣になっています。

[5-5]
カテゴリの「セクション」を選択する。
下図のようにセクション指定をする。
（モニタエリア確保のため）ＯＫをクリックする。
0x00000800 PResetPRG
PIntPRG
0x00000C00 PC
C$DSEC
C$BSEC
D
0x00FFE000 B
R
0x00FFEDBE S(重要)

ＤＥＦ ６．５０ｘからソースブレーク用ワークエリアは、ＲＡＭ２を使用します
ので「Ｂセクション」は、０ｘＦＦＥ０００で構いません。
ただし、ソースブレークを使用する場合は、モニタワーク方式をスタック方式に選択して下さい。

11６．スタートアップおよびベクターの変更と追加
１） ＜ｒｅｓｅｔｐｒｇ．ｃ＞の変更[6-1]① set_imask_ccr((_UBYTE)1) をコメントにします。
② set_imask_ccr((_UBYTE)0) をコメントにします。

(理由)
ここの例ですと main()関数
内で I/O 初期化および割り込み許可をしていますので、ここでは割り込み禁止状態にしておきます。

２） ＜ｉｎｔｐｒｇ．ｃ＞の変更[6-2]
今回使用の「H82612.c」は、TPU0 の TGIA0 割り込みを使用した例ですのでベクターを設定をします。
①「vector 32」に「Timer0();」関数を登録します。

12３） コンパイラの「最適化」を外す[6-3]①[ビルド］[H8S,H8/300Standard Toolchain]をクリックします。
②「コンパイラ」を選択③カテゴリ「最適化」を選択④「最適化」のチェックを外す。

⑤ＯＫをクリックする。

13４）割込みモード２ ＜Ｈ８Ｓ２６１２．ｃ＞の説明 H-debugger の為[6-4]
main()関数の最初に①割込みモード２にする。
SYSCR.BIT.INTM = 2; (iodefine.h)②プライオリティ６以下の割り込みを禁止する。
set_imask_exr(0x6);③ソフトタイマ（推奨）SoftWait(400); 400ms又はSoftWait(1); 1ms（ハード構成による。
）④I/O および変数の初期化をする。
⑤割込みを許可する。
set_imask_exr(0);
注記 この例は、ルネサス提供の「iodefine.h」を使用したサンプルです。
「io261x.h」を使用した場合は、その定義に合わせた IO 記述の変更が必要です。
【割込みモード２にする理由】
Ｈ８Ｓ／２６００シリーズのトレース機能を有効にする為です。
【プライオリティ６以下の割り込みを禁止する理由】
Ｈ８Ｓ／２６００シリーズでのＰＣブレークコントローラ（ＰＢＣ）の割り込みプライオリティを７（最優先）で動作させる為です。下記方法のどちらかを都合に応じて実施して下さい。
この記述が無いとＰＢＣ割り込みを受け付けませんのでブレークさせる事が出来なくなります。
【方法 1】 「set_imask_exr(0x6)」を記述する。
【方法 2】 ＤＥＦ操作でのショートＰＢ「DＩ」をクリックする。
(注意)

上記②と③の記述は I/O 初期化およびメモリ初期化関数のデバッグを可能にする為の記述です。
初期化関数のデバッグが完成しましたら削除する事を推奨します。
なぜなら、初期化完了する前にプライオリティ７の割り込みが発生する可能性があるシステムの場合は、割り込みを禁止しておく必要があるからです。

５）割込みモード０の場合 H-debugger の為ブレークポイント又はトレース／ステップ実行をさせたい場合は、割込みが許可状態になった時点から有効になりますので下記方法のどちらかを都合に応じて実施して下さい。
なお、トレース／ステップはブレークポイントを利用したソフト判定での実施となります。
【方法①】 「set_imask_ccr(0)」の割込み許可を記述する。
【方法②】 ＤＥＦ操作でのショートＰＢ「ＥＩ」をクリックする。

14

７．ビルドの実行[7-1][ビルド］[すべてをビルド]をクリックします。

[7-2]「0 Error 0 Warnings」になり作業終了です。

15

８．ＤＥＦでの確認
１） ＜ｒｅｓｅｔｐｒｇ．ｃ＞の確認[8-1]
８００Ｈ番地にスタックポインタの設定プログラムが確認できます。

２） ＜Ｈ８Ｓ２６１２．ｃ＞の確認（main 関数）[8-2]
ブレークポイントを当て、８００H 番地から実行させブレークさせた確認画面です。

これで「Ｈ−ｄｅｂｕｇｇｅｒ」用の設定作業が終了です。
以上

16