IAR C-SPYシミュレータ
C-SPY シミュレータは、ターゲットプロセッサの機能をソフトウェアで完全にシミュレーションするため、ハードウェアがすべて揃っていなくてもプログラムロジックをデバッグできます。ハードウェアが不要であるため、多くのアプリケーションにとって最も費用効果の高いソリューションでもあります。
2 つのシミュレータドライバ
C-SPY シミュレータは、2 つあるデバッガドライバのうちひとつを使用します。アプリケーションプロジェクトに選択したコアまたはデバイスによってドライバは異なります。一部のコアおよびデバイスには、C-SPY シミュレータは、IAR C-SPY シミュレータドライバ、機能が豊富なデバッガドライバを使用します。その他のコアおよびデバイスには、C-SPY シミュレータは、最速のデバッガドライバである Imperas 命令セットシミュレータを使用します。どちらのシミュレータも C-SPY フレームワークと完全に統合されています。
C-SPY が使用しているシミュレータドライバは、デバッグログを確認することで確認できます。Imperas Instruction Set Simulator を使用する場合、 Imperas Software Ltd からの著作権表示がログに出力されます。そのような表示がない場合、C-SPY は IAR C-SPY シミュレータドライバを使用しています。
サポートしている機能
C-SPY シミュレータは以下をサポートしています:
命令レベルのシミュレーション
メモリの構成、検証
割り込みシミュレーション(Imperasドライバーではサポートされていません)
イミディエイトブレークポイントとC-SPYマクロシステムを使用した周辺シミュレーション。
ハードウェアデバッグシステムを使用せずにハードウェアをシミュレーションすると、一部の制限が適用されず、他の制限が適用されることを意味します。以下に例を示します。
シミュレータでは無制限にブレークポイントを設定できます。
アプリケーションの実行を停止すると、シミュレータでは時間が実際に停止します。ハードウェアデバッグシステムではアプリケーションの実行を停止すると、システムでアクティビティが残っていることがあります。たとえば、ペリフェラルがまだアクティブで、SFRポートからの読取りや書込みが行われていることがあります。
ハードウェアデバッグシステムを使用する場合に比べて、シミュレータではアプリケーションの実行がずっと遅くなります。ただし、デバッグセッション中にはこのことが問題とならない可能性もあります。
シミュレータはサイクルアキュレートではありません。
ペリフェラルシミュレーションはC-SPYシミュレータでは制限されるため、シミュレータは主にペリフェラルとのやりとりが多くないコードのデバッグに適しています。