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

２００８年０４月１８日
Ｂｙ エーワン Ｒｅｖ１．２３Ｈｅｗ（Ｖｅｒ４．０４）＋ＫＰＩＴ（ｖ０７０３）を使用した場合の新ワークスペースおよびプロジェクトを登録する方法（Ｈ８S／２３７８Ｆ Ｈ−ＵＤＩ版）
ＫＰＩＴ版の統合環境「Ｈｅｗ Ｖｅｒ４．０４」で H-debugger 用に新ワークスペース／プロジ
ェクトを登録する手順方法を説明します。
説明を明確にするために、名前等を仮に決めて例に沿って説明を進めます。
ワークスペース名
プロジェクト名
登録モジュール名

KPIT2378
Project
H8S2378.c
KpitDebugH8̲2.hＣ
ヘッダファイル

メインモジュール（アプリ用）
ソフトパーツ用定義ファイル

KPIT 添付ファイル

start.asm
hwinit.cvects.cinthandler.c
sbrk.ciodefine.h

ＡＳＭ
ＣＣＣＣ
ヘッダファイル

inthandler.h
H8S/2378F

ヘッダファイル

スタートアップモジュール
ハード初期化用モジュール
リセット／割込みベクタ−テーブル
割込みハンドラー用
ヒープメモリ−用I/O 定義ビットフィールド記述用(一部修正しました。)
割込みハンドラー用（ソフトパーツを使用しない場合は不要です。
）

ＣＰＵタイプ

１．新ワークスペースの登録方法[1-1]“HEW”起動させます。
“新規プロジェクトワークスペース”をチェックしてのＯＫをクリックする。
または、キャンセル後に、[ファイル]-[新規ワークスペース]をクリックします。

[1-2]
ﾜｰｸｽﾍﾟｰｽ名
ﾌﾟﾛｼﾞｪｸﾄ名
ﾃﾞｨﾚｸﾄﾘCPU 種別ﾂｰﾙﾁｪｲﾝﾌﾟﾛｼﾞｪｸﾄ

KPIT2378
Project
C:\Hew4\KPIT\KPIT2378
H8S,H8/300
KPIT GNUH8[ELF]
Application

この項目を設定確認後ＯＫをクリックして下さい。
1[1-3]
ＣＰＵスペックを選択します。
①2000②2378R

Ｎｅｘｔ＞をクリックします。
[1-4]
ＣＰＵオプションを選択します。
①「Operation Mode」<Advanced>を選択します②「Use Optimized Libraries」
チェックを外します

Ｎｅｘｔ＞をクリックします。
[1-5]
シミュレータの設定ですが使用しませんのでチェック無しの状態で、Ｎｅｘｔ＞をクリックします。

[1-6]
作成されるファイル一覧表示です。

Ｆｉｎｉｓｈ＞をクリックします。

2

[1-7]
最終確認画面です。

ＯＫをクリックします。

ここまでの操作が新規プロジェクトの登録方法です。

3２．プロジェクトから不要モジュール（ソースファイル）を削除します。
目的： ＫＰＩＴにより準備されたモジュールを使用しない場合に削除しておきます。
[2-1]
今回の使用例では下記１ファイルを削除します。
① Project.c[2-2]［プロジェクト］−［ファイルの削除］をクリックします。

[2-3]① Project.cの１ファイルを選択する。

削除をクリックします。

4[2-4]
確認画面です。

OK をクリックします。

5

３．プロジェクトに希望モジュール（ソースファイル）を登録します。
準備： 作成済みの３ファイルを”C:\Hew4\KPIT\KPIT2378\Project”にコピーして下さい。
H8S2378.c
KpitDebugH8̲2.hiodefine.h

HP よりダウンロードします。
（ＧＮＵ／ｇｃｃ）
KPIT2378_v0703_1.LZH
一部修正しましたので Copy して下さい。

[3-1][プロジェクト][ファイルの追加]をクリックします。

[3-2]
登録ファイルを選択します。
① H8S2378.c

追加をクリックします。
この操作によりプロジェクトにモジュールを登録します。

6

４．シンボルコンバータ「GＣｓｙｍｃｏｎｖ」を登録します。
目的：H-debuggerでシンボリックデバッグする為にアブソリュートファイル【Project.x】からシンボル情報抽出します。
準備：KPIT 用シンボルコンバータ【GCsymconv.exe】をホームページよりダウンロードし解凍後、DEF インスト−ルＤＩＲ「C:¥Program Files¥Aone¥DEF」下にコピーして下さい。

[4-1][ビルド][ビルドフェーズ]をクリックします。

[4-2]

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

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

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

完了をクリックします。
[4-7]

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

