ハードウェアブレーク

Note

本機能は、SOLID-1.3.0 以降で使用できます。

概要

ハードウェアブレークポイントを使用すると、任意のアドレスへのメモリアクセスを捕捉して、 CPUを停止させる事ができます。ハードウェアリソースを使用するため、CPUによって設定できる点数が 異なりますが、一般的に2~6点設定可能です。


使用方法

新しいブレークポイントの作成方法は以下のとおりです。

  1. [デバッグ] メニュー の [ウィンドウ] - [ハードウェアブレークポイント] を選択します。
  2. ウィンドウが開いたら、新しいハードウェアブレークポイント をクリックします。
../_images/new-hwbp.png
  1. アドレスやCPUステータスなどを入力し、OKをクリックします。

    アドレス には、変数などのシンボル名を直接入力できます。 変数のアドレスを設定したい場合は、シンボル名の先頭に & を付けてください。

    タスクID は、現状では設定しても無視されます。将来のSDKのバージョンアップで、 タスクIDを指定したブレークポイントをサポートする予定です。

../_images/hwbp-settings.png

これで設定は完了です。


設定の変更

既に存在するブレークポイントの設定を変更するには、 変更したいブレークポイントの行を右クリックし、場所 を選択します。

../_images/hwbp-edit.png

ハードウェアブレークポイントの設定ウィンドウが表示されるので、 変更後に OK をクリックしてください。


設定項目

アドレス

CPUステータス で、メモリアクセス/メモリリード/メモリライト のいずれかを設定している場合には、 メモリアクセスが行われるアドレスを入力します。 また、実行 を選択している場合には、命令のアドレスや関数名を入力します。

変数がスコープ内であれば、ローカル変数のシンボル名でも設定可能ですが、 スタック上のアドレスが設定されてしまいます。スコープ外になった場合に、 意図した変数へのアクセス以外でも停止してしまう事があるので注意してください。

CPUステータス

メモリアクセス メモリへのリードアクセス/ライトアクセスの両方で停止。
メモリリード メモリへのリードアクセスで停止。
メモリライト メモリへのライトアクセスで停止。
実行 命令実行での停止。

バイトカウント

CPUステータス が、メモリアクセス/メモリリード/メモリライトの場合に有効です。 指定されたアドレスから何バイト有効にするかを設定します。アクセス幅でない事に注意してください。 例えば、アドレス0x8000に対して2バイトを指定した場合、0x8000、0x8001に対してのアクセスは有効ですが、 0x8002に対してのアクセスは無視されます。

タスクID

未サポートです。設定は無視されます。