NEC ELECTRONICS NEC ELECTRONICS
NEC electronics NEC electronics NEC
ホーム
アプリケーション
製品情報
先端技術
サポート
WEBショップ
ニュース&イベント
会社案内
header
GO
詳細検索機能/特性検索
サイトマップ お問い合わせ

ブレーク・イベントの設定


目次

    
FAQ-ID = v850-nnn
id15: ハードウエア・ブレークとソフトウエア・ブレークの違いは何ですか?
id16: イベント条件の作り方がよくわかりません。
id14: ソース上で、ブレーク・イベントを設定するには?
id17: 同じイベントが2回発生した時に、ブレーク・イベントを発生させるには?
id38: 変数のあるビットが反転した時に、ブレークすることは可能ですか?
721: ID850NWで、ブレーク・ポイントの設定を一時的に無視して実行する方法はありますか?

v850
-id15
ハードウエア・ブレークとソフトウエア・ブレークの違いは何ですか?
Q
ハードウエア・ブレークとソフトウエア・ブレークの違いは何ですか?

A
ハードウエア・ブレークとは...


ハードウエア・ブレーク(イベント検出ブレーク)は、 インサーキット・エミュレータのイベント検出回路に設定されたブレーク・イベント条件を検出することにより、 ユーザ・プログラムの実行を停止する機能です。


ソフトウエア・ブレークとは...


ソフトウエア・ブレークは、指定されたアドレスの命令をデバッガ専用のソフトウエア・ブレーク命令に書き換えることにより、 ユーザ・プログラムの実行を停止する機能です。


違いは...


ハードウエア・ブレークは、インサーキット・エミュレータのイベント数の制限を受けるのに対し、 ソフトウエア・ブレークには、そのような制約はなく、より多くのブレーク・ポイントを設定することができます。


ただし、ソフトウエア・ブレークでは、指定したアドレスの命令を書き換えるため、 外部ROM上のプログラム実行で停止(実行イベント)させたり、変数のアクセス・タイミングで停止(アクセス・イベント)させたりなどの 細かい指定ができません。
そのような指定を行いたい場合には、 ハードウエア・ブレークを利用してください。


なお、どちらのブレーク・ポイントも、 B_go.gif[継続して実行]、または B_rego.gif[リスタート]コマンドを実行した場合に有効となり、 [カーソル位置まで実行]コマンド(Come機能)、および B_step.gif[ステップイン]、 B_next.gif[ネクストオーバー]実行では無視されます。



[参考]
pointer.gif ソース上で、ブレーク・イベントを設定するには?
pointer.gif ブレーク・ポイントの設定を一時的に無視するには?

この情報はお役にたちましたか?
back to top  

v850
-id16
イベント条件の作り方がよくわかりません。
Q
イベント条件の作り方がよくわかりません。

A
イベント条件の作成方法を、 変数値の書き換えタイミングでイベント発生させる例を用いて説明します。


例)
変数 time_over に 0x400 という数値が書き込まれたタイミングで、イベントを発生させる場合

  1. B_evt.gifボタンを選択し、イベント・ダイアログをオープンします。


  2. イベント名を仮に「Evt00001」とします。


  3. 書き込みタイミングでイベントを発生させるため、"Event Status"で「Write」を選択します。


  4. "Access Size"は、データ条件("Data")から自動的に判断するため、省略します。


  5. "Address"に変数名「time_over」を入力します。


  6. 変数が0x400になった時なので、"Data"に「400」を入力します。


  7. Dataに設定した値と一致した場合のみ、イベントを発生させたいので、"Mask"は「0」とします。


  8. 外部センスデータ値(Exp Probe)は無関係なので、デフォルトのまま変更しません。


  9. 最後に<Set>ボタンをクリックして、登録します。
    "Event Manager"エリアに、作成したイベント「Evt00001」が登録されていることが確認できます。


    evt_1.gif


この情報はお役にたちましたか?
back to top  

v850
-id14
ソース上で、ブレーク・イベントを設定するには?
Q
ソース上で、ブレーク・イベントを設定するには?

A
E_ptm.gif ソース・テキスト・ウインドウまたは逆アセンブル・ウインドウ上で、ブレーク・ポイントを設定するには、 各ウインドウのポイント・マーク・エリアをクリックします。
すると、’B’マークが表示されます。
この時、拡張オプション設定ダイアログの"On Mouse Click"エリアでの選択により、以下のようになります。


・IE-703002-MC または IE-703102-MC使用時

Hard Break 赤色の’B’マーク ハードウエア・ブレーク・ポイント
(実行前/実行後イベント検出ブレーク*)
Soft Break 青色の’B’マーク ソフトウエア・ブレーク・ポイント
*:実行前/実行後の切り替えは、拡張オプション設定ダイアログの"Break Condition"エリアで行います。


・IE-V850E-MC または IE-V850E-MC-A使用時

Hard Break 緑色の’B’マーク ハードウエア・ブレーク・ポイント
(実行前イベント検出ブレーク)
赤色の’B’マーク ハードウエア・ブレーク・ポイント
(実行後イベント検出ブレーク)
Soft Break 青色の’B’マーク ソフトウエア・ブレーク・ポイント

なお、シミュレータにはソフトウエア・ブレークの概念がないため、 拡張オプション設定ダイアログでの指定は必要ありません。


また、設定を解除する場合は、解除するブレーク・ポイントの ’B’マークをクリックしてください。
’B’マーク表示が消え、設定も解除されます。


