ICE, or in-circuit emulation, is a traditional method used for emulating the behavior of a processor in an embedded system. With ICE, the software can be downloaded onto the processor and then debugged in situ in the end application. This allows developers to test their software in real-world conditions, rather than relying on simulations or other forms of emulation.