AVR microcontrollers have many ways to be programmed. One type of adapters are used only to
program AVR memory others are used to program and debug.
AVRISP
The most known and common programming adapter is AVRISP, which is the basic tool and can be used to program Flash, EEPROM memory, most of the fuses, lock-bits for probably all 8bit AVR MCU’s.
The programmer connects to a computer via an RS232 serial interface powered from the target board with no need additional power supply. The programmer connects to the target board via one of two headers – 6 or 10pin. AVRISP from Atmel Corporation is designed to work from AVRStudio as front end software and is upgradable. However, AVRISP is discontinued due to the newer adapter appearance – AVRISP MKII. There are cheap third party clones available. But most of them aren’t compatible with AVRStudio but work well with programs like PonyProg or AVRDUDE.
AVRISP MKII
AVRISP MKII is a more advanced programmer that Atmel fully supports. The adapter connects to the host PC via USB cable and is fully compatible with AVR Studio.
AVRISP MKII adapter allows avoiding connecting errors like a reversed connector or short circuit. The adapter has indicators that indicate a faulty connection. USB interface gives many benefits as RS232 standard is disappearing -, especially for laptop users. USB also provides high-speed programming ability comparing to RS232, which is in AVRISP.
JTAGICE
Jtag pushes the developer to a higher level of development. JTAG’s primary purpose is not to program the target device, but to debug it on-chip. We are not going to talk about debugging benefits as you can find in other articles, but as critical features, I can mention: real-time debugging with stop option at the desired point, inspect and change memory contents during program flow, program stepping, and so on.
JTAG adapter is interfaced using 4 wires to the MCU test access port. This adapter has been discontinued due to newer adapter arrival(JTAG MKII). There are third-party jtag clones available, ones you can build by yourself.
JTAG MKII
This is a further evolution of JTAG adapter.
The adapter has larger device support because of debugging wire protocol, which allows debugging target through one pin(Reset). JTAG MKII adapter can be connected to the host computer via USB or RS232 cable. The adapter also can program through the ISP interface. In my opinion, this is the most flexible tool compared to above, but the price may not encourage me to purchase one ~ 300$ – I wonder if there any clones coming…