OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

ブレークポイントについて教えてください

  • すぐに回答を!
  • 質問No.172591
  • 閲覧数432
  • ありがとう数0
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 0% (0/2)

組み込みソフト用のデバッカでH/WブレークポイントとS/Wブレークポイントという
区別がありますがこれらはどう違うのでしょうか?
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1
レベル11

ベストアンサー率 28% (122/425)

要は、ICEの事ですね。

基本的には、デバッガの機種毎に違いが有りますので、その辺をご了承下さい。

H/Wブレークポイントとは、ブレークアドレスを回路で検出してブレーク処理を行う方法。
S/Wブレークポイントとは、ブレークアドレスにインターラプトHALT等のコードを埋め込んで、ブレーク処理を行う方法。

特徴として、H/Wブレークの方が、外部ROM領域でもブレークを張れる事や、複雑な条件のブレークポイント設定を出来る事が多い。
逆に、S/Wブレークは、エミュレートROMエリアなら多数のブレークポイントを張る事が出来る。

こんな感じで、解かって頂けます?
補足コメント
takobozu

お礼率 0% (0/2)

回答ありがとうございます、かなりわかってきました。もうすこし詳しく教えて頂きたいのですが。

>S/Wブレークポイントとは、ブレークアドレスにインターラプトHALT等の>コードを埋め込んで、ブレーク処理を行う方法。

これは実行コードの途中にHALTコードをICEが埋め込むということでしょうか?そうするとそれ以降のアドレスにある実行コードのアドレスがずれてしまって
実行できなくなってしまう気がするのですが?
投稿日時 - 2001-11-22 18:29:13
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.2
レベル11

ベストアンサー率 28% (122/425)

>これは実行コードの途中に・・・ 簡単に言うと、エミュレートているROM空間のブレークポイントのアドレスの内容を、一時的にすげ替えるイメージで良いと思います。 勿論、元のアドレスとコードは別の領域に保持させて居て、ブレーク処理の中で復帰させます。 この為、S/Wブレークでも個数の制限が出る事に成ります。 又、基本的にこの方法となる為、キャッシュ等のパイプラインを持つCPUでは、誤動作する事 ...続きを読む
>これは実行コードの途中に・・・
簡単に言うと、エミュレートているROM空間のブレークポイントのアドレスの内容を、一時的にすげ替えるイメージで良いと思います。

勿論、元のアドレスとコードは別の領域に保持させて居て、ブレーク処理の中で復帰させます。
この為、S/Wブレークでも個数の制限が出る事に成ります。

又、基本的にこの方法となる為、キャッシュ等のパイプラインを持つCPUでは、誤動作する事も多々有ります。
(コツとしては、ブランチ先にブレークポイントを張ると、割と正確に動作します。)

後、余談ですが、ROMICEなんかはS/Wブレークのみですので、この方法でブレークさせてます。

このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