8[4-9]①オプションに下記内容を設定する。
"$(CONFIGDIR)¥$(PROJECTNAME).x"（入力ファイル名）②ＯＫをクリックします。
注意事項①ディレクトリ名にʻ ʼスペースを使用している場合は、“”ダブルクォートで囲んで下さい。
“$(CONFIGDIR)¥$(PROJECTNAME).x”②$(PROJECTNAME)の先頭に「¥」記号を入力して下さい。
（手入力）③オプションＳＷを使用する場合は両端にスペースを入れてください。
（手入力）
追加事項（スイッチ説明）
１）［−ｏ］（省略可）出力ファイル名を指定
２）［−ｒ］（省略可）モジュール毎のディレクトリ情報を作成しない。
３）［−ｓ］（省略可）ラインシンボル情報をソート（アドレス順）しない。
４）［−ｉ］（省略可）重複モジュール情報を削除する。
５）［−ｇ］（省略可）スタティック変数をグローバル化する。(Ｖｅｒ１．２０ｘから）
６）［−ｍ］（省略可）重複モジュール情報を C ソースにマージする。(Ｖｅｒ１．４０Ｂから）
７）［−ｆ］（省略可）使用インクルードファイルを CView に登録する。(Ｖｅｒ１．４０Ｂから）

9

５．コンパイラーオプションの確認と設定をします。
目的： H-debugger でシンボリックデバッグを可能にする為、コンパイラーオプションの確認と設定をします。
[5-1][ビルド][Ｃｏｍｐｉｌｅｒ]をクリックします。

[5-2]［Ｓｏｕｒｃｅ］タグ①「Macro defines」
Ａｄｄをクリックします。

[5-2-1]②Define: 「ROMSTART」を登録します。
③Value: 「１」を登録します。
④ＯＫをクリックします。
初期値を ROM-->RAM にコピーする為の重要な設定です。
[5-3]［Ｏｂｊｅｃｔ］タグ①Optimization : None(Default)②Debug level : Level2:Standard(Default)③Debug format:DWRAF に指定する。
④Object directory : (Default)状態

ＯＫをクリックします。
10

６．リンカーオプションの確認と設定をします。
目的： H-debugger でシンボリックデバッグを可能にする為、リンカーオプションの確認と設定をします。
[6-1][ビルド][Ｌｉｎｋｅｒ]をクリックします。

[6-2]［Ａｒｃｈｉｖｅｓ］タグデフォルト状態です。
（変更の必要なし）【ＨｏｗＴｏ】「Archive search directories」の情報が何らかの原因により変わってしまった場合、「Use Optimised Libraries」のチェック覧を付けて外しますとデフォルト状態に戻ります。

[6-3]［Ｉｎｐｕｔ］タグ
基本的には何も設定しなくて良いですが、各モジュールのリンク順番を指定したい場合に全モジュールをここで指定します。
① vects.o② start.o③ inthandler.o④ hwinit.o⑤ sbrk.o⑥ H8S2378.o11[6-4]［Ｏｕｔｐｕｔ］タグ①Output Directory : (Default)②Endian: Big endian(Default)③Output format :Both(Default and S-Record)
すべて、デフォルトです。

[6-5]［Ｓｅｃｔｉｏｎｓ］タグ.text セクションの開始アドレスを変更します。
デフォルトで「0x400」になっています。
「0x200」番地から可能ですが、DTC ベクターテーブルを考慮して「0x500」番地に変更します。
①.text セクションを選択します。
②【Modify】PB をクリックします。

[6-6]③Address: を「0x500」に変更します。
④ＯＫをクリックします。

12[6-7]［Ｓｅｃｔｉｏｎｓ］タグ.data セクションのアドレスを変更します。

①.data セクションを選択します。
②【Modify】PB をクリックします。

[6-8]③Start address: 【Fixed address】に選択します。
④Address: .data セクションの先頭アドレスを指定します。
【0xFF4000】
ソースブレーク使用の指定の場合でも内臓ＲＡＭは使用しません。
⑤Advanced をクリックします。

[6-9]⑥「Reserve memory for section mapping」をチェックする。
⑦Map address:【Label】にする。
⑧Label:【_mdata】⑨ＯＫをクリックします。
初期値を ROM-->RAM にコピーする為の重要な設定です。
[6-10]［Ｓｅｃｔｉｏｎｓ］タグ.stack セクションのアドレスを指定します。
ここでの指定値は、スタックポインタへの初期設定値になります。

①デフォルト値「0xFFC000」を確認する。
②ＯＫをクリックします。

13

７．割り込みハンドラへ登録します。
目的： 今回説明に使用したモジュール「H8S2378.c」は、TimerA（ベクター７２）の割り込みを使用していますので、割り込みハンドラへの登録をします。
[7-1]① inthandler.c を選択します。
②void INT_CMIA0_TMR0(void) { TimerA(); }の関数を記述します。

14

８．ビルドを実行します。
目的： コンパイル／アセンブリ／リンクロケート／GCsymconv を実行させる為、ビルドを実行します。
[8-1][ビルド][ビルド]をクリックします。

[8-2]↑のように「0 Errors, 0 Warnings」になれば成功です。

15

９．ＤＥＦでの確認[9-1]①５００Ｈ番地にスタックポインタの設定プログラムが確認できます。

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

以上

16