hew(ver4.04)+kpit-gnu(v0703)を使用した場合の ...h8sx1653.c kpitdebugh8_2.h...

16
1 HEXファイル指定でダウンロードする場合 2008年04月18日 By エーワン Rev1.23 Hew(Ver4.04)+KPIT-GNU(v0703)を使用した場合の 新ワークスペースおよびプロジェクトを登録する方法 (H8SX/1653 H-UDI版) KPIT版の統合環境「Hew Ver4.04」で H-debugger 用に新ワークスペース/プロジ ェクトを登録する手順方法を説明します。 説明を明確にするために、名前等を仮に決めて例に沿って説明を進めます。 ワークスペース名 KPIT1653 プロジェクト名 Project 登録モジュール名 H8SX1653.c KpitDebugH8_2.h ヘッダファイル メインモジュール(アプリ用) ソフトパーツ用定義ファイル (ソフトパーツを使用しない場合は不要です。) KPIT 添付ファイル start.asm hwinit.c vects.c inthandler.c sbrk.c iodefine.h inthandler.h ASM ヘッダファイル ヘッダファイル スタートアップモジュール ハード初期化用モジュール リセット/割込みベクタ-テーブル 割込みハンドラー用 ヒープメモリ-用 I/O 定義ビットフィールド記述用 (一部修正しました。) 割込みハンドラー用 CPUタイプ H8SX/1653F 1.新ワークスペースの登録方法 HEW”起動させます。 [1-1] 新規プロジェクトワークスペースをチェッ クしてのOKをクリックする。 または、キャンセル後に、[ファイル]-[新規 ワークスペース]をクリックします。 [1-2] ワークスペース名 KPIT1653 プロジェクト名 Project ディレクトリ C:\Hew4\KPIT\KPIT1653 CPU 種別 H8S,H8/300 ツールチェイン KPIT GNUH8[ELF] プロジェクト Application この項目を設定確認後OKをクリックし て下さい。

Upload: others

Post on 07-Sep-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Hew(Ver4.04)+KPIT-GNU(v0703)を使用した場合の ...H8SX1653.c KpitDebugH8_2.h iodefine.h HP よりダウンロードします。(GNU/gcc) KPIT1653_v0703_1.LZH

1

HEXファイル指定でダウンロードする場合 2008年04月18日 By エーワン Rev1.23

Hew(Ver4.04)+KPIT-GNU(v0703)を使用した場合の

新ワークスペースおよびプロジェクトを登録する方法

(H8SX/1653 H-UDI版) KPIT版の統合環境「Hew Ver4.04」で H-debugger 用に新ワークスペース/プロジェクトを登録する手順方法を説明します。 説明を明確にするために、名前等を仮に決めて例に沿って説明を進めます。 ワークスペース名 KPIT1653

プロジェクト名 Project

登録モジュール名

H8SX1653.c

KpitDebugH8_2.h

ヘッダファイル

メインモジュール(アプリ用)

ソフトパーツ用定義ファイル (ソフトパーツを使用しない場合は不要です。)

KPIT添付ファイル start.asm hwinit.c

vects.c

inthandler.c

sbrk.c

iodefine.h

inthandler.h

ASM

ヘッダファイル

ヘッダファイル

スタートアップモジュール

ハード初期化用モジュール

リセット/割込みベクタ-テーブル

割込みハンドラー用

ヒープメモリ-用

I/O定義ビットフィールド記述用

(一部修正しました。)

割込みハンドラー用

CPUタイプ H8SX/1653F

1.新ワークスペースの登録方法 “HEW”起動させます。 [1-1]

“新規プロジェクトワークスペース”をチェッ

クしてのOKをクリックする。

または、キャンセル後に、[ファイル]-[新規

ワークスペース]をクリックします。 [1-2]

ワー クスペ スー名 KPIT1653 プ ロジ ェクト名 Project デ ィレクトリ C:\Hew4\KPIT\KPIT1653 CPU種別 H8S,H8/300 ツー ルチェイン KPIT GNUH8[ELF] プ ロジ ェクト Application

この項目を設定確認後OKをクリックし

て下さい。

Page 2: Hew(Ver4.04)+KPIT-GNU(v0703)を使用した場合の ...H8SX1653.c KpitDebugH8_2.h iodefine.h HP よりダウンロードします。(GNU/gcc) KPIT1653_v0703_1.LZH

2

[1-3] CPUスペックを選択します。 ①SX ②Other

Next>をクリックします。

[1-4]

CPUオプションを選択します。 ①「Operation Mode」

<Advanced>を選択します ②「Use Optimized Libraries」 チェックを外します。

Next>をクリックします。

[1-5]

シミュレータの設定ですが使用しませんのでチェ

ック無しの状態で、

Next>をクリックします。

[1-6]

作成されるファイル一覧表示です。

Finish>をクリックします。

