Come costruire una interfaccia JTAG (rev. 1.0 - 13/12/2008) by roleo

 

Questo breve tutorial descrive la procedura per l'autocostruzione di una interfaccia di comunicazione JTAG che utilizza la porta parallela.
Una interfaccia di questo tipo vi serve per collegare un dispositivo tipo router, telefono, etc... a una porta parallela di un PC (RS232) e avere così accesso in lettura e scrittura alla memoria flash.
In realtà la funzionalità di accesso alla flash dipende molto dal processore che si trova dentro al vostro dispositivo e dal software che utilizzate per eseguire l'operazione.
Tipicamente si è costretti a utilizzare un sistema di questo tipo per ripristinare un dispositivo che ha subito danni per la scrittura non riuscita di un firmware (in gergo "debrick").

 

JTAG

Trovate centinaia di pagine in rete che ne parlano. Vi dico comunque che potete utilizzare interfacce diverse (xilinx, jkeys, wiggler) visto che il software le supporta.

Riporto lo schema delle interfacce più note: xilinx e wiggler poiché la loro costruzione richiede solo una manciata di componenti e costa probabilmente meno di 1 euro. 

 

Xilinx

 

Wiggler

Potete trovare una descrizione più ampia sul sito http://wiki.openwrt.org/OpenWrtDocs/Customizing/Hardware/JTAG_Cable da cui ho prelevato le immagini.

Nota bene: per l'interfaccia Xilinx il cavo deve essere il più corto possibile, meglio se < 20 cm perché si tratta di una interfaccia non bufferizzata.

 

I connettori che vedete disegnati negli schemi sono differenti perchè esistono due varianti possibili dello standard: la variante a 12 pin e quella a 14 pin.
Nei due casi la piedinatura è la seguente:

Segnale

PIN

PIN

Segnale

TRST

1

2

GND

TDI

3

4

GND

TDO

5

6

GND

TMS

7

8

GND

TCK

9

10

GND

SRST

11

12

GND

 

Segnale

PIN

PIN

Segnale

TRST

1

2

GND

TDI

3

4

GND

TDO

5

6

GND

TMS

7

8

GND

TCK

9

10

GND

SRST

11

12

N.C.

N.C.

13

14

VCC

Per il corretto funzionamento con la Xilinx (che diciamocelo è quella che usano tutti) è sufficiente utilizzare i pin che ho evidenziato in giallo.

 

I software che maggiormente si usano per eseguire il debrick sono: