3 はい、それは完全に合法ですが、他のISRが時間内に発射されないなどの問題があるかもしれません(USBなど)。 出典 2011-01-05 05:03:40 leppie +0 ありがとうございます。例を挙げていただけますか?割り込みハンドラ内でBPを設定すると、CPUを一時的に「フリーズ」させる必要があります。 – Mark +0 私のCortexM3では、ブレークポイントに達するとすべてが停止しますが(特にタイマー)、システムタイマーは停止します。 USBの場合、ホストはデバイスがポーリングに頻繁に(1〜1000ms)応答することを期待しています。 「CPU」を停止していて、そのような要求を受け取った場合、ホストがデバイスを切断する可能性があります。つまり、ISRだけでなく、どこでもデバッグを行うことができます。 – leppie +1 @マーク:通常、ブレークポイントはどのような場合でもプロセッサコアを停止させます。ハードウェアは、コアが停止している間に、ペリフェラルのタイマー/カウンタとウォッチドッグタイマーを停止する機能をサポートしている場合があります。 LinuxやVxWorksなどのOSを完全にOS対応のデバッガで使用している場合、ブレークポイントはスレッドまたはプロセス固有であり、他のスレッドやプロセスを実行できるようにすることもできます。 – Clifford
ありがとうございます。例を挙げていただけますか?割り込みハンドラ内でBPを設定すると、CPUを一時的に「フリーズ」させる必要があります。 – Mark
私のCortexM3では、ブレークポイントに達するとすべてが停止しますが(特にタイマー)、システムタイマーは停止します。 USBの場合、ホストはデバイスがポーリングに頻繁に(1〜1000ms)応答することを期待しています。 「CPU」を停止していて、そのような要求を受け取った場合、ホストがデバイスを切断する可能性があります。つまり、ISRだけでなく、どこでもデバッグを行うことができます。 – leppie
@マーク:通常、ブレークポイントはどのような場合でもプロセッサコアを停止させます。ハードウェアは、コアが停止している間に、ペリフェラルのタイマー/カウンタとウォッチドッグタイマーを停止する機能をサポートしている場合があります。 LinuxやVxWorksなどのOSを完全にOS対応のデバッガで使用している場合、ブレークポイントはスレッドまたはプロセス固有であり、他のスレッドやプロセスを実行できるようにすることもできます。 – Clifford