フルICE
(full ICE)
オンチップエミュレータではないICE(In Circuit Emulator)のこと。別名:フルエミュレータ。ターゲットのプロセッサ(MPU)が実装される箇所からケーブルでICEに回路を引き込み(In Circuit)、ICEに実装したMPU(エバチップ)と、メモリに格納したソフトウェアで、ターゲットのハードウェアを含めて動作が正常かを確認(Emulation)する。多くの機能があるので、フルの機能があるICE。
2000年頃からJTAG(ジェイタグ)など、MPUの多くが内部にデバッグ機能を内蔵するようになり、これを利用した簡易(フル機能ではない)ICE(JTAG ICEなど)をオンチップエミュレータと呼んだ。ターゲットにMPUを実装した状態(On Chip)でデバッグを行う。そして従来のICEはフルICEと呼ばれるようになった(オンチップエミュレータの出現まではICEはすべてフルICEなので、このことばはなかった)。初めてのMPUを採用時にはオンチップエミュレータでは機能不足で、フルICEが使われることも多いが、現在は主要なICEメーカはフルICEを作っていない(ICEの主流はオンチップエミュレータ)。
ICEのトップメーカだったソフィアシステムズ(現Sohwa&Sophia Technologies)の用語集には以下の説明がある。
フルICEとは、一般的にエミュレーションメモリ リアルタイムトレース機能がサポートされている高機能インサーキットエミュレータを言う。そもそもICEはフルICEを指す。ICEはCPUベンダーから供給されるICE専用エバチップを利用するものや実CPUの機能を使ったタイプがある。フルICEは、ユーザボード上のCPUを外してその代わりにプローブ(CPUが内蔵されたもの)を挿して実CPUが動作しているエミュレート環境を作り、それによりCPUのリアルタイムなエミュレートが可能となる。外部メモリ(ROM、RAM等)を代替するエミュレーションメモリ機能があり、プログラムのダウンロード変更等が容易にできる。特に外部バス情報をリアルタイムに検証するリアルタイムトレース機能は、プログラムデバッグに欠かせないもので、探すのが難しいバグを瞬時に発見することも可能で、フルICEの最も大きな長所と言える。開発初期段階の周辺デバイスとのインタフェースの整合性を調べたり、デバイスドライバー作成時の不具合発見などに有効。「フル・インサーキットエミュレータ(full In Circuit Emulator)」という呼び方もされる。
現在のICEベンダはフルICEを販売終了していて、半導体デバイスメーカが開発環境(ツール)としてラインアップしている場合もある。上記のソフィアシステムズの解説ではフルICEがリアルタイムトレースなどの機能でデバッグに有効、と述べているが、ICEベンダの中には「リアルタイムOSやコンパイラなどのソフトウェアを併用すれば、フルICEがなくともフルICEに匹敵するデバッグが可能」という見解のメーカもある。ユーザによって意見のわかれるところである。
.png)