|
1.ユーザ側での準備項目 |
・ |
MCU動作モードは、(2,3,ブートモード,ユーザプログラムモード)をサポートします。 |
・ |
デバッグモニタが常駐するためのエリア(0x800〜0xFFF)番地をあけてください。 |
・ |
ユーザスタックエリアをモニタワーク方式に応じたスタックエリアの確保に考慮してください。 |
・ |
メモリマップ
|
内蔵ROM
終了アドレス |
スタック方式(内蔵RAM) |
固定番地方式(内蔵RAM) |
通信方式 |
使用可能開始番地
(ソースブレ-クを使用した場合) |
使用可能開始番地 |
モニタ使用番地 |
SH708x4 |
0x3FFFF |
0xFFFF8000 (*0xFFFF8040) |
0xFFFF8080 |
*0xFFFF8000 |
クロック・調歩 |
SH708x5 |
0x7FFFF |
0xFFFF4000 (*0xFFFF4040) |
0xFFFF4080 |
*0xFFFF4000 |
クロック・調歩 |
SH712x2 |
0x0FFFF |
0xFFFFA000 (*0xFFFFA040) |
0xFFFFA080 |
*0xFFFFA000 |
調歩固定 |
SH712x3 |
0x1FFFF |
0xFFFFA000 (*0xFFFFA040) |
0xFFFFA080 |
*0xFFFFA000 |
調歩固定 |
SH7146(R) |
0x3FFFF |
0xFFFF9000 (*0xFFFF9040) |
0xFFFF9080 |
*0xFFFF9000 |
クロック・調歩 |
SH71474A |
0x3FFFF |
0xFFFF9000 (*0xFFFF9040) |
0xFFFF9080 |
*0xFFFF9000 |
クロック・調歩 |
SH71474B |
0x3FFFF |
0xFFFF8000 (*0xFFFF8040) |
0xFFFF8080 |
*0xFFFF8000 |
クロック・調歩 |
SH71475A/B |
0x5FFFF |
0xFFFF8000 (*0xFFFF8040) |
0xFFFF8080 |
*0xFFFF8000 |
クロック・調歩 |
SH71476A/B |
0x7FFFF |
0xFFFF8000 (*0xFFFF8040) |
0xFFFF8080 |
*0xFFFF8000 |
クロック・調歩 |
SH7149(R) |
0x3FFFF |
0xFFFF9000 (*0xFFFF9040) |
0xFFFF9080 |
*0xFFFF9000 |
クロック・調歩 |
*モニタが内蔵RAM先頭より0x40バイト使用する。
*モニタが内蔵RAM先頭より0x80バイト使用する。
*(R)マーク品は、デバッガ専用チップです。
|
|
2.使用制限事項 |
・ |
NMIは、デバッガが占有します。 |
・ |
DMAコントローラを動作させているプログラムの場合、バス解放されるまでデバッグ操作できません。 |
・ |
モニタ使用の割り込みベクタは、NMI・UBCブレーク・トラップ62・トラップ63です。(ダウンロード時に自動セット) |
・ |
一般不当・スロット不当・CPUアドレスエラー・DMACアドレスエラーの割り込みベクタは、CPU設定にてデバッガが通知するに設定しますとモニタ内の不当命令処理アドレス値を置きます。(ダウンロード時に自動セット) |
・ |
ベクタ0(リセット)値は0x1000以上とし、ベクタ1(スタック)値は、4の倍数の適正なスタック値を置いてください。
DEFの「Start」時に、スタックポインタ値のアドレス場所がRAMであるかの調査をしますので、必ずRAM場所を示して下さい。 |
・ |
デバッグ中は、スタックポイントの設定後に約1〜200ms(ハード構成による)以上のソフトタイマを入れることを推奨します。
CPU設定にてリセット遅延防止タイマを不要設定にしますと、リセット解除から20us後にモニタ(NMI)を起動させます。 |
・ |
NMIエッジは、立下りエッジ(初期値)とします。 |
・ |
内蔵RAM有効(初期値)とします。 |
・ |
UBCブレークの割り込みプライオリティは、15になっています。
ユーザ使用の割り込みレベルは、14以下にして下さい。 |
・ |
使用端子は、リセット・NMI・ブートモード時に使用する通信線および、それに伴うFWEを占有使用します。
TxD1(PA4) RxD1(PA3) (SCK1) NMI FWE RESET(共有)
デバッグI/Fを調歩同期に指定した場合は、(SCK1)は未使用になります。
SH712xの場合、調歩同期のためSCK1は未使用になります。
SH7147の場合、CPU設定によりTxD0(PE2) RxD0(PE1) SCK0(PE3)にすることが出来ます。 |
・ |
CPU動作モード(ブート・通常)設定回路および設定は、ユーザ(ターゲット)側で準備・設定して下さい。 |
・ |
ターゲットとの接続は、推奨接続参考図をもとに設計して下さい。 |
・ |
デバイス制限としてフラッシュメモリの書き換え回数に制限があります。 |
|
3.機能制限事項 |
・ |
レジスタのSP(スタックポインタ)およびVBRは、リードオンリです。 |
・ |
スタックポインタが適正値でない場合や、VBRがゼロ値でない場合は、モニタは正常動作しません。
ただし、ユーザプログラムにて0番地からのベクタ情報を使用目的アドレスに転送後、VBRを目的アドレスに変更した場合は動作します。
|
・ |
デバッガ操作での不当アクセス割り込みは、処理後無視するかたちになっていますが、ユーザプログラム走行中での不当アクセスは、認識後デバッガにて通知します。(“不当アクセスが発生しました。”と表示します。) |
・ |
モニタが使用しているエリアにデバッガ操作でメモリライト操作があった場合、無視します。 |
|
4.ブレークに対する注意事項 |
・ |
実行前ブレーク固定です。 |
・ |
このモニタは、CPUに内蔵したUBCブレークコントローラを利用しています。
ブレークにおける制限事項は、UBC仕様に準拠しますので注意が必要です。(CPU別ハードウェアマニュアル必読)
|
|
5.特記事項 |
・ |
SH712x(Tiny)は、CPU側の使用ピンを極力少なくする為、ターゲットとの通信を調歩同期にしました。(SCK1未使用) |
・ |
その他(BOOT)は、従来通りのクロック同期です。(SCK使用)
|
・ |
モニタ実行時は、クロック発振の「FRQCR」−「IΦ,BΦ,PΦ」を「8x(1/4)=2逓倍」の初期値にします。
ただし、モニタ終了時はモニタ開始前「FRQCR」値に戻します。
|
・ |
「分岐トレース機能」は、モニタの分岐トレースを取得してしまう為、サポートしておりません。 |
|
6.モニタ実行時のCPUに対する設定 |
・ |
(FRQCR)設定値を退避後、「IΦ,BΦ,PΦ」を2逓倍に変更し、モニタ終了時に退避設定の状態に戻します。 |
・ |
内蔵RAMの有効/動作指定(RAMCR/STBCR2) |
・ |
UBC動作指定(STBCR5) |
・ |
NMI立下りエッジ指定(ICR0) |
・ |
モニタが使用する(TXD,RXD,SCK)のピンファンクション指定(PACR1/PACRL2) |
・ |
モニタ使用ポート(SCI)を初期設定 |
・ |
(TCSR)設定値を退避後、ウォッチドッグタイマを停止させ、モニタ終了時に退避設定の状態に戻します。 |
【調歩同期選択時の追加事項】 |
・ |
調歩同期に選択した場合は、(SCK)のピンファンクション指定は実施しません。 |
・ |
ソフトによりPLL指定する品種の場合、ボーレトをデフォルト指定で合わせてありますので、モニタの開始時にデフォルトに切替え、モニタ終了時に元の設定状態に戻します。 |
|
7.低消費電力モード状態の注意事項 |
・ |
低消費電力状態でブレークモード(モニタ実行)にさせますと低消費電力状態は解除されます。 |
|
8.ウォッチドッグタイマの注意事項 |
・ |
ブレークモード(モニタ実行)時は、ウォッチドッグタイマは停止します。 |
・ |
ユーザプログラム実行中に周期サンプリングしますとウォッチドッグタイマは停止します。 |
・ |
H-debuggerと送受信が確立した時点でウォッチドッグタイマを停止させていますので、タイムUP周期を20ms以上の設定にして下さい。 |
・ |
ウォッチドッグタイマUPによるリセットになりますと、UBC(PCブレーク)もリセットされますので再設定して下さい。 |
・ |
ウォッチドッグタイマ用内部レジスタをデバッガ操作で書き換えても無視します。 |
|
9.その他注意事項 |
・ |
SH-2の内部I/Oレジスタは、種類によって8,16,32ビットアクセス用とビット長により制限がついています。
メモリセットコマンド等で、内部I/Oレジスタアクセスする場合は、指定ビット長でアクセスして下さい。
指定外ビット長でアクセスしますと,間違った情報を得ることになります。 |
|
10.オンザフライ時のCPU停止時間の計測値 |
コマンド |
停止時間 単位(msec) |
CPU設定 |
割込みを使用しない |
割込みを使用する |
デバッグI/F |
クロック同期 |
クロック同期 |
調歩同期 |
割込み方式 |
− |
受信割込み |
ブレーク割込み |
割込みが使用できる条件 |
− |
ワークエリア固定番地方式
ユーザ側が割込み許可状態
[PUTCH]を使用しない |
ワークエリア固定番地方式
[PUTCH]を使用しない |
1バイトのメモリアクセス |
1.50
1バイト増毎に+0.2ms
(MAX 128byte 27.1ms)
|
0.05
バイト数に影響されない |
0.25
バイト数に影響されない |
全レジスタ |
20.0 |
0.05 |
0.25 |
個別レジスタ(ERレジスタ) |
1.00 |
0.05 |
0.25 |
個別レジスタ(CCRレジスタ) |
1.00 |
0.05 |
0.25 |
個別レジスタ(PCレジスタ) |
1.00 |
0.05 |
0.25 |
1行の逆アセンブラ |
1.50 |
0.05 |
0.25 |
DI,EI.IntFlg(割込み系) |
10.0 |
10.0 |
10.0 |
ブレークポイントの設定 |
20.0 |
20.0 |
20.0 |
ブレークポイントの解除 |
20.0 |
20.0 |
20.0 |
停止時間の計測方法 |
[NMI]のLow巾 |
計測方法なし |
[NMI]のLow巾 |
*SH7085A クロックが8.25MHz(x2)時の実測値
|
<オンザフライ機能使用時の注意事項 割込み方式が「ブレーク割込み」の場合> |
・ |
「受信割り込み」の場合、ターゲット実行中に約10ms毎にターゲットの状態を調べるため送受信によってモニタを起動させています。ターゲット側の実動作に影響を与える場合は、「割り込みを使用しない」側に設定して下さい。 |
・ |
BP(ブレークポイント)を張ってる状態で、オンザフライの自動実行とBP停止が同時に発生した場合、自動実行側が優先されます。 |
|