他にも、[実行]メニューや、ショートカット・メニュー(右ボタンのクリック)等で、 ブレーク・ポイントの設定/削除は可能です。

この情報はお役にたちましたか?
back to top  

v850
-id17
同じイベントが2回発生した時に、ブレーク・イベントを発生させるには?
Q
同じイベントが2回発生した時に、ブレーク・イベントを発生させるには?

A
[シミュレータでの方法]

シミュレータでは、イベント作成時にパス・カウントの設定を行うことで、 上記のブレーク・イベントを発生させることができます。
  1. B_brk.gifをクリックして、 ブレーク・ダイアログをオープンし、"Break Name"にブレーク・イベント名 (ここでは「Brk00001」)を指定します。


  2. <Add Event...>ボタンをクリックして、イベント・ダイアログをオープンし、 イベント(ここでは「Evt00001」)を作成して"Pass Count"には「2」を指定します。


    sm_1.jpg


  3. <OK>ボタンをクリックします。
    →これにより、イベントが登録され、イベント・ダイアログはクローズします。


  4. (下にオープンしていた)ブレーク・ダイアログ上で、<Set>ボタンをクリックします。
    →これにより、"Event Manager"エリアで、上記のイベント「Evt00001」を使用したブレーク・イベント 「Brk00001」が設定されている(有効になった)ことが確認できます。


    sm_2.jpg



[デバッガでの方法]

デバッガでは、イベント・ダイアログでパス・カウントの設定をサポートしていません。
このため、1つのイベントを作成した後、 そのイベントを複数イベントの順序指定が可能なイベント・リンク条件として登録し、 ブレーク・イベントとして設定します。
  1. B_evt.gifをクリックして、 イベント・ダイアログをオープンし、イベント名(ここでは「Evt00001」)を設定します。


  2. <OK>ボタンをクリックし、イベントを登録、イベント・ダイアログをクローズします。


  3. B_brk.gifをクリックして、ブレーク・ダイアログをオープンし、 "Break Name"(ここでは「Brk00001」)を指定します。


  4. ブレーク・ダイアログ上の<Add Link...>ボタンをクリックし、イベント・リンク・ダイアログをオープンします。


  5. 1で作成したイベントをイベント・リンク条件として設定します。
    "Event Manager"エリアに登録されているイベント「Evt00001」を選択し(反転)、次に「Phase 1」欄を選択し(点線の枠が表示)、<Add>ボタンをクリックします。
    →「Evt00001」が「Phase 1」欄にコピーされます (ドラッグ&ドロップすることによってもコピーは可能です)。


  6. "Pass Count"エリアに「2」を指定します。


    id_2link.jpg


  7. <OK>ボタンをクリックします。
    →これにより、イベント・リンク条件が登録され、イベント・リンク・ダイアログはクローズします。


  8. (下にオープンしていた)ブレーク・ダイアログ上で<Set>ボタンをクリックします。
    →"Event Manager"エリアで、上記のリンク・イベント 「Lnk00001」を使用したブレーク・イベント「Brk00001」が設定された (有効になった)ことが確認できます。


    id_4.jpg


この情報はお役にたちましたか?
back to top  

v850
-id38
変数のあるビットが反転した時に、ブレークすることは可能ですか?
Q
変数のあるビットが反転した時に、ブレークすることは可能ですか?

A
イベント・ダイアログで、 アクセス・サイズに"Bit"を指定したイベントを作成することで可能になります。


例)プログラム実行で、変数valをReadアクセスしたとき、 valの7ビット目が0から1へ変化後、ブレークする。


  1. イベント・ダイアログで、次のイベントを登録します。


    Event Name:Evt00000
    Event Status:Read
    Access Size:Bit
    Address:val.7
    Data:0


    Event Name:Evt00001
    Event Status:Read
    Access Size:Bit
    Address:val.7
    Data:1


  2. イベント・リンク・ダイアログで、次のリンク・イベントを登録します。


    Link Name:Lnk00000
    Phase1:Evt00000
    Phase2:Evt00001


  3. ブレーク・ダイアログで、次のようなブレーク・イベント条件を登録します。


    Break Name:Brk00000
    Break Event:Lnk00000


  4. プログラム実行で、valの7ビット目が0→1の順でReadアクセスするとブレークします。

[注意]
  • 1ビット幅での検出は、8ビット・アクセス時のみです。
  • 同一アドレスの他のビットに対するアクセスや、 同一アドレスの8ビット全体に対するアクセスでも、 指定した [アドレス.ビット] の値が一致している場合には、 指定したステータスにしたがってイベントが検出されます。
この情報はお役にたちましたか?
back to top  

v850
-721
ID850NWで、ブレーク・ポイントの設定を一時的に無視して実行する方法はありますか?
Q
ブレーク・ポイントの設定を解除しないで、一時的に無視して実行する方法はありますか?

A
ブレークを無視するには、次の2つの方法があります。
  • [実行]メニューで設定する

    [実行]メニュー→[ブレークを無視]を選択することにより、それ以降に実行する際、 すべてのブレーク・ポイントを無視することができます。

  • Come機能を使用する

    ソース・テキスト表示エリア、または逆アセンブル表示エリア上にカーソルを移し、 [実行]メニュー→[カーソル位置まで実行]を選択することにより、 ブレーク・ポイントを無視した実行を行うことができます。
この情報はお役にたちましたか?
back to top  





















 ご利用にあたって  個人情報保護について  RSS       © 1995-2008  NEC Electronics Corporation