2.22 疑似エラー・デバッグ【Full-spec emulator】【E1】【E20】

疑似エラー・デバッグは,実機上では発生させることが困難なエラーを疑似的に発生させることで,エラー発生時に呼び出されるリセット・ルーチンやハンドラ,またはそこから呼び出される関数のプログラム動作の確認やデバッグを行うための機能です。

本機能は,ECM(エラーコントロールモジュール)を利用して疑似的に発生させることで実現しています。

各デバイスのユーザーズマニュアル ハードウェア編のECMの章を参照してください。ECMのないデバイスではECMの章がありません。その場合は,疑似エラー・デバッグ機能も使用できません。

 

[使い方]

(1)

疑似エラー・デバッグ パネルを開く

ソリューション一覧 パネルを開き,疑似エラー・デバッグの[GO]ボタンをクリックすると,疑似エラー・デバッグ パネル【Full-spec emulator】【E1】【E20】が表示されます。

図 2.103

疑似エラー・デバッグ パネル

備考

疑似エラー・デバッグをサポートしていないデバイスでは,ソリューション一覧 パネルに疑似エラー・デバッグを表示しません。サポートしているデバイスでも,シミュレータ使用時やデバッグ・ツール未接続時は[GO]ボタンが無効になります。

(2)

疑似エラー選択 ダイアログを開く

疑似エラー・デバッグ パネル【Full-spec emulator】【E1】【E20】 をクリックすると,疑似エラー選択 ダイアログ【Full-spec emulator】【E1】【E20】を表示します。

図 2.104

疑似エラー選択 ダイアログ

 

(3)

発生させたいエラーを選択する

疑似エラー選択 ダイアログ【Full-spec emulator】【E1】【E20】には,疑似エラー・デバッグ機能がサポートしているエラーの一覧が表示されます。発生させたいエラーのチェックボックスをチェックし,[OK]ボタンをクリックします。選択したエラーが疑似エラー・デバッグ パネル【Full-spec emulator】【E1】【E20】に表示されます。

図 2.105

疑似エラー・デバッグ パネル

備考

エラーの詳細はユーザーズマニュアル ハードウェア編を参照してください。ビット名はECMの章のECM疑似エラートリガレジスタ(ECMPE0等)のビット名です。

(4)

ブレークさせたいアドレスを指定する

疑似エラー・デバッグ パネル【Full-spec emulator】【E1】【E20】 をクリックすると,ブレークポイント設定 ダイアログ【Full-spec emulator】【E1】【E20】が開きます。エラー発生時に呼びだされるハンドラやリセットのアドレス式を入力することで,エラー発生後にそのアドレスでブレークさせることができます。入力にはハンドラ名等のシンボルを入力することが可能です。

図 2.106

ブレークポイント設定 ダイアログ

備考 1.

入力するアドレスにはROM領域のアドレスを指定してください。RAM領域のアドレスではブレークポイントを設定できません。

備考 2.

指定されたアドレスにソフトウェア・ブレークが設定されます。

備考 3.

ここ以外で設定したブレークポイントは ではブレークしません。強制停止は可能です。

(5)

疑似エラーを発生させる

疑似エラー・デバッグ パネル【Full-spec emulator】【E1】【E20】 をクリックしてください。ECM疑似エラートリガーレジスタ(ECMPE0等)を利用してエラーが発生します。ユーザの設定により割り込みやリセットが発生します。ブレークポイント設定 ダイアログ【Full-spec emulator】【E1】【E20】で指定したアドレスの通過時にブレークします。

備考

非同期デバッグ・モードでは疑似エラー・デバッグをサポートしていません。非同期デバッグ・モードにしている場合は,プロパティ パネル[デバッグ・ツール設定]タブ上の[マルチコア]カテゴリ内の[デバッグ・モード]プロパティの値を[同期デバッグ・モード]に切り替えてから を押してください。
ECM疑似エラートリガーレジスタ(ECMnPE0等)がPE毎にある場合は,カレント・コアのECM疑似エラートリガーレジスタ(ECMnPE0のnがカレントのもの)を使用します。

(6)

発生したエラーに“!”を表示する

ブレークすると,ECMマスタ/チェッカエラーソースステータスレジスタ(ECMmESSTR0等)を参照して,発生したエラーに“!”を表示します。

図 2.107

疑似エラー・デバッグ パネル

備考 1.

ECMマスタ/チェッカエラーソースステータスレジスタ(ECMmESSTR0等)がクリアされていた場合には,ECMエラーが発生していても[!]は表示されません。

備考 2.

RH850/G4MHのデバイスでは発生回数を3回までカウントします。対象の疑似エラーが複数回発生している場合,“!”が発生回数分表示されます。

 

注意 1.

RH850/P1xシリーズで疑似エラー発生時に内部リセットを発生させる場合は,ユーザ・プログラムからECM疑似エラートリガーレジスタに設定してエラーを発生させてください。このレジスタは保護されているため書き込みには特定の命令シーケンスが必要です。詳しくは各デバイスのユーザーズ・マニュアル ハードウエア編の書き込み保護レジスタを参照してください。

注意 2.

疑似エラー・デバッグでカレントPCのアドレスに対してブレークポイントを設定しないでください。割り込み,内部リセットが発生しない可能性があります。

注意 3.

疑似エラー・デバッグで指定するブレークポイントと同アドレスに対し,ブレークポイントをソース・エディタや逆アセンブル パネルから設定する場合は,ハードウエア・ブレークで設定してください。ソフトウエア・ブレークで設定した場合は,疑似エラー・デバッグ開始時にエラーになります。

注意 4.

RH850/D1Lグループ,RH850/D1Mグループは,以下の疑似エラー・デバッグに対応していません。

-

FACI Reset transfer error (FRTERR)

-

Flash sequencer error (FLERR)