Ben/Ya: JTAG

Werner Almesberger werner at openmoko.org
Mon Jul 12 02:06:43 EDT 2010


The Ya feature wish list mentions JTAG. I've been thinking about
JTAG when working on IDBG, and I'm trying to decide whether this
is something worth supporting or not.

The JTAG inside CPU should be some variant of MIPS EJTAG [1].
MIPS EJTAG is quite featureful, at a first glance probably on par
with ARM JTAG. 

This is good. What is less good is that it doesn't seem to be
particularly well supported in the Free software world. E.g., [2]
says "In general, the state of EJTAG software is pretty bad."
However, [3] looks somewhat encouraging, even if it's been
abandoned some eight years ago.

There are basically three uses of JTAG: 1) boundary scan at the
factory, 2) loading of the initial firmware, and 3) debugging.
In each case, the communication is a little different.
Particularly the protocol for 3) tends to be much more involved
than just a boundary scan.

The Ben already has an "unbrickable" USB boot, so it shouldn't
need 2) in the field. The Ya may be even more flexible in this
regard.

I don't know what the situation with 1) is. The path of least
resistance would probably be to produce at a place that's already
familiar with MIPS JTAG, and just let them use their equipment
for boundary scans and don't worry about details.

This leaves 3). In Openmoko, we had JTAG debugging capabilities,
but at least I rarely found them useful, particularly given that
JTAG would get very confused when suspending the device.
(Naturally, the most interesting bugs happened around suspend/
resume.)

So I wonder if anyone has an actual use case for JTAG in the
Ya/Ben ?

[1] http://downloads.nas-central.org/LS2_MIPSel/DevelopmentTools/JTAG/MD00047-2B-EJTAG-SPC-03.10.pdf
[2] http://www.linux-mips.org/wiki/JTAG
[3] http://www.totalembedded.com/open_source/jtag/mips32_ejtag.php

- Werner




More information about the discussion mailing list


interactive