adviceLUNAII サポート
microVIEW-PLUSデバッガ機能のご紹介
ある変数やアドレスにアクセスした時にブレークさせたい
- 単純にブレークさせるだけでなく、ある条件を満たした場合のみブレークさせることもできます。 OCDブレークやハードウェアブレークでは、変数やレジスタに対してのアクセスが発生した場合にブレークするといった設定も可能です。 ソフトウェアブレークも条件を指定することで、複数回実行される関数などでもブレーク発生ポイントを絞って設定することができます。
- OCDブレーク・ハードウェアブレークの場合
- [方法]
- メニュー「表示」→「ブレーク一覧」よりブレーク一覧ウィンドウを開き、右クリックメニューから「追加」→「OCDブレーク」または、 「ハードウェアブレーク」を選択します。
- [説明]
- ブレークポイントの条件を詳細に設定することができます。 設定条件は、基本設定タブ / データタブ / 拡張指定タブ で設定した項目がAND条件で設定されます。
- [基本設定タブ] ・ ブレークを発生させる対象となる 、アドレス / 行 / 変数名称 を入力します。 ・ アドレスマスクパターン(マスク有効ビットに1を設定)を設定することで、マスクされたビットはブレーク条件から無視されます(省略可)。 ・ MPUステータスにはブレークを発生させる対象となる動作を指定します。 FT(命令フェッチ) / R(データリード) / W(データライト) / RW(データリードまたはデータライト) が設定可能です。 ・ ブレーク条件式を設定することで、条件式と一致した場合のみブレークが発生します(省略可)。 ・ 同期コマンドを設定することで、ブレーク発生後に任意のコマンドを実行することができます(省略可)。 ※コアの種別によっては、アドレスマスクパターンの設定やMPUステータスの設定はおこなえません。
- [データタブ] ・ MPUステータスが R / W / RW の場合は、データ値を入力することでデータと一致した場合ブレークが発生します(省略可)。 ・ データ値を設定した場合、データマスクパターン(マスク有効ビットに1を設定)を設定することで、マスクされたビットはブレーク条件から 無視されます(省略可)。 ※コアの種別によっては、データタブの設定はおこなえません。
- ソフトウェアブレークの場合
- [方法]
- メニュー「表示」→「ブレーク一覧」よりブレーク一覧ウィンドウを開き、右クリックメニューで「追加」→「ソフトウェアブレーク」を選択します。
- [説明]
- ブレークポイントの条件を詳細に設定することができます。 (ソフトウェアブレークは命令フェッチ専用のブレークで、マスクパターンやメモリアクセス指定でのブレークはおこなえません)
- [ソフトウェアブレーク設定] ・ ブレークを発生させる対象となる 、アドレス / 行 / を入力します。 ・ ブレーク条件式を設定することで、条件式と一致した場合のみブレークが発生します(省略可)。 ・ 指定回数を設定することで、ブレーク条件と一致した回数でブレークが発生します。 ・ 同期コマンドを設定することで、ブレーク発生後に任意のコマンドを実行することができます(省略可)。
- OCDブレークはコアのデバッグ資源を使用したブレーク方式です。コアによりブレーク設定点数やMPUステータスは異なります。
- ターゲットボード上のROMプログラムにブレーク設定したい