On Tue, Oct 26, 2010 at 9:28 PM, EBo <e...@sandien.com> wrote:
>
> I just ran into the following FAQ and info that might be of help:
>
> a JTAG FAQ: http://hri.sourceforge.net/tools/jtag_faq_org.html
>
> interesting detail:
>
> TAG specification is in Std IEEE 1149.1 (costs about $100). I don't
> have it. Please search at internet for some JTAG related documents.
> This is good: http://www-s.ti.com/sc/psheets/ssya002c/ssya002c.pdf
>
> also:
>
> You just have to write software to go through the states of JTAG FSM (here
> is the state diagram of this FSM:
> http://www.inaccessnetworks.com/projects/ianjtag/jtag-intro/jtag-state-machine-large.png).
> TCK and TMS are used to go through the states of FSM. And TDI is used to
> serially send through this interface your commands and data to JTAG
> controller on the IC (in your case, to the ARM uC) and read back reply
> through the TDO pin. The only problem is that some companies do not open all
> details about available custom JTAG commands (JTAG standard defines only 2
> necessary commands: EXTEST and SAMPLE and some optional commmands like
> INTEST, BIST and others). For example, Texas Instruments do not give an
> access to the description of commands that are used for In-Circuit Debugging
> of their TMS DSPs. Instead of, they sell this JTAG ICD with simple software
> for about 1000$!!! Nice business - such a price for 4 wires and some I/O
> ICs! ;-)
>
> Hope this helps.
>
>  EBo --
>
>

The way I think this works:

USB-MPSSE-JTAG-uP

The USB part is a simple protocol which I already have figured out and is
in the driver's .h.
http://yosemitefoothills.com/Electronics/FTDI_Chip_Commands.html

I am now looking into the MPSSE details which is a
kind of programmable controller for the JTAG which has high level commands
so that operations do not take a round trip through USB.

For this the best docs I found are the openocd code and some documents
referred in it:
http://www.ftdichip.com/Documents/AppNotes/AN2232C-01_MPSSE_Cmnd.pdf
http://openocd.berlios.de/web/

The openocd code is my main reference because it does work on linux.
If I have to I'll resort to sniffing the USB connection in linux, though I hope
it does not come to that.

After the MPSSE (or at the same time)
I have to figure the JTAG part for which probably EBo's references are good,
I haven't figured that part at all. Then there is an standard for
arm called ICE something or other (apparently there are different names and
interfaces for different versions of arm) which lets you look at the different
registers of arm and do interesting things to it. Then there is how the JTAG is
cabled inside the SoCer itself:

http://www.marvell.com/products/processors/embedded/kirkwood/HW_88F6281_OpenSource.pdf

I am working my way slowly through this sorry if this a tad
incoherent, but I haven't
figured most of it yet.

G.

Reply via email to