H8S:BOOT/22xx制限事項および準備項目
1.ユーザ側での準備項目
MCU動作モードは、(6,7,ブート,ユーザプログラムモード)をサポートします。
デバックモニタが常駐するためのエリア(0x200〜0x7FF)番地をあけてください。
ただし、0x400〜0x4FF番地はDTCベクタテーブルとして使用可能です。
ユーザスタックエリアをモニタワークの方式に応じて、スタックエリアの確保に考慮してください。
メモリマップ

  内蔵ROM
終了アドレス
スタック方式(内蔵RAM) 固定番地方式(内蔵RAM)
使用可能開始番地
(ソースブレ-クを使用した場合)
使用可能開始番地 モニタ使用番地
H8S/2238B 0x3FFFF 0xFFB000 (*0xFFB000) 0xFFB000 *0xFFFFC0
H8S/2238R 0x3FFFF 0xFFB000 (*0xFFB000) 0xFFB000 *0xFFFFC0
H8S/2239 0x5FFFF 0xFF7000 (*0xFF7000) 0xFF7000 *0xFFFFC0
H8S/2258 0x3FFFF 0xFFB000 (*0xFFB000) 0xFFB000 *0xFFFFC0
H8S/2268 0x3FFFF 0xFFB000 (*0xFFB000) 0xFFB000 *0xFFFFC0
モニタが内蔵RAM2を使用する。(DEFバージョン6.50xより対応)
2.使用制限事項
NMIは、デバッガが占有します。
モニタ使用の割り込みベクタは、NMI・PCブレーク・トレース・トラップ2・トラップ3です。(ダウンロード時に自動セット)
リセットベクタ値は0x800以上とし、その番地にはスタックポインタ設定の命令を配置して下さい。DEF8Kの[Start]時に、スタックポインタ値のアドレス場所がRAMであるかの調査をしますので、必ずRAM場所を示して下さい。
デバッグ中は、スタックポイントの設定後に約1〜200ms(ハード構成による)以上のソフトタイマを入れることを推奨します。CPU設定にてリセット遅延防止タイマを不要設定にしますと、リセット解除から20us後にモニタ[NMI]を起動させます。
NMIエッジは、立下りエッジ(初期値)とします。
内蔵RAM有効(初期値)とします。
使用端子は、リセット・NMI・ブートモード時に使用する通信線および、それに伴うSCK・FWEを使用します。
TxDx RxDx SCKx NMI FWE RESET(共有)
SCIの番号は、CPU設定により変更することが出来ます。(H8S/2268以外)
デバッグI/Fを調歩同期に指定した場合は、SCKxは未使用になります。
MCU動作モード(ブート・Advanced)設定回路および設定は、ユーザ(ターゲット)側で準備・設定して下さい。
ターゲットとの接続は、推奨接続参考図をもとに設計して下さい。
H-debuggerのステータスランプが緑で点滅している場合は、モニタ不在です。
必ず<ファイル>−<ブートロード>−<モニタプログラム>を実行してモニタを組み入れて下さい。
デバイス制限としてフラッシュメモリの書き換え回数に制限があります。
3.機能制限事項
レジスタのSP(スタックポインタ)およびEXRは、リードオンリです。
スタックポインタが適正値でない場合は、モニタは正常動作しません。
2238は、MD2を[0](ブートモード)にしてもモニタは実行します。一度モニタプログラムを書き込みますと全消去するまでブートモード判定ができなくなります。
モニタが使用しているエリアにデバッガ操作でメモリライト操作があった場合、無視します。
オンザフラ機能で「割り込み使用する」の設定をした場合、ターゲット実行中に約10msec毎にターゲット状態を調べるため送受信によってモニタを起動させています。ターゲット側の実動作に影響を与える場合は「割り込みを使用しない」側に設定して下さい。
4.ブレークに対する注意事項
【共通事項】
実行前ブレーク固定です。
このモニタは、MCUに内蔵したPCブレークコントローラ(PBC)を利用しています。ブレークにおける制限事項は、PBC仕様に準拠しますので注意が必要です。(MCU別ハードウェアマニュアル必読)また、ステップ実行は、ニモニックを分析しながら次ブレーク位置を設定して実行しています。(3secタイムアウト付)ステップ実行時は、サブルーチンが3sec経っても戻ってこないようなプログラムの場合は、使用しないで下さい。
モジュールストップコントロールレジスタ内のPBC部を[1]にするとブレーク割り込みが発生しなくなります。
【割込みモード0の場合】
PCブレークコントローラ[PBC]を有効にするには、割込みを許可状態にして下さい。
PCブレークは、割込みを許可状態の時のみ停止します。
トレース/ステップ実行は、PCブレークコントローラ[PBC]を利用しています。
【割込みモード2の場合】
PCブレークの割り込みプライオリティは[7]にして下さい。
ユーザ使用の割り込みレベルは全て[6]以下にして下さい。
MCUレジスタEXRの割り込みマスクレベルを[6]以下に設定してください。
MCUに内蔵されたトレース機能を利用しています。
5.各MCUの特記事項
特にありません。
6.ファーム起動時のMCUに対する設定
NMI立下りエッジ指定(SYSCR)
内蔵RAM有効(SYSCR)
モジュールストップコントローラのモニタ使用ポート(SCI)を解除(MSTPCRB)
モジュールストップコントローラのブレークコントローラ(PBC)を解除(MSTPCRC)
モニタ使用ポート(SCI)を初期設定
(SCKCR)の内容を退避後、アクティブモード(高速)に切り換え、モニタ終了時に退避データに戻します。
(TCSR0,TCSR1)の内容を退避後、ウォッチドッグタイマを停止させ、モニタ終了時に退避データに戻します。
7.低消費電力モード状態の注意事項
サブクロックを使用するモード(サブアクティブモード等)には対応できません。
低消費電力状態でブレークモード(モニタ実行)させますと低消費電力モードは解除されます。
8.ウォッチドッグタイマの注意事項
ブレークモード時(モニタ実行時)はウォッチドッグタイマを停止させ、復帰時(モニタ終了時)に開始時の状態に戻しています。
ユーザプログラムの実行中に周期サンプリングをしますとウォッチドッグタイマは停止します。
H-debuggerと送受信の通信が確立した時点でウォッチドッグタイマを停止させていますのでタイムUP周期を10ms以上に設定にして下さい。
ウォッチドッグタイマのタイムUPリセットになりますとPBC(PCブレーク)もリセットされますのでブレークポイントを再設定して下さい。
ウォッチドッグタイマ用内部レジスタをデバッガ操作で書き換えても無視します。
9.その他の注意事項
H8S内部I/Oレジスタの中には、16,32ビットの指定ビットによるアクセス制限がついている場合があります。メモリセットコマンド等で内部I/Oレジスタアクセスする場合は、指定ビット長でアクセスして下さい。指定外ビット長でアクセスしますと間違った情報を得ることになります。
10.オンザフライ時のMCU停止時間の計測値
コマンド 停止時間 単位(msec)
CPU設定  割込みを使用しない 割込みを使用する  
デバッグI/F クロック同期 クロック同期 調歩同期
割込み方式 受信割込み 受信割込み
割込みが使用できる条件 ワークエリア固定番地方式
ユーザ側が割込み許可状態
[PUTCH]を使用しない
ワークエリア固定番地方式
ユーザ側が割込み許可状態
[PUTCH]を使用しない
1バイトのメモリアクセス 0.80
1バイト増毎に+0.05ms
(MAX 128byte 7.3ms)
0.02
バイト数に影響されない
0.10
バイト数に影響されない
全レジスタ 5.00 0.02 0.10
個別レジスタ(ERレジスタ) 0.50 0.02 0.10
個別レジスタ(CCRレジスタ) 0.50 0.02 0.10
個別レジスタ(PCレジスタ) 0.50 0.02 0.10
1行の逆アセンブラ 2.00 0.02 0.10
DI,EI.IntFlg(割込み系) 5.00 5.00 8.00
ブレークポイントの設定 10.00 10.00 16.00
ブレークポイントの解除 10.00 10.00 16.00
停止時間の計測方法 [NMI]のLow巾 計測方法なし 計測方法なし
*H8S/2268 クロックが19.6608MHz時の実測値

<オンザフライ機能使用時の注意事項 割込み方式が「ブレーク割込み」の場合>
「受信割り込み」の場合、ターゲット実行中に約10ms毎にターゲットの状態を調べるため送受信によってモニタを起動させています。ターゲット側の実動作に影響を与える場合は、「割り込みを使用しない」側に設定して下さい。
低消費電力モードとウォッチドッグタイマアップの動作確認をする場合は、「割り込みを使用しない」の設定で確認して下さい。