プロセッサ例外処理

ARM プロセッサには、プロセッサ例外をトラップするためのベアメタル向け機能が用意されています。この機能がイネーブルされているときの効果は、選択したベクタテーブルエントリにブレークポイントを設定した場合と同様になります。ただし、ベクタキャッチはプロセッサの専用ハードェアを使用し、貴重なブレークポイントリソースを使い切ることはありません。これをベクタキャッチと呼びます。ベクタキャッチは、[Breakpoints]表示メニューから[Manage Signals]を選択するか、handle コマンドを使用して、デバッガで管理できます。また、info signals コマンドを使用して、ハンドラの現在の設定を表示することもできます。

使用可能なベクタキャッチイベントは、接続しているプロセッサによって異なります。

Figure 15. 例外ハンドラ設定の管理

例外ハンドラ設定の管理

Show/hide

例外が発生したときに例外をキャッチして、イベントを記録し、アプリケーションを停止するようデバッガで指定するには、例外に基づく停止をネーブルする必要があります。以下の例では、NON-SECURE_FIQ 例外が発生すると、デバッガが停止してメッセージが出力されます。その後で、ハンラがある場合は、それをステップ実行または実行できます。

Example 4. 例外ハンドラのデバッグ

handle NON-SECURE_FIQ stop        # NON-SECURE_FIQ 例外時の停止と出力を有効にする

例外が発生したときに停止を伴わずにハンドラを呼び出すには、例外に基づく停止をディセーブルする必要があります。

Example 5. 例外の無視

handle NON-SECURE_FIQ nostop      # NON-SECURE_FIQ 例外時の停止を無効にする

Show/hide関連項目

Copyright © 2010, 2011 ARM. All rights reserved.ARM DUI 0446FJ
Non-ConfidentialID111611