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


  内蔵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)
SH7262/4/6/7/8/9品種は、ROMレス品種です。外付けフラッシュROM/RAM、または内蔵RAM対応になります。
2.使用制限事項
デバッグをするためには、CPUをエミュレーションモードにする必要があります。
エミュレーション−モード遷移の操作でエミュレーションモードにして下さい。
DMAコントローラを動作させているプログラムの場合、バス解放されるまでデバッグ操作できません。
このデバッガは、ソフトH-UDI制御をしていますので、約1MHzで動作しています。
ファーム使用の割り込みベクタは下記の通りでダウンロード時に自動セットされます。
(ベクタ14・ベクタ21 SH7211/7216)
(ベクタ14・ベクタ16 SH7286)

(なし SH7262/7264)
(なし SH7266/7267)
(なし SH7268/7269)
ベクタ0(リセット)値は0x800番地以上とし、ベクタ1(スタック)値は4の倍数の適正なスタック値を置いてください。
デバッグ中は、リセット解除後、約1ms以上のソフトタイマを入れることを推奨します。
上記表のファーム使用アドレスは、、デバッガが使用しています。ユーザはアクセスしないで下さい。
使用端子は、H-UDI用に占有・共有使用します。(E10A-USBに準拠)
TDI TDO TCK TRST TMS RST(共有)
デバッグ機能選択端子「ASEMD」をアサート(デバッグ)/ネゲート(実チップ)にする回路は、ユーザ側で準備して下さい。
SH7211(ASEMD:アサート:LOW  ネゲート:HIGH)
ターゲットとの接続は、推奨接続参考図をもとに設計して下さい。
RESET信号はH-debuggerから制御していますのでターゲット側は入力になります。
ただし、CPU設定でデバッガからのリセット出力を使用しないに設定しますと未接続で動作します。 詳細はこちらを御覧下さい。
RES,MRES,BREQ,WAITT端子のどれかがLOW状態でデバッガ起動またはブレークしますと正常動作しません。
デバイス制限としてフラッシュメモリの書き換え回数に制限があります。
3.機能制限事項
レジスタのSP(スタックポインタ)およびVBRは、リードオンリです。
ソフトウェアパーツの「PUTCH/ソースブレーク」は、使用する事が出来ません。(RAM上のソフトブレークは可能です。)
4.ブレークに対する注意事項
実行前ブレーク固定です。
ブレーク条件はCバスサイクルです。
遅延分岐命令のスロット命令にブレークポイントを設定した場合、PC値は不当な値となります。
よって、遅延分岐命令のスロット命令にブレークポイントを設定しないで下さい。
遅延分岐命令の真/偽のアドレスが同一(実際はありえない)の場合で分岐先にブレークポイントを設定した場合、ブレーク割り込みが発生しない場合があります。必ず違うアドレスになる様にして下さい。
5.SH−2A/CPU固有の特記事項
【共通項目】
「FRQCR」の変更には、注意事項がありますので「ハードウェアマニュアル」をご覧下さい。
【SH7211】
プログラムにて、「FRQCR」を変更した場合、WDTがタイムアップするまでLSI動作が停止します。この動作停止中にデバッガアクセスしますと、デバッガは動作不可になります。
【SH7216】
プログラムにて、「FRQCR」を変更した場合、WDTがタイムアップするまでLSI動作が停止します。変更後「Nop命令」32個を実行させて下さい。この動作停止中にデバッガアクセスしますと、デバッガは動作不可になります。
【SH7262】
【SH7264】
ROMレス品種のため、CPU設定でプログラム転送先デバイス品種を指定する必要があります。
FROM品種(AT48BV320D/S29GL032N)に関しては、添付ソフトと同仕様でしたら使用可能になっています。
シリアルFROM品種(AT25DF041A)に関しては、使用可能になっています。
他のFROM品種の場合は、イレーズ/バイト書き込みのプログラムを作成する必要があります。
作成方法はカテゴリー「ルネサスC」をご覧下さい。
キャッシュ有効状態でのデバッグ中に再ダウンロードする場合は、BSC設定スクリプトファイルにキャッシュ無効コマンドを記述してダウンロード開始前に必ずキャッシュ無効状態にして下さい。(ex. <SQ CCR1 0x0 W)
ブートモード1/3を使用して高速内蔵RAMにプログラムコードを配置する場合は、コードエリアをページ1(0xFFF84000)以上に配置して下さい。ただし、B,Sセクションはページ0(0xFFF80000)に配置しても動作可能です。
【SH7266】
【SH7267】
ROMレス品種のため、CPU設定でプログラム転送先デバイス品種を指定する必要があります。
FROM品種(S29GL032N)に関しては、添付ソフトと同仕様でしたら使用可能になっています。
シリアルFROM品種(SST25VF016B/M25P16)に関しては、使用可能になっています。
他のFROM品種の場合は、イレーズ/バイト書き込みのプログラムを作成する必要があります。
作成方法はカテゴリー「ルネサスC」をご覧下さい。
キャッシュ有効状態でのデバッグ中に再ダウンロードする場合は、BSC設定スクリプトファイルにキャッシュ無効コマンドを記述してダウンロード開始前に必ずキャッシュ無効状態にして下さい。(ex. <SQ CCR1 0x0 W)
リセット解除時に大容量内蔵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品種(S29GL256P)に関しては、添付ソフトと同仕様でしたら使用可能になっています。
シリアルFROM品種(S25FL032P)に関しては、使用可能になっています。
他のFROM品種の場合は、イレーズ/バイト書き込みのプログラムを作成する必要があります。
作成方法はカテゴリー「ルネサスC」をご覧下さい。
キャッシュ有効状態でのデバッグ中に再ダウンロードする場合は、BSC設定スクリプトファイルにキャッシュ無効コマンドを記述してダウンロード開始前に必ずキャッシュ無効状態にして下さい。(ex. <SQ CCR1 0x0 W)
リセット解除時に大容量内蔵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個を実行させて下さい。この動作停止中にデバッガアクセスしますと、デバッガは動作不可になります。
レジスタバンクアンダーフロー例外(ベクタ16)のエミュレーションはできません。
6.低消費電力モード状態の注意事項
デバッグ中、低消費電力状態(スリープモード)でブレークモードにさせますと低消費電力状態は解除されます。
デバッグ中、低消費電力状態(ソフトスタンバイモード)は、動作不可になります。
7.ウォッチドッグタイマの注意事項
ブレークモード(ファーム実行)時は、ウォッチドッグタイマは停止します。
ユーザプログラム実行中に周期サンプリングしますとウォッチドッグタイマは停止します。
8.その他の注意事項
SH-2Aの内部I/Oレジスターは、種類によって8,16,32ビットアクセス用とビット長により制限がついています。
メモリセットコマンド等で、内部I/Oレジスターアクセスする場合は、指定ビット長でアクセスして下さい。
指定外ビット長でアクセスしますと,間違った情報を得ることになります。
内蔵RAMを無効設定にしないで下さい。(SYSCR1:RAME3〜0:1 RAMEx:0にすると無効になる。)
CPU設定時の周波数逓倍率(Iφ)は、使用逓倍の最大倍率を指定して下さい。
ダウンロード時は、周波数逓倍レジスタ「FRQCR」を初期状態に戻します。
9.オンザフライ時のCPU停止時間の計測値
コマンド 停止時間 単位(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レジスタ) 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停止が同時に発生した場合、自動実行側が優先されます。