AVR, JTAG and externel reset

Today at the office I learned a nice trick that might become handy for other AVR users.

A times a target system with AVR microcontroller exhibits an accessibility problem. The system features an ATmega644PA microcontroller unit which is debugged via JTAG interface. The board can only be flashed via JTAG if the external reset is triggered properly.

In an AVR Studio project the system can be told to enable the external reset over the wiring but access without the project over the Atmel JTAGICE MKII programmer fails. How to place the thing in reset condition so JTAG can take over?

The trick came from one of our electronics gurus who simply asked: “Can’t you short the reset and make it work?” We simply tried and yes this works. Ofcourse the flashed firmware does not boot if RESET is tied to GND but JTAG access works. The device can be flashed, fuses set and read and maybe debugging works too (we didn’t try that).

So basically if you try to access an AVR mcu with JTAG interface and no backup such as SPI, try tying the RESET line to GND. I simply made a little wire bridge shorting pins 6 (RESET) with 2 (GND) on the 10pin JTAG cable. I plug the main cable in the left socket on the programmer cable and put the bridge in the second socket whichs is probably wired in parallel. It worked well for us today!