Page 3: Hew(Ver4.04)+KPIT-GNU(v0703)を使用した場合の ...H8SX1653.c KpitDebugH8_2.h iodefine.h HP よりダウンロードします。(GNU/gcc) KPIT1653_v0703_1.LZH

3

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

OKをクリックします。

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

Page 4: Hew(Ver4.04)+KPIT-GNU(v0703)を使用した場合の ...H8SX1653.c KpitDebugH8_2.h iodefine.h HP よりダウンロードします。(GNU/gcc) KPIT1653_v0703_1.LZH

4

2.プロジェクトから不要モジュール(ソースファイル)を削除します。 目的: KPITにより準備されたモジュールを使用しない場合に削除しておきます。 [2-1]

今回の使用例では下記1ファイルを削

除します。 ① Project.c

[2-2]

[プロジェクト]- [ファイルの削除]をクリックします。

[2-3]

① project.c の1ファイルを選択する。

削除をクリックします。

Page 5: Hew(Ver4.04)+KPIT-GNU(v0703)を使用した場合の ...H8SX1653.c KpitDebugH8_2.h iodefine.h HP よりダウンロードします。(GNU/gcc) KPIT1653_v0703_1.LZH

5

[2-4] 確認画面です。 OKをクリックします。

Page 6: Hew(Ver4.04)+KPIT-GNU(v0703)を使用した場合の ...H8SX1653.c KpitDebugH8_2.h iodefine.h HP よりダウンロードします。(GNU/gcc) KPIT1653_v0703_1.LZH

6

3.プロジェクトに希望モジュール(ソースファイル)を登録します。 準備: 作成済みの3ファイルを”C:\Hew4\KPIT\KPIT1653\Project”にコピーします。

H8SX1653.c

KpitDebugH8_2.h

iodefine.h

HPよりダウンロードします。(GNU/gcc) KPIT1653_v0703_1.LZH 一部修正しましたのでCopyして下さい。

[3-1]

[プロジェクト]-

[ファイルの追加]をクリックします。

[3-2]

登録ファイルを選択します。

① H8SX1653.c

追加をクリックします。

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

Page 7: Hew(Ver4.04)+KPIT-GNU(v0703)を使用した場合の ...H8SX1653.c KpitDebugH8_2.h iodefine.h HP よりダウンロードします。(GNU/gcc) KPIT1653_v0703_1.LZH

7

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

[4-1]

[ビルド]-

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

[4-2]

追加をクリックします。

[4-3]

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

[4-4] 単一フェーズ側にチェックをします。

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

Page 8: Hew(Ver4.04)+KPIT-GNU(v0703)を使用した場合の ...H8SX1653.c KpitDebugH8_2.h iodefine.h HP よりダウンロードします。(GNU/gcc) KPIT1653_v0703_1.LZH

8

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

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

[4-6]

完了をクリックします。

[4-7]

OKをクリックします。

[4-8]

[ビルド]-

[SymbolConvert]をクリ

ックします。

Page 9: Hew(Ver4.04)+KPIT-GNU(v0703)を使用した場合の ...H8SX1653.c KpitDebugH8_2.h iodefine.h HP よりダウンロードします。(GNU/gcc) KPIT1653_v0703_1.LZH

9

[4-9]

①オプションに下記内容を設定する。 "$(CONFIGDIR)¥$(PROJECTNAME).x" (入力ファイル名)

②OKをクリックします。

注意事項 ①ディレクトリ名に‘ ’スペースを使用している場合は、“”ダブルクォートで囲んで下さい。 “$(CONFIGDIR)¥$(PROJECTNAME).x” ②$(PROJECTNAME)の先頭に「¥」記号を入力して下さい。(手入力) ③オプションSWを使用する場合は両端にスペースを入れてください。(手入力) 追加事項(スイッチ説明) 1)[-o](省略可)出力ファイル名を指定 2)[-r](省略可)モジュール毎のディレクトリ情報を作成しない。 3)[-s](省略可)ラインシンボル情報をソート(アドレス順)しない。 4)[-i](省略可)重複モジュール情報を削除する。 5)[-g](省略可)スタティック変数をグローバル化する。(Ver1.20xから) 6)[-m](省略可)重複モジュール情報をCソースにマージする。(Ver1.40Bから) 7)[-f](省略可)使用インクルードファイルをCViewに登録する。(Ver1.40Bから)

Page 10: Hew(Ver4.04)+KPIT-GNU(v0703)を使用した場合の ...H8SX1653.c KpitDebugH8_2.h iodefine.h HP よりダウンロードします。(GNU/gcc) KPIT1653_v0703_1.LZH

10

5.コンパイラーオプションの確認と設定をします。 目的: H-debuggerでシンボリックデバッグを可能にする為、コンパイラーオプションの確認 と設定をします。 [5-1]

[ビルド]-

[Compiler]をクリックします。

[5-2] [Source]タグ ①「Macro defines」

Addをクリックします。

