|
1.ユーザ側での準備項目 |
・ |
MCU動作モードは、ブートと内蔵ROM有効モード(1Mバイト以上)をサポートします。 |
・ |
デバックモニタが常駐するためのエリア(0x100〜0x7FF)番地をあけてください。 |
・ |
ユーザスタックエリアをモニタワークの方式に応じて、スタックエリアの確保に考慮してください。 |
・ |
メモリマップ
|
内蔵ROM 終了アドレス |
スタック方式(内蔵RAM) |
固定番地方式(内蔵RAM) |
使用可能開始番地 (ソースブレ-クを使用した場合) |
使用可能開始番地 |
モニタ使用番地 |
H8/3052B |
0x7FFFF |
0xFFDF10 (*0xFFDF50) |
0xFFDF50 |
*0xFFDF10 |
H8/3067R |
0x1FFFF |
0xFFEF20 (*0xFFEF60) |
0xFFEF60 |
*0xFFEF20 |
H8/3068F(EMC=1) |
0x5FFFF |
0xFFBF20 (*0xFFBF60) |
0xFFBF60 |
*0xFFBF20 |
H8/3068F(EMC=0) |
0x5FFFF |
0xFFBEE0 (*0xFFBEE0) |
0xFFBEE0 |
*0xFFFF80 |
H8/3069R(EMC=1) |
0x7FFFF |
0xFFBF20 (*0xFFBF60) |
0xFFBF60 |
*0xFFBF20 |
H8/3069R(EMC=0) |
0x7FFFF |
0xFFBEE0 (*0xFFBEE0) |
0xFFBEE0 |
*0xFFFF80 |
*モニタが内蔵RAM先頭より0x40バイト使用する。
*モニタが内蔵RAM2を使用する。(DEFバージョン6.50xより対応) |
|
2.使用制限事項
|
・ |
NMIは、デバッガが占有します。 |
・ |
モニタ使用の割り込みベクタは、NMI・トラップ2・トラップ3です。(ダウンロード時に自動セット) |
・ |
DMAコントローラを使用するユーザプログラムの場合、バス開放されるまではデバッグできません。 |
・ |
リセットベクタ値は0x800以上とし、その番地にはスタックポインタ設定の命令を配置して下さい。DEF8Kの[Start]時に、スタックポインタ値のアドレス場所がRAMであるかの調査をしますので、必ずRAM場所を示して下さい。
|
・ |
デバッグ中は、スタックポイントの設定後に約1〜200ms(ハード構成による)以上のソフトタイマを入れることを推奨します。CPU設定にてリセット遅延防止タイマを不要設定にしますと、リセット解除から20us後にモニタ[NMI]を起動させます。 |
・ |
NMIエッジは、立下りエッジ(初期値)とします。 |
・ |
内蔵RAM有効(初期値)とします。 |
・ |
使用端子は、リセット・NMI・ブートモード時に使用する通信線および、それに伴うSCK・FWEを使用します。
TxD1 RxD1 SCK1 NMI FWE RESET(共有) デバッグI/Fを調歩同期に指定した場合は、SCK1は未使用になります。 |
・ |
MCU動作モード(ブート・Advanced)設定回路および設定は、ユーザ(ターゲット)側で準備・設定して下さい。 |
・ |
ターゲットとの接続は、推奨接続参考図をもとに設計して下さい。 |
・ |
H-debuggerのステータスランプが緑で点滅している場合は、モニタ不在です。
必ず<ファイル>−<ブートロード>−<モニタプログラム>を実行してモニタを組み入れて下さい。 |
・ |
デバイス制限としてフラッシュメモリの書き換え回数に制限があります。 |
|
3.機能制限事項 |
・ |
レジスタのSP(スタックポインタ)は、リードオンリです。 |
・ |
スタックポインタが適正値でない場合は、モニタは正常動作しません。 |
・ |
モニタが使用しているエリアにデバッガ操作でメモリライト操作があった場合、無視します。 |
・ |
オンザフラ機能で「割り込み使用する」の設定をした場合、ターゲット実行中に約10msec毎にターゲット状態を調べるため送受信によってモニタを起動させています。ターゲット側の実動作に影響を与える場合は「割り込みを使用しない」側に設定して下さい。 |
|
4.ブレークに対する注意事項 |
・ |
このMCUは、PCブレークコントローラ(PBC)が無い為、ハードブレーク機能を使用する事が出来ません。ソースブレークとソフトブレークの対応になります。 |
・ |
プログラムがRAM上の場合は、トレース/ステップ実行が可能になります。 |
|
5.各MCUの特記事項 |
【H8/3052B】 |
・ |
対応MCU動作モードは、5,6,7です。 |
【H8/3067R】 |
・ |
対応MCU動作モードは、5,7です。6(ノーマルモード)は、対応できません。 |
【H8/3068F】
【H8/3069R】 |
・ |
対応MCU動作モードは、6,7です。 |
・ |
BCRレジスタのEMCビットにより内部レジスタ及びRAMのアドレスが変わりますので、EMCビットの設定後にシンボルアクセスして下さい。 |
・ |
ユーザプログラムのダウンロード時は、BCRレジスタのEMCビットを強制的に[1]にします。 |
・ |
モニタワークが固定番地方式でCPU設定のEMC(0:1)を指定変更した場合は、
必ず<ファイル>−<ブートロード>−<モニタ>から実施して下さい。 |
|
6.ファーム起動時のMCUに対する設定 |
・ |
NMI立下りエッジ指定(SYSCR) |
・ |
内蔵RAM有効(SYSCR) |
・ |
モジュールストップコントローラのモニタ使用ポート(SCI)を解除(MSTPCR) |
・ |
モニタ使用ポート(SCI)を初期設定 |
・ |
(DIVCR)の内容を退避後、分周比(1/1)に切り換え、モニタ終了時に退避データに戻します。 |
・ |
(TCSR)の内容を退避後、ウォッチドッグタイマを停止させ、モニタ終了時に退避データに戻します。 |
|
7.低消費電力モード状態の注意事項 |
・ |
低消費電力状態でブレークモード(モニタ実行)させますと低消費電力モードは解除されます。 |
|
8.ウォッチドッグタイマの注意事項 |
・ |
ブレークモード時(モニタ実行時)はウォッチドッグタイマを停止させ、復帰時(モニタ終了時)に開始時の状態に戻しています。 |
・ |
ユーザプログラムの実行中に周期サンプリングをしますとウォッチドッグタイマは停止します。 |
・ |
H-debuggerと送受信の通信が確立した時点でウォッチドッグタイマを停止させていますのでタイムUP周期を10ms以上に設定にして下さい。 |
・ |
ウォッチドッグタイマのタイムUPリセットになりますと内部I/Oレジスタもリセットされます。 |
・ |
ウォッチドッグタイマ用内部レジスタをデバッガ操作で書き換えても無視します。 |
|
9.その他の注意事項 |
・ |
H8内部I/Oレジスタの中には、16,32ビットの指定ビットによるアクセス制限がついている場合があります。メモリセットコマンド等で内部I/Oレジスタアクセスする場合は、指定ビット長でアクセスして下さい。指定外ビット長でアクセスしますと間違った情報を得ることになります。 |
|
10.オンザフライ時のMCU停止時間の計測値 |
コマンド |
停止時間 単位(msec) |
CPU設定 |
割込みを使用しない |
割込みを使用する |
デバッグI/F |
クロック同期 |
クロック同期 |
調歩同期 |
割込み方式 |
− |
受信割込み |
受信割込み |
割込みが使用できる条件 |
− |
ワークエリア固定番地方式 ユーザ側が割込み許可状態 [PUTCH]を使用しない |
ワークエリア固定番地方式 ユーザ側が割込み許可状態 [PUTCH]を使用しない |
1バイトのメモリアクセス |
1.20 1バイト増毎に+0.1ms (MAX 128byte 13.0ms) |
0.04 バイト数に影響されない |
0.20 バイト数に影響されない |
全レジスタ |
12.0 |
0.04
|
0.20 |
個別レジスタ(ERレジスタ) |
1.00 |
0.04
|
0.20 |
個別レジスタ(CCRレジスタ) |
1.00 |
0.04
|
0.20 |
個別レジスタ(PCレジスタ) |
1.00 |
0.04
|
0.20 |
1行の逆アセンブラ |
3.00 |
0.04
|
0.20 |
DI,EI.IntFlg(割込み系) |
30.00
|
30.00 |
30.00 |
停止時間の計測方法 |
[NMI]のLow巾 |
計測方法なし |
計測方法なし |
*H8/3069 クロックが20.0MHz時の実測値 |
|
|
<オンザフライ機能使用時の注意事項 割込み方式が「ブレーク割込み」の場合> |
・ |
「受信割り込み」の場合、ターゲット実行中に約10ms毎にターゲットの状態を調べるため送受信によってモニタを起動させています。ターゲット側の実動作に影響を与える場合は、「割り込みを使用しない」側に設定して下さい。 |
・ |
低消費電力モードとウォッチドッグタイマアップの動作確認をする場合は、「割り込みを使用しない」の設定で確認して下さい。 |
|