|
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エッジは、立下りエッジ(初期値)とします。 |
・ |
使用端子は、E7/E8が使用する通信線を占有使用します。
E7_0/P36 E7_1/P37 E7_2/P16 NMI RESET(共有) |
・ |
ターゲットとの接続は、推奨接続参考図をもとに設計して下さい。 |
・ |
H-debuggerのステータスランプが緑で点滅している場合は、モニタ不在です。
必ず<ファイル>−<ブートロード>−<モニタプログラム>を実行してモニタを組み入れて下さい。 |
・ |
エミュレーションモード遷移時(RstMon等)のみ内蔵RAMの内容が書き換わります。 |
・ |
デバイス制限としてフラッシュメモリの書き換え回数に制限があります。 |
|
3.機能制限事項 |
・ |
レジスタのSP(スタックポインタ)は、リードオンリです。 |
・ |
スタックポインタが適正値でない場合は、モニタは正常動作しません。(例0xFF7E値が適正値) |
・ |
モニタが使用しているエリアにデバッガ操作でメモリライト操作があった場合、無視します。 |
・ |
オンザフラ機能で「割り込み使用する」の設定をした場合、ターゲット実行中に約10msec毎にターゲット状態を調べるため送受信によってモニタを起動させています。ターゲット側の実動作に影響を与える場合は「割り込みを使用しない」側に設定して下さい。 |
|
4.ブレークに対する注意事項 |
・ |
実行後ブレーク固定です。 |
・ |
このモニタは、CPUに内蔵したアドレスブレークコントローラ(PBC)を利用しています。ブレークにおける制限事項は、PBC仕様に準拠しますので注意が必要です。(CPU別ハードウェアマニュアル必読)機能および制限は、H8/300H Tinyと同等です。 |
|
5.各MCUの特記事項 |
【H8/38602】 |
・ |
発振子をOSC1,OSC2端子に接続した状態でデバッグして下さい。 |
・ |
このシリーズはウォッチドッグタイマが初期状態で有効になっていますので、何らかの処理をプログラム記述して下さい。 |
|
6.ファーム起動時のMCUに対する設定 |
・ |
モニタ使用ポート(SCI)を初期設定 |
・ |
(SYSCR1,SYSCR2)の内容を退避後、アクティブモード(高速)に切り換え、モニタ終了時に退避データに戻します。 |
・ |
(TCSRWD1)の内容を退避後、ウォッチドッグタイマを停止させ、モニタ終了時に退避データに戻します。(ユーザモード時) |
|
7.低消費電力モード状態の注意事項 |
・ |
低消費電力状態でブレークモード(モニタ実行)させますと低消費電力モードは解除されます。(エミュレーションモード) |
|
8.ウォッチドッグタイマの注意事項 |
・ |
ブレークモード時(モニタ実行時)はウォッチドッグタイマを停止させ、復帰時(モニタ終了時)に開始時の状態に戻しています。 |
・ |
ユーザプログラムの実行中に周期サンプリングをしますとウォッチドッグタイマは停止します。 |
・ |
ユーザモードでのデバッグ指定において、H-debuggerと送受信の通信が確立した時点でウォッチドッグタイマを停止させていますのでタイムUP周期を10ms以上に設定にして下さい。なおエミュレーションモードは無制限です。 |
・ |
ユーザモードでのデバッグ指定において、ウォッチドッグタイマのタイムUPリセットになりますとPBC(PCブレーク)もリセットされますのでブレークポイントを再設定して下さい。なおエミュレーションモードでは保持しています。 |
・ |
ウォッチドッグタイマ用内部レジスタをデバッガ操作で書き換えても無視します。 |
|
9.その他の注意事項 |
【デバッグモードについて】 |
・ |
H8/Tinyシリーズのデバッグ方式は2モードから選択できます。
【エミュレーションモード】H8/Tiny内部にあるオンチップデバッグ機能を使用するモードです。
【ユーザモード】 PBC(PCブレークコントローラ)を利用してユーザモードでデバッグ可能にしたモードです。 |
・ |
モード別の機能の相違表
項目 |
エミュレーションモード |
ユーザモード |
モード遷移時の内蔵RAM状態(電源ONスタート時のみ) |
書き変る |
書き変らない |
ハードブレークの使用 |
可能 |
可能 |
デバッグ時のウォッチドッグタイマ使用 |
可能 |
可能(10ms以上) |
デバッグ時のウォッチドッグタイマリセット時のI/O状態 |
保持 |
リセット |
デバッグ時の低消費電力モードへの対応 |
可能 |
不可 |
分岐トレースの使用 |
可能 |
不可 |
デバッグ時のリセット遅延防止ソフトタイマ |
不要 |
推奨 |
ソースブレークの使用 |
不可 |
可能 |
PUTCHの使用 |
不可 |
不可 |
|
|
・ |
CPU別モード選択の可否表
品種 |
エミュレーションモード |
ユーザモード |
H8/38076 |
○ |
○ |
H8/38602 |
○ |
× |
|
【リセット遅延に関する注意事項】 |
・ |
H8/Tinyシリーズのデバッグ方式を[ユーザモード]で指定し、ハード的にリセット遅延があるにも関わらず[CPU設定]で[リセット遅延回路]を使用しない側の設定で、DEF8Kの[Start]を掛けますと内蔵RAMの先頭部分が書き換わります。理由としては、遅延の為、リセットLOW状態でNMIがHIGHになる為、エミュレーション回路が有効になってしまうからです。 |
【バッテリバックアップシステムの場合の注意事項】 |
・ |
H8/Tinyシリーズの場合、FROMに書く時の手順として高速ブートモード(エミュレーションモード)に遷移させてからFROM書き込みシーケンスに移行させています。高速ブートモード中は外部からのRESET信号が無効になってしまいますので、書き込み終了後H-debuggeを外した状態で、かつ、モニタ(ファーム)が起動出来ない状態の場合、VCCをOV(ゼロ)に落とし、必ず高速ブートモードから抜けさせて下さい。 |
|
10.オンザフライ時のMCU停止時間の計測値 |
コマンド |
停止時間 単位(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毎にターゲットの状態を調べるため送受信によってモニタを起動させています。ターゲット側の実動作に影響を与える場合は、「割り込みを使用しない」側に設定して下さい。 |
・ |
低消費電力モードとウォッチドッグタイマアップの動作確認をする場合は、「割り込みを使用しない」の設定で確認して下さい。 |
|