2.8.6 不正な実行を検出して停止する【IECUBE】

内部ROM/内部RAM/SFR/外部メモリなどへの不正なアクセスによる暴走の可能性を検出し,プログラムの実行を強制的にブレークさせることができます(フェイルセーフ・ブレーク機能)。

この機能には,多彩なブレーク条件が用意されており,それぞれのブレーク条件の有効/無効の設定は,プロパティ パネル[デバッグ・ツール設定]タブ上の[フェイルセーフ・ブレーク]カテゴリ内の各プロパティにより個別に行います。

注意

ステップ実行中は,フェイルセーフ・ブレーク機能は無効となります。

図 2.94

[フェイルセーフ・ブレーク]カテゴリ

 

次に示す各プロパティの設定において,有効とする場合は[はい]を,無効とする場合は[いいえ]を選択してください。

デフォルトでは,一部を除きすべてのプロパティに[はい]が指定されます。

-

[フェッチ禁止領域からのフェッチ直後に停止する]

-

[書き込み禁止領域への書き込み直後に停止する]

-

[読み込み禁止SFRからの読み込み直後に停止する]

-

[書き込み禁止SFRへの書き込み直後に停止する]

-

[ユーザ・スタック・オーバーフロー発生直後に停止する]

-

[ユーザ・スタック・アンダーフロー発生直後に停止する]

-

[未初期化スタック・ポインタ操作直後に停止する]

-

[未初期化RAMからの読み込み直後に停止する]

-

[非メモリ・マッピング領域へのアクセス直後に停止する]

-

[奇数アドレスへのワード・アクセス直後に停止する]

-

[周辺からのフェイル・セーフ発生直後に停止する]

-

[フラッシュ・イリーガル発生直後に停止する]

デフォルトで,[いいえ]が指定されます。
[はい]を選択した場合,下段の[ユーザ・スタック・セクション]プロパティで,ユーザ・スタックのセクションを設定する必要があります(デフォルトで[.stack_bss]が指定されます)。