DIY JTAG

I would like to make JTAG in order to be able to debug ATmega2560 and debug/program ARMs in the future, with in devices voltage range from 1.8V to 5.5V (probably only 3.3 and 5.0V).

There is many available circuits, from plain to MCU based, with 25 pin, 9pin and USB connectors with PC. The only variant I can't use is with 25pin connector. RS232 can be handled on laptop only trough FTDI based converter. On desktop there is native serial port with the proper chipset work with full voltage signals between -15V and +15V, i.e. respecting fully RS232 standard.

Does JTAG will work through FTDI based USB-RS232 converter?

What would be recommendations for the circuit which would satisfy these minimum requirements and can be done easily?

What freeware software can be used with JTAGs on Linux (both, debugging and programing feature, currently related with ATmega2560 only)?

I'm aware ATMEL Studio 7 can work with JTAGs, however, still there is no Linux version available.

Thanks in advance.

1 Like

Does JTAG will work through FTDI based USB-RS232 converter?

No.

I think that the ATmega 2560 chip has no jtag interface anyway.

Grumpy_Mike:
I think that the ATmega 2560 chip has no jtag interface anyway.

Really?

:o
OK looks like you are right. The JTAG is on pins ADC4 to 7. You will have to connect your interface to those pins and also enable the JTAG interface you have to enable the JTAGEN Fuse bit.

Grumpy_Mike:
:o
OK looks like you are right. The JTAG is on pins ADC4 to 7. You will have to connect your interface to those pins and also enable the JTAG interface you have to enable the JTAGEN Fuse bit.

Yes, yes... But, I first have to build (do it myself) some appropriate JTAG, that is the main question, which one?

I do not want to spend a dime for something I can build in few hours.

"which JTAG"?
One that meets the interface standard:
• JTAG (IEEE std. 1149.1 Compliant) Interface
• Boundary-scan Capabilities According to the IEEE std. 1149.1 (JTAG) Standard
A brief description is given in the following sections. Detailed descriptions for Programming via the JTAG interface,
and using the Boundary-scan Chain can be found in the sections “Programming via the JTAG Interface” on page
342 and “IEEE 1149.1 (JTAG) Boundary-scan” on page 295, respectively. The On-chip Debug support is considered
being private JTAG instructions, and distributed within Atmel and to selected third party vendors only.
Figure 27-1 on page 290 shows a block diagram of the JTAG interface and the On-chip Debug system. The TAP
Controller is a state machine controlled by the TCK and TMS signals. The TAP Controller selects either the JTAG
Instruction Register or one of several Data Registers as the scan chain (Shift Register) between the TDI – input
and TDO – output. The Instruction Register holds JTAG instructions controlling the behavior of a Data Register.
The ID-Register, Bypass Register, and the Boundary-scan Chain are the Data Registers used for board-level testing.
The JTAG Programming Interface (actually consisting of several physical and virtual Data Registers) is used
for serial programming via the JTAG interface. The Internal Scan Chain and Break Point Scan Chain are used for
On-chip debugging only.

Page and paragraph numbers are from the 2549Q–AVR–02/2014 '2560 datasheet, check here for the latest and for other doc's:

CrossRoads:
"which JTAG"?
One that meets the interface standard:

Fine, no strait answer...

I though I was clear in the first post. I do not have ages to search and read doc for all these different circuits, as well as ATMEL documentation. And more important, this is not my job, but simply hobby.

Thank you very much anyway for your time.

I would take a look at

and

Well, for $22 you can get this one, it's the needed hardware to work with Atmel Studio per its datasheet.

Pretty good for hobby use.
vs the other much more expensive ones.
http://www.digikey.com/product-search/en/development-boards-kits-programmers/programmers-emulators-and-debuggers/2622818?k=jtag%20ice
I wouldn't be much interested in writing a bunch of PC code to do this, others might be.
I get by with just Serial.print statements for debugging, but I only code for embedded projects generally.

1 Like