Re: JTAG and ICE difference

From: Jack Klein (jackklein_at_spamcop.net)
Date: 06/02/04


Date: Tue, 01 Jun 2004 22:21:21 -0500

On Tue, 1 Jun 2004 16:21:05 +0900, "Roman Mashak" <mrv@tusur.ru> wrote
in comp.arch.embedded:

> Hello, All!
>
> I believe - there are a lot of professionals here.
> Could you please explain the differences between this debugging
> technologies? Or, please, provide me with documentation related to this
> topic. Thanks in advance!
>
> With best regards, Roman Mashak. E-mail: mrv@tusur.ru
>

The traditional ICE (In Circuit Emulator) is a device that replaces
the processor or controller on the board. Inside it usually contains
a processor or controller of the same family. In some cases, this is
a special "bond out" version from the chip vendor, that brings out
extra hardware signals from inside the chip that are not connected to
pins in the regular version.

In addition to the processor it replaces, it generally contains other
circuitry such as RAM to emulate RAM and EPROM/ROM, and extra control
circuits to allow starting and stopping, single-stepping, and so on.
It might also have extra trace memory to capture bus cycles and so on.

These can offer a lot of features, but that extra circuitry affects
timing. As processors got faster, it became almost impossible to get
the emulator to operate at full processor speed in real time.

Most newer design processors have some sort of debugging unit built
into the chip itself, that is accessed through the JTAG controller.
They have a more limited version of the features of the stand-alone
ICE, but they have the advantage of allowing the processor to operate
in circuit at full speed or very close to it. They are also much less
expensive.

The highest speed true ICE that I ever worked with was for a 66 MHz
486 DX2. Ten years ago it cost more than ten JTAG debuggers for
something like a 200 MHz ARM9 today.

-- 
Jack Klein
Home: http://JK-Technology.Com
FAQs for
comp.lang.c http://www.eskimo.com/~scs/C-faq/top.html
comp.lang.c++ http://www.parashift.com/c++-faq-lite/
alt.comp.lang.learn.c-c++
http://www.contrib.andrew.cmu.edu/~ajo/docs/FAQ-acllc.html


Relevant Pages

  • Re: Microcontroller-Programmierung, wo bekomme ich Resourcen her
    ... C++ auf einem Controller ist recht kompliziert ... Speichermangel noch nicht einmal ein printf verwenden, Debugging ist oft ... USB-zu-RS232-Wandler zu nutzen bzw. gleich die serielle Schnittstelle zu ... einen entsprechenden Chip auf die eigene Platine ...
    (de.sci.electronics)
  • Re: 8.1 amd64 lockup (maybe zfs or disk related)
    ... When you say "rebuild your kernel with debugging ... disk space on your root filesystem for modules/kernel with debugging ... These are the options you want to add to your kernel config: ... Let's look at your storage controller setup: ...
    (freebsd-stable)
  • Re: Lighted LCD microwave display is intermittent
    ... Main reason the recommendation regarding obtaining the complete controller ... need info on safely accessing the lighting circuit. ... the cover of the microwave. ... What is your level of electronics expertise? ...
    (sci.electronics.repair)
  • Re: JTAG and ICE difference
    ... JK> The traditional ICE (In Circuit Emulator) is a device that replaces ... JK> a processor or controller of the same family. ...
    (comp.arch.embedded)
  • Re: burned out element detection
    ... but most of the circuit ... mains power, and when there is power going to the elements. ... One CT* and one LED per element (each LED should light whenever the related controller is calling for power). ... optocouplers rather than visible LEDs to detect the currents and using ...
    (sci.electronics.design)