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

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

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

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

 

[使い方]

(1)

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

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

図 2.156

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

備考

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

(2)

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

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

図 2.157

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

 

(3)

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

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

図 2.158

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

備考

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

(4)

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

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

図 2.159

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

備考 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.160

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

備考

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