[5-2-1] ②Define: 「ROMSTART」を登録します。 ③Value: 「1」を登録します。

④OKをクリックします。

初期値を ROM-->RAM にコピーする為の重要な設定です。

[5-3] [Object]タグ ①Optimization : None(Default) ②Debug level : Level2:Standard(Default) ③Debug format:DWRAFに指定する。 ④Object directory : (Default)状態

OKをクリックします。

Page 11: Hew(Ver4.04)+KPIT-GNU(v0703)を使用した場合の ...H8SX1653.c KpitDebugH8_2.h iodefine.h HP よりダウンロードします。(GNU/gcc) KPIT1653_v0703_1.LZH

11

6.リンカーオプションの確認と設定をします。 目的: H-debuggerでシンボリックデバッグを可能にする為、リンカーオプションの確認と 設定をします。 [6-1]

[ビルド]-

[Linker]をクリックします。

[6-2]

[Archives]タグ デフォルト状態です。(変更の必要なし) 【HowTo】 「Archive search directories」の情報が何らかの原因により変わってしまった場合、「Use Optimised Libraries」の チェック覧を付けて外しますとデフォルト状態に戻りま

す。

[6-3]

[Input]タグ 基本的には何も設定しなくて良いですが、各モジュー

ルのリンク順番を指定したい場合に全モジュールをここ

で指定します。 ① vects.o ② start.o ③ inthandler.o ④ hwinit.o ⑤ sbrk.o ⑥ H8S1653.o

Page 12: Hew(Ver4.04)+KPIT-GNU(v0703)を使用した場合の ...H8SX1653.c KpitDebugH8_2.h iodefine.h HP よりダウンロードします。(GNU/gcc) KPIT1653_v0703_1.LZH

12

[6-4] [Output]タグ ①Output Directory : (Default) ②Endian : Big endian(Default) ③Output format :Both(Default and S-Record) すべて、デフォルトです。

[6-5]

[Sections]タグ .textセクションの開始アドレスを変更します。 デフォルトで「0x400」になっています。 「0x400」番地から可能ですが、DTCベクターテーブル を考慮して「0x600」番地に変更します。 ①.textセクションを選択します。 ②【Modify】PBをクリックします。

[6-6]

③Address: を「0x600」に変更します。

④OKをクリックします。

Page 13: Hew(Ver4.04)+KPIT-GNU(v0703)を使用した場合の ...H8SX1653.c KpitDebugH8_2.h iodefine.h HP よりダウンロードします。(GNU/gcc) KPIT1653_v0703_1.LZH

13

[6-7] [Sections]タグ .dataセクションのアドレスを変更します。 ①.dataセクションを選択します。 ②【Modify】PBをクリックします。

[6-8]

③Start address: 【Fixed address】に選択します。 ④Address: .bssセクションの先頭アドレスを指定します。 【0xFF2000】 ソースブレーク使用の指定の場合でも内臓RAMは使用 しません。 ⑤Advancedをクリックします。

[6-9]

⑥「Reserve memory for section mapping」をチェックする。 ⑦Map address:【Label】にする。 ⑧Label:【_mdata】

⑨OKをクリックします。

初期値を ROM-->RAM にコピーする為の重要な設定です。

[6-10]

[Sections]タグ .stackセクションのアドレスを指定します。 ここでの指定値は、スタックポインタへの初期設定値に

なります。 ①デフォルト値「0xFFC000」を確認する。

②OKをクリックします。

Page 14: Hew(Ver4.04)+KPIT-GNU(v0703)を使用した場合の ...H8SX1653.c KpitDebugH8_2.h iodefine.h HP よりダウンロードします。(GNU/gcc) KPIT1653_v0703_1.LZH

14

7.割り込みハンドラへ登録します。 目的: 今回説明に使用したモジュール「H8SX1653.c」は、Timer0(ベクター88)の割り 込みを使用していますので、割り込みハンドラへの登録をします。 [7-1]

① inthandler.cを選択します。 ②void INT_TGI0A_TPU0(void) { Timer0(); }の関数を記述します。

Page 15: Hew(Ver4.04)+KPIT-GNU(v0703)を使用した場合の ...H8SX1653.c KpitDebugH8_2.h iodefine.h HP よりダウンロードします。(GNU/gcc) KPIT1653_v0703_1.LZH

15

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

[ビルド]-

[ビルド]をクリックします。

[8-2]

↑のように「0 Errors, 0 Warnings」になれば成功です。

Page 16: Hew(Ver4.04)+KPIT-GNU(v0703)を使用した場合の ...H8SX1653.c KpitDebugH8_2.h iodefine.h HP よりダウンロードします。(GNU/gcc) KPIT1653_v0703_1.LZH

16

9.DEFでの確認 [9-1]

① 600H番地にスタックポインタの設定プログラムが確認できます。

これで「H-debugger」用の設定作業が終了です。

以上