|
1.ユーザ側での準備項目 |
・ |
デバックモニタが常駐するためのエリア(0x200〜0x7FF)番地をあけてください。 |
・ |
ユーザスタックエリアをモニタワークの方式に応じて、スタックエリアの確保に考慮してください。 |
・ |
メモリマップ
|
内蔵ROM 終了アドレス |
スタック方式(内蔵RAM) |
固定番地方式(内蔵RAM) |
使用可能開始番地 |
使用可能開始番地 |
モニタ使用番地 |
H8/38004 |
0x7FEF |
0xF780 |
0xF7C0 |
*0xF780 |
H8/38024 |
0x7FEF |
0xF780 |
0xF7C0 |
*0xF780 |
H8/38104 |
0x7FEF |
0xF780 |
0xF7C0 |
*0xF780 |
H8/38124 |
0x7FEF |
0xF780 |
0xF7C0 |
*0xF780 |
*モニタが内蔵RAM先頭より0x40バイト使用する。 |
|
2.使用制限事項
|
・ |
[ソースブレーク]と[PUTCH]は使用できません。 |
・ |
モニタ使用の割り込みベクタは、リザーブエリアを使用します。(ダウンロード時に自動セット) |
・ |
リセットベクタ値は0x800以上とし、その番地にはスタックポインタ設定の命令を配置して下さい。 |
・ |
使用端子は、E8が使用する通信線を占有使用します。
P33 P34 P35 P95 RESET(共有) |
・ |
ターゲットとの接続は、推奨接続参考図をもとに設計して下さい。 |
・ |
H-debuggerのステータスランプが緑で点滅している場合は、モニタ不在です。
必ず<ファイル>−<ブートロード>−<モニタプログラム>を実行してモニタを組み入れて下さい。 |
・ |
エミュレーションモード遷移時(RstMon等)のみ内蔵RAMの内容が書き換わります。 |
・ |
デバイス制限としてフラッシュメモリの書き換え回数に制限があります。 |
|
3.機能制限事項 |
・ |
レジスタのSP(スタックポインタ)は、リードオンリです。 |
・ |
スタックポインタが適正値でない場合は、モニタは正常動作しません。(例0xFF7E値が適正値) |
・ |
モニタが使用しているエリアにデバッガ操作でメモリライト操作があった場合、無視します。 |
・ |
メモリへのアクセスは、全てバイトアクセスになっています。(例「short」の場合2バイトアクセス) |
・ |
オンザフラ機能で「割り込み使用する」の設定をした場合、ターゲット実行中に約10msec毎にターゲット状態を調べるため送受信によってモニタを起動させています。ターゲット側の実動作に影響を与える場合は「割り込みを使用しない」側に設定して下さい。 |
|
4.ブレークに対する注意事項 |
・ |
実行後ブレーク固定です。 |
・ |
このモニタは、CPUに内蔵したアドレスブレークコントローラ(PBC)を利用しています。
ブレークにおける制限事項は、PBC仕様に準拠しますので注意が必要です。(CPU別ハードウェアマニュアル必読)機能および制限は、H8/300H
Tinyと同等です。 |
|
5.各MCUの特記事項 |
【H8/38104】
【H8/38124】
|
・ |
発振子をOSC1,OSC2端子に接続した状態でデバッグして下さい。 |
・ |
このシリーズはウォッチドッグタイマが初期状態で有効になっていますので、何らかの処理をプログラム記述して下さい。 |
・ |
リングオシレータモードでの動作中にブレークモード(モニタ実行)をしますとモニタ内で、アクティブ(高速)モードに切り替えています。この遷移時に一旦スタンバイモード経由で遷移させている為、出力ポートは一旦ハイインピーダンスになります。 |
|
6.ファーム起動時のMCUに対する設定 |
・ |
モニタ使用ポート(SCI)を初期設定 |
・ |
(SBRCR1,SYSCR2,TMA[TMA3])の内容を退避後、アクティブモード(高速)に切り換え、モニタ終了時に退避データに戻します。 |
|
7.低消費電力モード状態の注意事項 |
・ |
低消費電力状態でブレークモード(モニタ実行)させますと低消費電力モードは解除されます。 |
|
8.ウォッチドッグタイマの注意事項 |
・ |
ブレークモード時(モニタ実行時)はウォッチドッグタイマを停止させ、復帰時(モニタ終了時)に開始時の状態に戻しています。 |
・ |
ユーザプログラムの実行中に周期サンプリングをしますとウォッチドッグタイマは停止します。 |
・ |
ウォッチドッグタイマ用内部レジスタをデバッガ操作で書き換えても無視します。 |
|
9.その他の注意事項 |
・ |
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.04 バイト数に影響されない |
全レジスタ |
12.0 |
0.04 |
個別レジスタ(ERレジスタ) |
1.20 |
0.04 |
個別レジスタ(CCRレジスタ) |
1.20 |
0.04 |
個別レジスタ(PCレジスタ) |
1.20 |
0.04 |
1行の逆アセンブラ |
4.00 |
0.04 |
DI,EI.IntFlg(割込み系) |
5.00 |
5.00 |
ブレークポイントの設定 |
10.0 |
10.0 |
ブレークポイントの解除 |
10.0 |
10.0 |
停止時間の計測方法 |
[NMI]のLow巾 |
計測方法なし |
*H8/38124 クロックが16.0MHz時の実測値 |
|
|
<オンザフライ機能使用時の注意事項 割込み方式が「ブレーク割込み」の場合> |
・ |
「受信割り込み」の場合、ターゲット実行中に約10ms毎にターゲットの状態を調べるため送受信によってモニタを起動させています。ターゲット側の実動作に影響を与える場合は、「割り込みを使用しない」側に設定して下さい。 |
・ |
低消費電力モードとウォッチドッグタイマアップの動作確認をする場合は、「割り込みを使用しない」の設定で確認して下さい。 |
|