In a few words JTAG is debugging system of embedded systems. But sometimes it is used to program as it allows doing this. JTAG debugging is supported by AVRStudio with JTAG Solutions for Testing-Programming like JTAG-ICE, JTAG-ICE MKII, Dragon, etc.
JTAG is understanded as tool which allows to manipulate and track the status of supported AVR while microcontroller is running on a circuit. JTAG allows to stop execution at any time, manipulate internal registers. It allows to examine Flash memory, EEPROM memory, SRAM memory, register file, Program counter, fuse and lock bits and I/O of course.
JTAG debugging is working on Atmega microcontroller series starting from Atmega16.
What you can get when using JTAG with AVRStudio:
-
Emulation of analog and digital;
-
JTAG Programming support;
-
Support of ASM and high level language like GCC;
-
Program and data bits Breakpoints;
-
Real time operations
One of simple JTAG Solutions for Testing-Programming adapters (AVR-JTAG) can be found at Olimex which is fully assembled and tested.