|
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は、デバッカが占有します。 |
・ |
モニタ使用の割り込みベクターは、NMI・UBCブレーク・トラップ62・トラップ63です。(ダウンロード時に自動セット) |
・ |
一般不当・スロット不当・CPUアドレスエラー・DMACアドレスエラーの割り込みベクタは、CPU設定のデバッガが通知するに設定しますとモニタ内の不当命令処理アドレス値を置きます。(ダウンロード時に自動セット) |
・ |
ベクタ0(リセット)値は0x1000以上とし、ベクタ1(スタック)値は、4の倍数の適正なスタック値を置いてください。DEF8Kの[Start]時に、スタックポインタ値のアドレス場所がRAMであるかの調査をしますので、必ずRAM場所を示して下さい。 |
・ |
デバッグ中は、スタックポイントの設定後に約1〜200ms(ハード構成による)以上のソフトタイマを入れることを推奨します。CPU設定にてリセット遅延防止タイマを不要設定にしますと、リセット解除から20us後にモニタ[NMI]を起動させます。 |
・ |
NMIエッジは、立下りエッジ(初期値)とします。 |
・ |
内蔵RAM有効(初期値)とします。 |
・ |
UBCブレークの割り込みプライオリティは、[15]になっています。よって、ユーザ使用の割り込みレベルは、[14]以下にして下さい。 |
・ |
使用端子は、リセット・NMI・ブートモード時に使用する通信線および、それに伴うFWEを占有使用します。
TxD1(PA4) RxD1(PA3) *SCK1(PA5) NMI FWE RESET(共有)
SH7147の場合はCPU設定により、TxD0(PE2) RxD0(PE1) *SCK0(PE3)にすることが出来ます。
デバッグI/Fを調歩同期に指定した場合は、SCK1は未使用になります。 |
・ |
MCU動作モード(ブート・通常)設定回路および設定は、ユーザ(ターゲット)側で準備・設定して下さい。 |
・ |
ターゲットとの接続は、推奨接続参考図をもとに設計して下さい。 |
・ |
H-debuggerのステータスランプが緑で点滅している場合は、モニタ不在です。
必ず<ファイル>−<ブートロード>−<モニタプログラム>を実行してモニタを組み入れて下さい。 |
・ |
デバイス制限としてフラッシュメモリの書き換え回数に制限があります。 |
|
3.機能制限事項 |
・ |
レジスタのSP(スタックポインタ)およびVBRは、リードオンリです。 |
・ |
スタックポインタが適正値でない場合や、VBRがゼロ値でない場合は、モニタは正常動作しません。 |
・ |
デバッカー操作での不当アクセス割り込みは、処理後無視するかたちになっていますが、ユーザプログラム走行中での不当アクセスは、認識後デバッガにて通知します。[不当アクセスが発生しました。]と表示します。 |
・ |
モニタが使用しているエリアにデバッガ操作でメモリライト操作があった場合、無視します。 |
・ |
オンザフラ機能で「割り込み使用する」の設定をした場合、ターゲット実行中に約10msec毎にターゲット状態を調べるため送受信によってモニタを起動させています。ターゲット側の実動作に影響を与える場合は「割り込みを使用しない」側に設定して下さい。 |
|
4.ブレークに対する注意事項 |
・ |
実行前ブレーク固定です。 |
・ |
このモニタは、MCUに内蔵したUBCブレークコントローラを利用しています。ブレークにおける制限事項は、UBC仕様に準拠しますので注意が必要です。(MCU別ハードウェアマニュアル必読) |
・ |
[ソースブレーク]を有効にした場合、データブレークは設定禁止になります。 |
|
5.特記事項 |
・ |
SH712x(Tiny)は、調歩同期仕様のみです。(*SCK1は未使用) |
・ |
モニタ実行時は、クロック発振器の[FRQCR]中の[IΦ,BΦ,PΦ]を[8x(1/4)=2逓倍]の初期値にします。ただし、モニタ終了時は開始前の[FRQCR]値に戻します。 |
・ |
[分岐トレース機能]は、モニタ内の分岐トレースを取得してしまう為、サポートしておりません。 |
|
6.ファーム起動時のMCUに対する設定 |
・ |
|
・ |
(FRQCR)の内容を退避後、[IΦ,BΦ,PΦ]を[8x(1/4)=2逓倍]の初期値に戻し、モニタ終了時に退避データに戻します。 |
・ |
内蔵RAMの有効/動作指定(RAMCR/STBCR2) |
・ |
UBC動作指定(STBCR5) |
・ |
NMI立下りエッジ指定(ICR0) |
・ |
モニタが使用する(TxD,RxD,SCK)のピンファンクション指定(PACRL1/PACRL2) |
・ |
モニタ使用ポート(SCI)を初期設定 |
・ |
(TCSR)の内容を退避後、ウォッチドッグタイマを停止させ、モニタ終了時に退避データに戻します。 |
【調歩同期選択時の追加事項】 |
・ |
調歩同期に選択した場合は、(SCK)のピンファンクション指定は実施しません。 |
・ |
ソフトによりPLL指定する品種の場合、ボーレトをデフォルト指定で合わせてありますので、モニタの開始時にデフォルトに切替え、モニタ終了時に元の設定状態に戻します。 |
|
7.低消費電力モード状態の注意事項 |
・ |
低消費電力状態でブレークモード(モニタ実行)させますと低消費電力モードは解除されます。 |
|
8.ウォッチドッグタイマの注意事項 |
・ |
ブレークモード時(モニタ実行時)はウォッチドッグタイマを停止させ、復帰時(モニタ終了時)に開始時の状態に戻しています。 |
・ |
ユーザプログラムの実行中に周期サンプリングをしますとウォッチドッグタイマは停止します。 |
・ |
H-debuggerと送受信の通信が確立した時点でウォッチドッグタイマを停止させていますので、タイムUP周期を20ms以上に設定にして下さい。 |
・ |
ウォッチドッグタイマのタイムUPリセットになりますとPBC(PCブレーク)もリセットされますので、ブレークポイントを再設定して下さい。 |
・ |
ウォッチドッグタイマ用内部レジスタをデバッガ操作で書き換えても無視します。 |
|
9.その他の注意事項 |
・ |
SH-2内部I/Oレジスターは、種類によって8,16,32ビットアクセス用とビット長により制限がついています。メモリセットコマンド等で、内部I/Oレジスターアクセスする場合は、指定ビット長でアクセスして下さい。指定外ビット長でアクセスしますと,間違った情報を得ることになります。 |
|
10.オンザフライ時のMCU停止時間の計測値 |
コマンド |
停止時間 単位(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毎にターゲットの状態を調べるため送受信によってモニタを起動させています。ターゲット側の実動作に影響を与える場合は、「割り込みを使用しない」側に設定して下さい。 |
・ |
低消費電力モードとウォッチドッグタイマアップの動作確認をする場合は、「割り込みを使用しない」の設定で確認して下さい。 |
|