avr-gcc-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [avr-gcc-list] r-engineering the JTAG-ICE protocol


From: a . doesschate
Subject: Re: [avr-gcc-list] r-engineering the JTAG-ICE protocol
Date: Sat, 5 Oct 2002 19:45:31 +0200
User-agent: Mutt/1.2.5.1i

On Sat, Oct 05, 2002 at 04:24:11PM +0000, Karl Ran wrote:
> >Now to the JTAG interface : I am preparing an atmega16 to watch
> >the JTAG interface of the Atmel's Ice.
> 
> How do you think to capture the JTAG traffic(poll, SPI, .)?


In a very simple way : check pins TMS, TDI and TDO on the rising edge of TCK.
That is the one you must take into account. If you put those pins on one port
for example portB, then you can read this port.
Pin TMS is the one which you must check for each state the JTAG state machine
is in. It determines what should be done (please check the datasheet). 

> 
> [..]
> 
> >So please be patient : things will be published in time but plenty of time 
> >isnot
> >what I have unfortunately (are we all ?).
> 
> Well, it sounds realy interresting!
> and remember: Release Early, Release Often!

Actually the "spy" software is ready but I want to check on the ARM7TDMI JTAG
software first. THat is the one that is working for me.

> 
> For just dumping a some JTAG bytes it _may_ be oversized :-/
> Maybe we _have_ to use the parallel port because in the worst case the JTAG 
> data rate would be 3 * 50 kbit/s (TMS,TDI,TDO)

No. That isnot neccesary. I even considered using the 68HC11 (that is the 
one I can program realy well in assembly) to figure out the levels.
The "spy" software is optimized very well (all register based as far as I could)
so you can reach the higest speed you can get.
Checking the levels of TMS, TCK, TDI and TDO can be done very well this way.
But you have to slow down the jtag OCD clock to about 100 KHz not to burden
the atmega16. According to what I measured on my Tectronix scope the TCK clock
can even be set at 500 KHz but I am not sure of this.

The dumping of JTAG bytes is based on RS232 at 115 KHz. To dump one byte to the 
host
the interrupt will take about 5 microseconds on 8 MHz system clock.
The RS232 is based - of course - on interrupts.
The same algorithm is used to get the levels on the rising edge of TCK so you 
can't
miss the levels.

But again I must test this beast on the ARM7TDMI because I know what I am
transmitting and receiving.

> 
> Karl
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> _________________________________________________________________
> Send and receive Hotmail on your mobile device: http://mobile.msn.com



Armand


*******************************************
* choose GNU/Linux : GNU/Linux is Freedom *
*******************************************

----------------------------------

Armand ten Doesschate
Welschapsedijk 141
5652 XL Eindhoven
tel : (++31) 40 2571 274
the Netherlands
e-mail : address@hidden
avr-gcc-list at http://avr1.org



reply via email to

[Prev in Thread] Current Thread [Next in Thread]