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

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

統合環境 Hew4(Ver4.09.00.007)添付スタートアップ関数を使用した場合の新ワークスペースおよびプロジェクトを登録する方法
CAT 専用仕様【CAT68501-SH7267 -CACHE 版】
ルネサスＣ言語用統合環境「Hew4 Ver4.09.00.007」で H-debugger 用に新ワークスペース／プロジェクトを登録する手順方法を説明します。
説明を明確にするために、名前等を仮に決めて例に沿って説明を進めます。

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

ＣＰＵタイプ

ReneCAT68501_CACHE
Project
appinfo.c
Ｃファイル
cache.csh7267h.ctimer.cresetprg.c
Ｃファイル
intprg.cdbsct.cvecttbl.c
iodefine.h
ヘッダファイル
vect.hstacksct.htyoedefine.hSH7267

備考

キャッシュ有効のサンプル

Ｈｅｗ添付ファイル

ブートモード 1/3 用アプリ情報用
キャッシュ設定
メインモジュール（アプリ用）
タイマー管理スタートアップモジュール
割込みベクターモジュール
定数転送用セクション管理宣言
割込みベクターテーブル
I/O 定義ビットフィールド記述用
割込みベクターテーブル定義
スタックサイズ定義
変数型定義の使用例【ポイント】「SH-2A H-UDI 版」の場合、Hew4 デフォルト設定から変更に必要な箇所は、１）コンパイラの「最適化」を外す。
２）セクションアドレスを変更する。の２点になります。

1

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

[1-1]“新規プロジェクトワークスペース”をチェックしてのＯＫをクリックする。
もしくは、キャンセル後に、[ファイル][新規ワークスペース]をクリックします。
[1-2]
プロジェクトタイプ：Application
ﾜｰｸｽﾍﾟｰｽ名“ReneCAT68501_CACHE”
ﾌﾟﾛｼﾞｪｸﾄ名“Project”
ﾃﾞｨﾚｸﾄﾘ“C:\WorkSpace”
CPU 種別“SuperH RISC engine”
ﾂｰﾙﾁｪｲﾝ“Renesas SuperH Standard”
ﾌﾟﾛｼﾞｪｸﾄApplication
この項目を確認後、ＯＫをクリックして下さい。
[1-3]

CPU ｼﾘｰｽﾞを「SH2A-FPU」に選択する。
CPU ﾀｲﾌﾟを「SH7267」選択する。
確認後、次へ＞をクリックします。
[1-4]
ＣＰＵスペックを確認後次へ＞をクリックします。

2[1-5]
本サンプルでは、①I/O ライブラリを使用しませんのでチェックを外して下さい。
②ヒープメモリを使用しませんのでチェックを外して下さい。
main() 関数生成は「None」に選択する。
③I/O レジスタ定義ファイルは使用しますのでチェックして下さい。
ハードウェアセットアップ関数生成は「None」に選択する。
確認後、次へ＞クリックします。
[1-6]
Ｃ言語ライブラリの選択です。この例では、その他ライブラリを使用しません。

次へ＞クリックします。
[1-7]①スタックポイント「H’FFF9_0000」②スタックサイズ「H’400」

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

3[1-8]
ここで明示されたＨｅｗ作成スタートア
ップ関数を使用しますので、デフォルトの状態で、次へ＞をクリックします。
[1-9]シミュレータの設定ですが使用しません
のでチェック無しの状態で、次へ＞クリックします。

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

この状態で完了をクリックします。

4

[1-11]
確認画面が表示されますので、ＯＫをクリックします。

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

5

２．プロジェクトに希望モジュール（ソースファイル）を登録する方法
準備： HP よりダウンロードします。
（ルネサスＣ）
http://www.aone.co.jp/tools/AH7000/renesas/#CAT
ReneCAT68501_CACHE_100..LZH
作成済みの６ファイルを”C:\WorkSpace\ReneCAT68501_CACHE\Project”にコピーします。
アプリケーション情報定義①appinfo.c
キャッシュ設定②cache.c
メイン③sh7267h.c
タイマー管理④timer.c
CAT65801 用 BSC 設定+Point!!の追加⑤resetprg.c
変数型定義⑥typedefine.h[2-1][プロジェクト][ファイルの追加]をクリックします。

