hew(ver4.04)+kpit-gnu(v0703)を使用した場合の ...h8sx1653.c kpitdebugh8_2.h...
TRANSCRIPT
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
C
ヘッダファイル
メインモジュール(アプリ用)
ソフトパーツ用定義ファイル (ソフトパーツを使用しない場合は不要です。)
KPIT添付ファイル start.asm hwinit.c
vects.c
inthandler.c
sbrk.c
iodefine.h
inthandler.h
ASM
C
C
C
C
ヘッダファイル
ヘッダファイル
スタートアップモジュール
ハード初期化用モジュール
リセット/割込みベクタ-テーブル
割込みハンドラー用
ヒープメモリ-用
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をクリックし
て下さい。
2
[1-3] CPUスペックを選択します。 ①SX ②Other
Next>をクリックします。
[1-4]
CPUオプションを選択します。 ①「Operation Mode」
<Advanced>を選択します ②「Use Optimized Libraries」 チェックを外します。
Next>をクリックします。
[1-5]
シミュレータの設定ですが使用しませんのでチェ
ック無しの状態で、
Next>をクリックします。
[1-6]
作成されるファイル一覧表示です。
Finish>をクリックします。
3
[1-7] 最終確認画面です。
OKをクリックします。
ここまでの操作が新規プロジェクトの登録方法です。
4
2.プロジェクトから不要モジュール(ソースファイル)を削除します。 目的: KPITにより準備されたモジュールを使用しない場合に削除しておきます。 [2-1]
今回の使用例では下記1ファイルを削
除します。 ① Project.c
[2-2]
[プロジェクト]- [ファイルの削除]をクリックします。
[2-3]
① project.c の1ファイルを選択する。
削除をクリックします。
5
[2-4] 確認画面です。 OKをクリックします。
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
追加をクリックします。
この操作によりプロジェクトにモジュールを登録します。
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] 単一フェーズ側にチェックをします。
次へ>をクリックします。
8
[4-5] ①フェーズ:SymbolConvert ②コマンド: C:¥ProgramFiles¥ Aone¥DEF¥GCsymconv.exeを選択する。 ③初期ディレクトリ:$(CONFIGDIR)
次へ>をクリックします。
[4-6]
完了をクリックします。
[4-7]
OKをクリックします。
[4-8]
[ビルド]-
[SymbolConvert]をクリ
ックします。
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から)
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をクリックします。
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
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をクリックします。
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をクリックします。
14
7.割り込みハンドラへ登録します。 目的: 今回説明に使用したモジュール「H8SX1653.c」は、Timer0(ベクター88)の割り 込みを使用していますので、割り込みハンドラへの登録をします。 [7-1]
① inthandler.cを選択します。 ②void INT_TGI0A_TPU0(void) { Timer0(); }の関数を記述します。
15
8.ビルドを実行します。 目的: コンパイル/アセンブリ/リンクロケート/GCsymconvを実行させる為、 ビルドを実行します。 [8-1]
[ビルド]-
[ビルド]をクリックします。
[8-2]
↑のように「0 Errors, 0 Warnings」になれば成功です。
16
9.DEFでの確認 [9-1]
① 600H番地にスタックポインタの設定プログラムが確認できます。
これで「H-debugger」用の設定作業が終了です。
以上