Nach vier Jahren hätteste ruhig einen neuen Thread dafür aufmachen
können.
JTAG ist die Joint Test Action Group. Gugeln danach bringt dir sofort
hinreichend Erklärungen, u. a. im Wikipedia.
Da es für die Implementierung von JTAG ohnehin notwendig ist, dass man
die CPU von den IO-Registern abkoppeln kann, haben viele Hersteller
diese Gelegenheit genutzt, außer dem boundary scan (dem ursprünglichen
Zweck der JTAG-Schnittstelle) noch weitere Funktionen einzubauen.
U. a. baut Atmel in die AVRs eine Debug-Schnittstelle darüber ein,
deren JTAG-level communication jedoch als Firmengeheimnis betrachtet
wird. Wenn man daher die JTAG-Schnittstelle eines AVR zum Debuggen
benutzen möchte, kommt man nicht um einen Adapter umhin, der ebendiese
Kommandos sprechen kann, und das sind derzeit das JTAG ICE mkII und
der AVR Dragon. Für eine abgeschlossene Menge mittlerweile recht
ältlicher AVRs kann man auch mit einem preiswerten Clone des alten
JTAG ICE (zur Unterscheidung mittlerweile auch mkI genannt) arbeiten,
aber wirklich empfehlenswert ist das höchstens noch, falls man damit
einen ATmega64, ATmega128 oder AT90CAN128 debuggen muss -- die sind
jenseits dessen, was der preiswerte AVR Dragon als Debug-Target
zulässt.