アブソリュ−トファイル指定でダウンロードする場合

ＤＥＦ Ｖｅｒ６．８０Ａより２００８年０３月１０日
エーワン Ｒｅｖ１．００

Ｈｅｗ（Ｖｅｒ４．０４）＋ＫＰＩＴ（ｖ０８０１）を使用した場合の新ワークスペースおよびプロジェクトを登録する方法（ＳＨ７０５１ ＢＯＯＴ版）
ＫＰＩＴ版の統合環境「Ｈｅｗ Ｖｅｒ４．０４」で H-debugger 用に新ワークスペース／プロジ
ェクトを登録する手順方法を説明します。
説明を明確にするために、名前等を仮に決めて例に沿って説明を進めます。

ワークスペース名
プロジェクト名
登録モジュール名

KPIT7051̲ABSProjectSH7051.c
KpitDebugSH2.h

KPIT 添付ファイル

start.asm
hwinit.cvects.cinthandler.c
iodefine.h
inthandler.hSH7051F

Ｃ
ヘッダ

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

ＡＳＭ
ＣＣＣ
ヘッダ
ヘッダ

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

ＣＰＵタイプ【ポイント】「ＳＨ−２ ＢＯＯＴ版」の場合、Ｈｅｗデフォルト設定から変更に必要な箇所は、１）コンパイラの「Ｏｂｊｅｃｔ」項目を変更する。
２）モニタ（ファーム）エリアの確保の為、セクションアドレスを変更をする。の２点になります。

1

１．新ワークスペースの登録方法“HEW”起動させます。

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

KPIT7051̲ABS
Project
C:\Hew4\KPIT\KPIT7051
SuperH RISC engine
KPIT GNUSH[ELF]
Application

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

[1-3]
ＣＰＵスペックを選択します。
①SH2②SH7051F

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

Ｎｅｘｔ＞をクリックします。

2[1-5]
シミュレータの設定ですが使用しませんのでチェック無しの状態で、Ｎｅｘｔ＞をクリックします。
[1-6]
作成されるファイル一覧表示です。

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

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

ＯＫをクリックします。

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

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

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

削除をクリックします。

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

OK をクリックします。

5

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

HP よりダウンロードします。
（ＧＮＵ／ｇｃｃ）
KPIT7051_ABS_v0801.LZH[3-1][プロジェクト][ファイルの追加]をクリックします。

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

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

6

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

[4-2]［Ｏｂｊｅｃｔ］タグ①Optimization : None(Default)②Debug level : Level2:Standard(Default)③Debug format:DWRAF に指定する。
④Object directory : (Default)状態

ＯＫをクリックします。

7

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

[5-2]［Ａｒｃｈｉｖｅｓ］タグ
デフォルト状態です。
（変更の必要なし）[5-3]［Ｉｎｐｕｔ］タグ
基本的には何も設定しなくて良いですが、各モジュールのリンク順番を指定したい場合に全モジュールをここで指定します。
① vects.o② start.o③ inthandler.o④ hwinit.o⑤ SH7051.o8[5-4]［Ｏｕｔｐｕｔ］タグ①Output Directory : (Default)②Endian: Big endian(Default)③Output format :Both(Default and S-Record)
すべて、デフォルトです。

[5-5]［Ｓｅｃｔｉｏｎｓ］タグ.text セクションの開始アドレスを確認します。
（モニターエリアを空ける為）①.text セクションの開始アドレスが【0x1000】になっているのを確認します。.

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

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

9[5-7]③Start address: 【Fixed address】に選択します。
④Address: .data セクションの先頭アドレスを指定します。
ソースブレークを使用する場合【0xFFFFD840】
ソースブレークを使用しない場合 【0xFFFFD800】＜DEF バージョン 6.50A より＞
ソースブレークを使用する場合は、モニタワーク方式をスタック方式にして下さい。
⑤ＯＫをクリックします。

[5-8]［Ｓｅｃｔｉｏｎｓ］タグ.stack セクションのアドレスを指定します。
ここでの指定値は、スタックポインタへの初期設定値になります。

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

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

10

６．割り込みハンドラへ登録します。
目的： 今回説明に使用したモジュール「SH7051.c」は、Timer6（ベクター１２８）の割り込みを使用していますので、割り込みハンドラへ登録します。
[6-1]① inthandler.c を選択します。
②void INT_ATU6_CMI6(void) { Timer6(); }の関数を記述します。
【注意】①「vects.c」の２５６ベクターに「INT_Dummy」が登録されています。これは 0x400 番地を超えますし、意味の無い登録ですので削除します。
（このサンプルでは、削除済みです。
）

11

７．スタートアップ「start.asm」の説明です。
目的： スタートアップ「start.asm」に実際は不要なソースコードがありますが、その補足説明です。
[7-1]①35 行目に「ｍｏｖ．ｌ ｓｔａｃｋ，ｒ１５」と記述してあります。本来 SH-2 の場合は、ベクタ１にスタックポインタ値が格納されており、リセット解除時にハード側にて設定されます。
しかし、デバッガ側でリセットコマンドを発行した場合、リセット解除後、NMI を起動し、PC 値をベクター０値に書き換えています。つまりリセット解除後、NMI 起動までにタイムラグがある為、ターゲット CPU は若干実行しますのでスタックポインタ値が変わってしまいます。
この行にように再設定するのはＳＰ値の復帰になりますので意味のあることになります。
又、デバッグ終了時でも、このソース行を残しておいても問題ありません。
②他の方法としては、今迄弊社が推奨しているソフトタイマー１〜２００ｍｓを入れる方法もあります。この方法ですと NMI 起動まではソフトタイマ処理中ですのでスタックポインタも内部 I/Oレジスタの内容も書き変りません。
どちらにするかは、それぞれの事情によって選択して下さい。

12

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

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

13

９．ＤＥＦでの確認
１）アブソリュートファイル指定でのダウンロードを指定する。
[9-1]＜ファイル＞−＜アブソリュ−ト設定＞を指定します。

２）設定します。
[9-2]
左画面のように「チェック レ」を入れて下さい。
Ｈｅｗデフォルト設定の状態で使用する場合は、[-r]をチェックしないで下さい。
アブソリュ−トファイルから直接「*.SYM/*.LIN」ファイルを作成します・

この設定は記憶します。

14３）ダウンロードします。
[9-3]＜ファイル＞−＜ダウンロード＞を指定します。
左画面の通り、ファイル指定後「開く」をクリックしますとダウンロードを開始します。
＜Debug＞ホルダ−がデフォルト位置になります。
４） ＜ｓｔａｒｔ．ａｓｍ＞の確認[9-4]①１０００H 番地にスタックポインタの設定コードがあります。
②ＳＰ値が「0xFFFFFFFC」値になっているのが確認できます。
これで「Ｈ−ｄｅｂｕｇｇｅｒ」用の設定作業が終了です。

以上
15