SH−2A:H−UDI/72xx制限事項および準備項目
1.ユーザ側での準備項目
MCU動作モードは、(2,3)の時にデバッグ機能選択端子[ASEMD0]をアサートした時にデバッグ可能となります。
SH7262/4は、MCU動作モードに関係なく、デバッグ機能選択端子[ASEMD0]をアサートした時にデバッグ可能となります。
ユーザプログラムの開始アドレスは、0x800番地以上にして下さい。
メモリマップ

*SH7264品種は、内蔵ROMレス品種です。外付けフラッシュROM/RAM、又は内蔵RAMの対応になります。

品種 内蔵ROM終了 内蔵RAM ファーム使用
SH7211 0x7FFFF 全開放 0x80000000(4KB)
SH7216_5 0x7FFFF 全開放 0x80000000(4KB)
SH7216_6 0xBFFFF 全開放 0x80000000(4KB)
SH7216_7 0xFFFFF 全開放 0x80000000(4KB)
SH7286_5 0x7FFFF 全開放 0x80000000(4KB)
SH7286_6 0xBFFFF 全開放 0x80000000(4KB)
SH7286_7 0xFFFFF 全開放 0x80000000(4KB)
SH7262/SH7264 なし 全開放 0x80000000(4KB)
SH7266/SH7267 なし 全開放 0x80000000(4KB)
SH7268/SH7269 なし 全開放 0x80000000(4KB)
2.使用制限事項
デバッグをするためには、MCUをエミュレーションモードにする必要があります。
エミュレーション−モード遷移の操作でエミュレーションモードにして下さい
H-UDIの転送クロックは、CPU設定で1MHz〜6MHzの範囲で指定して下さい。
ファーム使用の割り込みベクタは下記の通りでダウンロード時に自動セットされます。
ベクタ14/21----[SH7211/7216]
ベクタ14/16----[SH7286]
なし-----------[SH7262/4][SH7266/7]
リセットベクタ値は0x800以上とし、ベクタ1(スタック)値は4の倍数の適正なスタック値を置いてください。
デバッグ中は、リセット後に約1ms以上のソフトタイマを入れることを推奨します。
上記ファーム使用アドレスは、デバッガが使用しています。ユーザはアクセスしないで下さい。
使用端子は、H-UDI用に占有・共有使用します。(E10A-USBに準拠)
(TDI TDO TCK TRST TMS)占有 (RST)共有
デバッグ機能選択端子[/ASEMD0]をLOWにする回路はEMLE出力を利用することができます。
ターゲットとの接続は、推奨接続参考図をもとに設計して下さい。
3.機能制限事項
レジスタのSP(スタックポインタ)およびVBRは、リードオンリです。
ソフトウェアパーツの[PUTCH/ソースブレーク]は、使用する事が出来ません。
4.ブレークに対する注意事項
実行前ブレーク固定です。
ブレーク条件はCバスサイクル固定です。
遅延分岐命令のスロット命令にブレークポイントを設定した場合、PC値は不当な値となります。よって、遅延分岐命令のスロット命令にブレークポイントを設定しないで下さい。
遅延分岐命令の真/偽のアドレスが同一(実際はありえない)の場合で分岐先にブレークポイントを設定した場合、ブレーク割り込みが発生しない場合があります。必ず違うアドレスになる様にして下さい。
5.各MCUの特記事項
【共通項目】
[FRQCR]の変更には、注意事項がありますので[ハードウエアマニュアル]をご覧下さい。
【SH7211】
プログラムにより[FRQCR]を変更する場合は、WDTがタイプアップするまでLSI動作は停止します。この動作停止中にデバッガアクセスしますと、デバッガが動作不可になります。
【SH7216】
プログラムにより[FRQCR]を変更する場合は、WDTがタイプアップするまでLSI動作は停止します。変更後[NOP命令]32個を実行しなければなりません。この動作停止中にデバッガアクセスしますと、デバッガが動作不可になります
【SH7262】
【SH7264】
ROMレス品種の為、CPU設定でプログラム転送先デバイス品種を指定する必要があります。
転送先デバイス品種が外付けFROMの場合は、セクターイレーズ/バイト書込みのプログラムを作成して登録する必要があります。作成方法は、弊社ホームページにて公開しています。
外付けFROM品種[AT49BV320D/S29GL032N]に関しては、使用可能になっています。
シリアルFROM品種[AT25DF041A]に関しては、使用可能になっています。
ブートモード1/3を使用して高速内蔵RAMにプログラムコードを配置する場合は、コードエリアをページ1(0xFFF84000)以上に配置して下さい。ただし、B,Sセクションはページ0(0xFFF80000)に配置しても動作可能です。
【SH7266】
【SH7267】
ROMレス品種の為、CPU設定でプログラム転送先デバイス品種を指定する必要があります。
転送先デバイス品種が外付けFROMの場合は、セクターイレーズ/バイト書込みのプログラムを作成して登録する必要があります。作成方法は、弊社ホームページにて公開しています。
外付けFROM品種[S29GL032N]に関しては、使用可能になっています。
シリアルFROM品種[SST25VF016B/M25P16]に関しては、使用可能になっています。
リセット解除時に大容量内蔵RAMの0x1c00_0000->0x1c01_ffff(0x3c00_0000->0x3c01_ffff)がライト無効[SYSCR5=0x0]になっています。このアドレス範囲内に「Rセクション」等のライトが必要な配置になっている場合は、標準関数「_INITSCT()」を処理する前にライト有効[SYSCR5=0xf]にして下さい。
ブートモード1/3を使用して高速内蔵RAMにプログラムコードを配置する場合は、コードエリアをページ1(0xFFF84000)以上に配置して下さい。ただし、B,Sセクションはページ0(0xFFF80000)に配置しても動作可能です。
【SH7268】
【SH7269】
ROMレス品種の為、CPU設定でプログラム転送先デバイス品種を指定する必要があります。
転送先デバイス品種が外付けFROMの場合は、セクターイレーズ/バイト書込みのプログラムを作成して登録する必要があります。作成方法は、弊社ホームページにて公開しています。
外付けFROM品種[S29GL256P]に関しては、使用可能になっています。
シリアルFROM品種[S25FL032P]に関しては、使用可能になっています。
リセット解除時に大容量内蔵RAMの0x1c00_0000->0x1c01_ffff(0x3c00_0000->0x3c01_ffff)がライト無効[SYSCR5=0x0]になっています。このアドレス範囲内に「Rセクション」等のライトが必要な配置になっている場合は、標準関数「_INITSCT()」を処理する前にライト有効[SYSCR5=0xf]にして下さい。
ブートモード3を使用して高速内蔵RAMにプログラムコードを配置する場合は、コードエリアをページ1(0xFFF84000)以上に配置して下さい。ただし、B,Sセクションはページ0(0xFFF80000)に配置しても動作可能です。
【SH7286】
プログラムにより[FRQCR]を変更する場合は、WDTがタイプアップするまでLSI動作は停止します。変更後[NOP命令]32個を実行しなければなりません。この動作停止中にデバッガアクセスしますと、デバッガが動作不可になります。
レジスタバンクアンダーフロー例外のエミュレーションはできません。
6.ファーム起動時のMCUに対する設定
特にありません。
7.低消費電力モード状態の注意事項
デバッグ中、低消費電力状態(スリープモード)でブレークモードにさせますと低消費電力状態は解除されます。
デバッグ中、低消費電力状態(ソフトスタンバイモード)は、動作不可になります。
8.ウォッチドッグタイマの注意事項
ブレークモード時(ファーム実行時)はウォッチドッグタイマが停止します。
ユーザプログラムの実行中に周期サンプリングをしますとウォッチドッグタイマは停止します。
9.その他の注意事項
SH-2の内部I/Oレジスターは、種類によって8,16,32ビットアクセス用とビット長により制限がついています。メモリセットコマンド等で、内部I/Oレジスターアクセスする場合は、指定ビット長でアクセスして下さい。指定外ビット長でアクセスしますと,間違った情報を得ることになります。
内蔵RAMを無効設定にしないで下さい。(SYSCR1 RAME30:1 RAMEx:0にすると無効になる。)
CPU設定時の周波数逓倍率(IΦ)は、使用逓倍の最大倍率を指定して下さい。
ダウンロード時は、周波数逓倍レジスタ[FRQCR]を初期状態に戻します。
10.オンザフライ時のMCU停止時間の計測値
コマンド 停止時間 単位(msec)
CPU設定  割込みを使用しない 割込みを使用する
デバッグI/F H-UDI H-UDI
割込み方式 ブレーク割込み
割込みが使用できる条件 なし
1バイトのメモリアクセス 0.60
1バイト増毎に+0.12ms
(MAX 128byte 16.0ms)
0.30
バイト数に影響されない
全レジスタ 8.00 0.30
個別レジスタ(Rレジスタ) 0.40 0.30
個別レジスタ(SRレジスタ)ode> 0.40 0.30
個別レジスタ(PCレジスタ) 0.40 0.30
1行の逆アセンブラ 1.00 0.30
DI,EI.IntFlg(割込み系) 4.00 4.00
ブレークポイントの設定 14.0 14.0
ブレークポイントの解除 14.0 14.0
停止時間の計測方法 計測方法なし 計測方法なし
*SH7216 クロックが12.5MHz(x16)時の実測値

<オンザフライ機能使用時の注意事項 割込み方式が「ブレーク割込み」の場合>
BP(ブレークポイント)を張ってる状態で、オンザフライの自動実行とBP停止が同時に発生した場合、自動実行側が優先されます