[2-2]
下記５ファイルを指定して下さい。
①appinfo.c②cache.c③sh7267h.c④timer.c⑤resetprg.c
選択後、追加をクリックします。
この操作によりプロジェクトにモジュールが登録されます。

6

３．コンパイラの設定
コンパイラの「最適化」を外す[3-1]①[ビルド］[SuperH engin Standard Toolchain]をクリックします。
②「コンパイラ」を選択③カテゴリ「最適化」を選択④「最適化」「なし」を選択⑤ＯＫをクリックします。

7

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

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

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

8

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

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

[5-3]①カテゴリの「出力」を選択する。
②出力形式の「S ﾀｲﾌﾟ(ELF/DWARF ｱﾌﾞｿﾘｭｰﾄ付き）」を確認する。
③デバッグ情報の「出力(出力ファイル内）」を確認する。
④ オプション項目の「出力ファイル」$(CONFIGDIR)\$(PROJECTNAME).motを確認する。
全てデフォルトです。

9[5-4]
セクションアドレスを変更する。
カテゴリの「セクション」を選択する。

①編集をクリックします。

②変更後、ＯＫをクリックします。

[5-4-1]<Point>キャッシュレジスタ関係を制御するプログラムは、キャッシュ無効エリアに配置する必要があります。

0x1C00_0000

DAPPINFO,DVECTTBL,DINTTBL

0x1C00_0800PResetPRG,PIntPRG,PTimer
0x3C00_1000
PCACHE
0x1C00_2000
P,C,C$DSEC,C$BSEC,D
0xFFF8_0000
B,R
0xFFF8_FC00
Sセクション名 DAPPINFO は、必ずトップに設定して下さい。

10

６．ベクター等の変更
１）vect.h の変更[6-1]
本サンプルでは、「vector179」の MTU2 TGIOA の割込みをバンクレジスタモードにて使用しますので「vect.h」にバンクレジスタを使用するための定義をします。

#pragma interrupt INT_MTU2_TGI0A(resbank) と定義します。
２）intprg.c の変更[6-2]①vector 179 に「Timer0();」関数名を登録します。
<intprg.c>// 179 MTU2 TGI0A
void INT_MTU2_TGI0A(void){Timer0();}11３）resetprg.c の説明[6-3]①の Point②の Point③の Point④の Point⑤の Point⑥の Point①の Point
ベクターテーブルに登録されたスタックポイント値をスタックにセットする inline_asm 関数②の Point
ブートモード１／３の場合、ローダプログラムがスタックポイント値を設定してからこの関数に飛ばす仕様になっていますが、アプリケーションソフトの開発中はローダプログラムとは切り離されていますので、リセット関数のトップでスタックポインタの設定をしておきます。
③の Point
SH7267 の場合、保持用大容量内蔵 RAM(0x1c00_0000 -> 0x1c01_ffff )エリアがデフォルトで書き込み禁止になっています。D->R セクションに Copy するときに、R セクションアドレスが配置が範囲に入っている場合は、この位置(関数_INITSCT();の前 )で書き込みを許可します。
④の Point
この位置(関数_INITSCT();の前 )にキャッシュ有効にする関数を記述する。
⑤の Point
この位置(関数_INITSCT();の後 )にライトバック処理をする関数を記述する。
⑥の Point③の処置をした場合は、この位置(関数_INITSCT();の後 )でデフォルトに戻す為、書き込み禁止にします。

12

[6-4]

resetprg.c は、inline_asm 記述をしていますので、＜コンパイラ＞、カテゴリ＜オブジェクト＞、出力ファイル形式を「アセンブリプログラム(*.src)」に指定する必要があります。

13

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

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

14

８．ＤＥＦでデバッグの準備をする
１）DEF を CAT 専用仕様モードにします。
[8-1]＜オプション＞－＜環境設定＞をクリックします。

[8-2]＜Mode＞を選択する。
「CAT 専用仕様」をチェックします。

「設定」をクリックします。

15２）DEF の CPU 設定をします。
[8-3]＜オプション＞－＜CPU 設定＞
をクリックします。

[8-4]
CPU シリーズ名「CAT68501(SH7267)」を選択します。
「x12/4(I) x12/8(B) x12/16(p) FRQCR(0xn103」
を選択します。

RAM ☑
開始 0x1C00_0008を設定します。

サイズ 0x180000「リセット遅延防止 ．
．
．
．
．
．
．
．使用しない。
」
をチェック☑します。

「...¥Aone¥DEF¥log-cat¥CAT68501-BSC.log」
を確認します。
「設定」をクリックします。

16３）転送をアブソリュート指定方式にします。
[8-5]＜ファイル＞－＜アブソリュートファイル設定＞をクリックします。

[8-6]「アブソリュ－トファイルの指定でダウンロードする。
」に「チェック ☑」を入れます。
Hew4 デフォルト設定の状態で使用する
場合は、[-r]をチェックしないで下さい。
アブソリュ－トファイルから直接「*.SYM/*.LIN」ファイルを作成します。
この設定は記憶します。
［Ｘ］をクリックします。

その他スイッチに関する説明は、、http://www.aone.co.jp/tools/AH7000/renesas/index.html に登録してある「シンボルコンバータのスイッチ説明と登録方法の説明(SymConvHEW.pdf)」資料を参照して下さい。

17４）CAT68501 のジャンパ設定を確認します。

SW6 を「B 側」のデバッグモードにして下さい。

SW4
SW5
SW6

デバッグ時の SW 設定【CAT68501】○側の設定
A
B
○通常動作
設定禁止
○低速ブート
高速ブート
通常動作○デバッグモード５）CAT68501 とデバッガ「AH7000」を接続します。
【CAT68501 側を電源 ON にして下さい】[8-7]
DEF 画 面 の 左 下 の「Start」をクリックします。

18

[8-10]
エミュレーションモード遷移が成功しますと、このような画面になります。

６）サンプルソフトをダウンロードします。
[8-11]＜ファイル＞－＜ダウンロード＞をクリックします。

19[8-12]
サンプル「Project.abs」を指定します。

「開く」をクリックします。

[8-13]
ダウンロード中は、この様なインジケータを表示します。

[8-14]
ダウンロードが成功しますと、この表示になります。
DEF の ShortPB「RstMon」をクリックします。

0x1C00_0800 番地に「resetprg.c」の「PowerON_Reset」関数になっていることが確認できます。

ここまでが、CAT 専用仕様における CAT68501 の新規プロジェクト方法とデバッグを開始するまでの説明です。

20

９．デバッグ終了後、アプリケーションソフトをシリアルフラッシュＲＯＭに登録します。
[9-1]＜オプション＞－＜ローダとアプリケーションの登録＞をクリックします。

[9-2]

＜確認１＞
デフォルトにてライタープログラム「M25P16_Writer.mot」が登録されていますので確認します。

＜確認２＞
デフォルトにてローダープログラム「M25P16_Loader.mot」が登録されていますので確認します。

21

＜操作１＞
「参照」をクリックしてシリアルフラッシュ
ROM に登録するアプリ
ケーションプログラム「Project.mot」を指定します。

[9-3]＜操作２＞「書込み開始」をクリックします。
[9-4]
書込み中は、この様なインジケータを表示します。

[9-5]

＜確認＞
書込みが正常終了しますと、このメッセージが表示され個数が＋１されます。
CAT68501 基板上の SW 設定を通常動作に変更する。

SW4
SW5
SW6

通常時の SW 設定【CAT68501】○側の設定
AB
○通常動作
設定禁止
○低速ブート
高速ブート○通常動作
デバッグモード

ローダとアプリケーションの登録方法に関する詳細説明は、
http://www.aone.co.jp/tools/AH7000/renesas/index.html に登録してある「ブートモード１／３対応のアプリケーション作成方法(SfAplication.pdf) 」資料を参照して下さい。
以上にて本説明を終了します。

22