非機密扱い | ![]() | ARM DUI0446ZJ | ||
| ||||
ホーム > ターゲット実行の制御 > プロセッサ例外処理 |
ARM® プロセッサは、例外ベクタと呼ばれる固定アドレスのいずれかにジャンプすることで例外を処理します。
スーパーバイザコール(SVC)またはセキュアモニターコール(SMC)を除き、これらのイベントは通常のプログラムフローの一部ではありません。ソフトウェアのバグなどが原因で、イベントは予期せず発生する場合があります。そのため、ほとんどの ARM プロセッサにはこれらの例外をトラップするためのベクタキャッチ機能が搭載されています。この機能はベアメタルプロジェクトや開発の初期段階にあるプロジェクトに最も役立ちます。OS の実行中は、仮想メモリ処理などの正当な目的にこれらの例外が使用されることもあります。
ベクトルキャッチを有効にすると、選択したベクタテーブルエントリにブレークポイントを配置するのと同様の効果があります。ただしこの場合、ベクタキャッチはプロセッサの専用ハードウェアを使用し、貴重なブレークポイントリソースを使い切ることはありません。
デバッガでベクタキャッチを管理するには、以下のいずれかの操作を行います。
[Breakpoints] ツールバーまたはビューのメニューから [Manage Signals] を選択して、[Manage Signals] ダイアログボックスを表示します。
情報が必要な個々の信号には、停止または印刷オプションのいずれかを選択します。停止オプションは、実行を停止して、メッセージを印刷します。印刷オプションは、メッセージを印刷しますが、実行は継続します。コマンドビューにこれらのメッセージを表示できます。
handle コマンドを使用して、コマンドビューに結果を表示します。
NON-SECURE_FIQ
例外が発生すると、デバッガが停止してコマンドビューにメッセージが印刷されます。その後で、ハンドラがある場合は、それをステップ実行または実行できます。