疑似エラー・デバッグは,実機上では発生させることが困難なエラーを疑似的に発生させることで,エラー発生時に呼び出されるリセット・ルーチンやハンドラ,またはそこから呼び出される関数のプログラム動作の確認やデバッグを行うための機能です。
本機能は,ECM(エラーコントロールモジュール)注を利用して疑似的に発生させることで実現しています。
ソリューション一覧 パネルを開き,疑似エラー・デバッグの[GO]ボタンをクリックすると,疑似エラー・デバッグ パネル【Full-spec emulator】【E1】【E20】が表示されます。
疑似エラー・デバッグをサポートしていないデバイスでは,ソリューション一覧 パネルに疑似エラー・デバッグを表示しません。サポートしているデバイスでも,シミュレータ使用時やデバッグ・ツール未接続時は[GO]ボタンが無効になります。 |
疑似エラー・デバッグ パネル【Full-spec emulator】【E1】【E20】の をクリックすると,疑似エラー選択 ダイアログ【Full-spec emulator】【E1】【E20】を表示します。
疑似エラー選択 ダイアログ【Full-spec emulator】【E1】【E20】には,疑似エラー・デバッグ機能がサポートしているエラーの一覧が表示されます。発生させたいエラーのチェックボックスをチェックし,[OK]ボタンをクリックします。選択したエラーが疑似エラー・デバッグ パネル【Full-spec emulator】【E1】【E20】に表示されます。
疑似エラー・デバッグ パネル【Full-spec emulator】【E1】【E20】の をクリックすると,ブレークポイント設定 ダイアログ【Full-spec emulator】【E1】【E20】が開きます。エラー発生時に呼びだされるハンドラやリセットのアドレス式を入力することで,エラー発生後にそのアドレスでブレークさせることができます。入力にはハンドラ名等のシンボルを入力することが可能です。
疑似エラー・デバッグ パネル【Full-spec emulator】【E1】【E20】の をクリックしてください。ECM疑似エラートリガーレジスタ(ECMPE0等)を利用してエラーが発生します。ユーザの設定により割り込みやリセットが発生します。ブレークポイント設定 ダイアログ【Full-spec emulator】【E1】【E20】で指定したアドレスの通過時にブレークします。
非同期デバッグ・モードでは疑似エラー・デバッグをサポートしていません。非同期デバッグ・モードにしている場合は,プロパティ パネルの[デバッグ・ツール設定]タブ上の[マルチコア]カテゴリ内の[デバッグ・モード]プロパティの値を[同期デバッグ・モード]に切り替えてから
を押してください。 |
ブレークすると,ECMマスタ/チェッカエラーソースステータスレジスタ(ECMmESSTR0等)を参照して,発生したエラーに“!”を表示します。
RH850/P1xシリーズで疑似エラー発生時に内部リセットを発生させる場合は,ユーザ・プログラムからECM疑似エラートリガーレジスタに設定してエラーを発生させてください。このレジスタは保護されているため書き込みには特定の命令シーケンスが必要です。詳しくは各デバイスのユーザーズ・マニュアル ハードウエア編の書き込み保護レジスタを参照してください。 |
疑似エラー・デバッグで指定するブレークポイントと同アドレスに対し,ブレークポイントをソース・エディタや逆アセンブル パネルから設定する場合は,ハードウエア・ブレークで設定してください。ソフトウエア・ブレークで設定した場合は,疑似エラー・デバッグ開始時にエラーになります。 |