|
1.ユーザ側での準備項目 |
・ |
デバッグモニタが常駐するためのエリア(0x200〜0x7FF)番地をあけてください。 |
・ |
ユーザスタックエリアをモニタワーク方式に応じたスタックエリアの確保に考慮してください。 |
・ |
メモリマップ
|
内蔵ROM
終了アドレス |
スタック方式(内蔵RAM) |
固定番地方式(内蔵RAM) |
使用可能開始番地
(ソースブレ-クを使用した場合) |
使用可能開始番地 |
モニタ使用番地 |
H8/38076 |
0xCFEF |
0xF380 (*0xF3C0) |
0xF3C0 |
*0xF380 |
H8/38602 |
0x3FFF |
0xFB80 (使用不可) |
0xFB80 |
別空間 |
*モニタが内蔵RAM先頭より0x40バイト使用する。 |
|
2.使用制限事項 |
・ |
NMIは、デバッガが占有します。 |
・ |
モニタ使用の割り込みベクタは、NMI・アドレスブレーク・リザーブエリアです。(ダウンロード時に自動セット) |
・ |
リセットベクタ値は0x800以上とし、その番地にはスタックポインタ設定の命令を配置して下さい。 |
・ |
デバッグ中は、スタックポイントの設定後に約1〜200ms(ハード構成による)以上のソフトタイマを入れることを推奨します。
CPU設定にてリセット遅延防止タイマを不要設定にしますと、リセット解除から20us後にモニタ(NMI)を起動させます。(ユーザモード時のみ) |
・ |
NMIエッジは、立下りエッジ(初期値)とします。 |
・ |
使用端子は、リセット・NMI・ブートモード時に使用する通信線を占有使用します。
P36/E7_0 P37/E7_1 P16/E7_2 NMI RES(共有) |
・ |
ターゲットとの接続は、推奨接続参考図をもとに設計して下さい。 |
・ |
デバイス制限としてフラッシュメモリの書き換え回数に制限があります。 |
|
3.機能制限事項 |
・ |
レジスタのSP(スタックポインタ)は、リードオンリです。 |
・ |
スタックポインタが適正値でない場合は、モニタは正常動作しません。(例 0xFF7E値が適正値) |
・ |
モニタが使用しているエリアにデバッガ操作でメモリライト操作があった場合、無視します。 |
|
4.ブレークに対する注意事項 |
・ |
実行後ブレーク固定です。 |
・ |
このモニタは、CPUに内蔵したアドレスブレークコントローラ(PBC)を利用しています。
ブレークにおける制限事項は、PBC仕様に準拠しますので注意が必要です。(CPU別ハードウェアマニュアル必読)
機能および制限は、H8/300H Tinyと同等です。 |
|
5.モニタ遷移時のCPUに対する設定 |
・ |
モニタ使用ポート(SCI)を初期設定 |
・ |
(SYSCR1,SYSCR2)設定値を退避後、アクティブモード(高速)に切り替え、モニタ終了時に退避設定値の状態に戻します。 |
・ |
(TCSRWD1)設定値を退避後、ウォッチドッグタイマを停止させ、モニタ終了時に退避設定値の状態に戻します。(ユーザモード時) |
|
6.H8/38602特有の注意事項 |
・ |
発振子をOSC1,OSC2端子に接続した状態でデバッグして下さい。 |
・ |
このシリーズは、ウォッチドッグタイマが初期状態で有効になっています。 |
|
7.低消費電力モード状態の注意事項 |
・ |
低消費電力状態でブレークモード(ファーム起動)にさせますと低消費電力状態は解除されます。 |
|
8.ウォッチドッグタイマの注意事項 |
・ |
ブレークモード(モニタ遷移)時は、ウォッチドッグタイマは停止します。 |
・ |
ユーザプログラム実行中に周期サンプリングしますとウォッチドッグタイマは停止します。 |
・ |
ユーザモードでのデバッグ指定において、本体と送受信が確立した時点でウォッチドッグタイマを停止させていますので、タイムUP周期を10ms以上の設定にして下さい。(エミュレーションモードでは制限なしです。) |
・ |
ユーザモードでのデバッグ指定において、ウォッチドッグタイマUPによるリセットになりますと、PBC(PCブレーク)もリセットされますので再設定して下さい。(エミュレーションモードでは保持します。) |
・ |
ウォッチドッグタイマのタイムUP−RESET動作を確認する場合は、エミュレーションモードで確認して下さい。 |
・ |
ウォッチドッグタイマ用内部レジスタをデバッガ操作で書き換えても無視します。 |
|
9.デバッグモードについて |
・ |
H8/300H-SLPシリーズのデバッグモードは2モードから選択できます。その2モードの特徴を記述します。
(1)エミューレーションモード |
|
CPU内蔵のオンチップデバッグ機能を利用するモードです。 |
(2)ユーザモード |
|
PBC(PCブレークコントローラ)を使用してユーザモードでデバッグするモードです。 |
|
|
・ |
【モード別機能の相違】 |
|
項目 |
エミュレーションモード |
ユーザモード |
モード遷移時の内蔵RAM状態(電源ONスタート時のみ) |
書き変る |
書き変らない |
ハードブレークの使用 |
可能 |
可能 |
デバッグ時のウォッチドッグタイマ使用 |
可能 |
可能(10ms以上) |
デバッグ時のウォッチドッグタイマリセット時のI/O状態 |
保持 |
リセット |
デバッグ時の低消費電力モードへの対応 |
可能 |
不可 |
分岐トレースの使用 |
可能 |
不可 |
デバッグ時のリセット遅延防止ソフトタイマ |
不要 |
推奨 |
ソースブレークの使用 |
不可 |
可能 |
PUTCHの使用 |
不可 |
不可 |
|
・ |
【CPU別モード選択可否】 |
|
CPU名 |
エミュレーションモード |
ユーザモード |
H8/38076 |
○ |
○ |
H8/38602 |
○ |
× |
|
|
10.リセット遅延に関する注意事項 |
・ |
H8/Tinyシリーズのデバッグ方式を「ユーザモード」で指定し、ハード的にリセット遅延があるに関わらず「CPU設定」で「リセット遅延回路」を使用しない側の設定で、DEFの「Start」を起動しますと、内蔵RAM先頭部分「約16バイト」が書き換わります。
理由としては、遅延の為、リセットLOW状態でNMIがLOWになる為、エミュレーション回路の一部が起動してしまうことにより書き換わります。 |
|
11.バッテリバックアップシステムの場合の注意事項 |
・ |
H8/Tinyシリーズの場合、FROMに書く時の手順として高速ブートモード(エミュレーションモード)に遷移させてからFROM書き込みシーケンスに移行させています。高速ブートモード中は外部からのRESET信号が無効になってしまいますので、書き込み終了後H-debuggeを外した状態で、かつ、モニタ(ファーム)が起動出来ない状態の場合、VCCをOV(ゼロ)に落とし、必ず高速ブートモードから抜けさせて下さい。 |
|
12.オンザフライ時のCPU停止時間の計測値 |
コマンド |
停止時間 単位(msec) |
CPU設定 |
割込みを使用しない |
割込みを使用する |
デバッグI/F |
クロック同期 |
クロック同期 |
割込み方式 |
− |
受信割込み |
割込みが使用できる条件 |
− |
・ワークエリア固定番地方式
・ユーザ側が割込み許可状態 |
1バイトのメモリアクセス |
1.50
1バイト増毎に+0.2ms
(MAX 128byte 27.1ms) |
0.08
バイト数に影響されない |
全レジスタ |
12.0 |
0.08 |
個別レジスタ(ERレジスタ) |
1.20 |
0.08 |
個別レジスタ(CCRレジスタ) |
1.20 |
0.08 |
個別レジスタ(PCレジスタ) |
1.20 |
0.08 |
1行の逆アセンブラ |
4.00 |
0.08 |
DI,EI.IntFlg(割込み系) |
5.00 |
5.00 |
ブレークポイントの設定 |
10.0 |
10.0 |
ブレークポイントの解除 |
10.0 |
10.0 |
停止時間の計測方法 |
[NMI]のLow巾 |
計測方法なし |
*H8/38076 クロックが10.0MHz時の実測値
|
<オンザフライ機能使用時の注意事項 割込み方式が「受信割込み」の場合> |
・ |
「受信割り込み」の場合、ターゲット実行中に約10ms毎にターゲットの状態を調べるため送受信によってモニタを起動させています。ターゲット側の実動作に影響を与える場合は、「割り込みを使用しない」側に設定して下さい。 |
・ |
低消費電力モードとウォッチドッグタイマアップの動作確認をする場合は、「割り込みを使用しない」の設定で確認して下さい。 |
|