jtag cos'è?

Col JTAG in genere puoi riprogrammare il micro, fare debug, dei test, etc..
Serve sempre l'apposito programmatore
Ciao

flz47655:
Serve sempre l'apposito programmatore

Cosa intendi per "apposito"?
Ci vuole un programmatore ben studiato per QUEL tipo di hardware a cui fare test, debug etc etc? non posso prendere un qualsiasi programmatore?

Non esiste un programmatore universale completo, alcuni chip hanno delle estensioni proprietarie, ogni ambiente di sviluppo proprietario poi riconosce solamente i programmatori della casamadre in genere.
Comunque c'è un subset comune (JTAG IEEE Std 1149.1) che permette di fare diverse cose come la programmazione, i test, etc..
Nel più semplice dei casi è un semplice traslatore di livello con un qualche chip che gestisce la comunicazione USB
Ciao

flz47655:
Non esiste un programmatore universale completo, alcuni chip hanno delle estensioni proprietarie, ogni ambiente di sviluppo proprietario poi riconosce solamente i programmatori della casamadre in genere.
Comunque c'è un subset comune (JTAG IEEE Std 1149.1) che permette di fare diverse cose come la programmazione, i test, etc..
Nel più semplice dei casi è un semplice traslatore di livello con un qualche chip che gestisce la comunicazione USB
Ciao

adesso mi è più chiara la questione...

Sapevo che per usare la modalità jtag bastava un pc con porte parallela, un connettore parallelo ed un paio di resistenze.
Apparte questo la modalità Jtag e per lo più sempre bloccatta, perchè puoi cmq riflashare la nand del controllore(vedi console verde-bianca) e metterci il tuo software modificato.

Esistono programmatori anche con porta parallela, i più moderni ormai sono USB però, usano chip tipo i cypress in genere nelle versioni più economiche.
JTag non mi sembra che in genere è bloccato, al limite il chip è protetto da lettura, ovvero non puoi leggere la sua memoria ma puoi scriverla.

Per farti un esempio anche l'ATMEGA 644 ha il JTAG

Ciao

flz47655:
Esistono programmatori anche con porta parallela, i più moderni ormai sono USB però, usano chip tipo i cypress in genere nelle versioni più economiche.
JTag non mi sembra che in genere è bloccato, al limite il chip è protetto da lettura, ovvero non puoi leggere la sua memoria ma puoi scriverla.

Per farti un esempio anche l'ATMEGA 644 ha il JTAG

Ciao

Ti assicuro che è bloccata anche la scrittura e pur sempre M$ cosa pretendi? :grin:

Madwriter:
Ti assicuro che è bloccata anche la scrittura e pur sempre M$ cosa pretendi? :grin:

Ma tu parli di una cosa specifica, l'Xbox. Questo dipende da scelte del costruttore.

flz47655:
Per farti un esempio anche l'ATMEGA 644 ha il JTAG

Anche il SAM3X della DUE e l'Atmega2560 della MEGA ce l'hanno.

Ovvio che il sistema per bloccarla c'è, potrebbe essere anche qualche jumper da collegare nel più banale dei casi o proprio il chip che ha disattivato l'interfaccia JTAG o ne utilizza un'altra, chi può dirlo.. ma perché ti interessa così tanto? ]:smiley:

come sopra, la JTAG è un programmatore con una serie di funzioni avanzate come il debug passo-passo del codice.

In pratica immagina di avere un boot-loader sotto steroidi in un chip a parte (e quindi spesso questo chip è protetto da scrittura, per evitare che l'user sminchi il tutto).

Normalmente il jtag è un componente esterno, poichè il protocollo è più o meno standardizzato, ma sulle board di developer spesso si trova anche "on chip" sulla scheda.

"la gpio" mi sorprendi: sta per General Purpose Input Output, e li ha anche arduino: sono i pin digitali!

@lesto: JTAG non è un programmatore, è un protocollo che viene usato per fare test e programmare i chip
praticamente tutti i micro/cpld/fpga lo supportano anche perché si usa per programmare e testare in un botto tutti i chip sulla scheda, i vari chip sono collegati tra loro (lo prevede il protocollo) e serve quindi un solo connettore sulla scheda

yep hai ragione, JTAG è uno standard (IEEE 1149)

Uppo questa domanda interessante.
Il 328 purtroppo non ha il jtag, ma la Mega si, quindi resteremmo in ambito arduinoco.
Qualcuno ha una guida, uno spunto, o voglia diretta di spiegare, come usarlo ?
una specie di blink per Arduino Mega con jtag, che consigliasse quale sw scaricare, quale programmatore usare, come diavolo fare il tutto.

Karma per tutti :slight_smile:

Testato:
Uppo questa domanda interessante.
Il 328 purtroppo non ha il jtag, ma la Mega si, quindi resteremmo in ambito arduinoco.
Qualcuno ha una guida, uno spunto, o voglia diretta di spiegare, come usarlo ?
una specie di blink per Arduino Mega con jtag, che consigliasse quale sw scaricare, quale programmatore usare, come diavolo fare il tutto.

Karma per tutti :slight_smile:

Quotone, se c'è un volontario... :smiley:

Ma perché vuoi usare il JTAG quando hai la programmazione ISP su Arduino Mega?

il jtag permette di debuggare

LikeLifer:

Testato:
Uppo questa domanda interessante.
Il 328 purtroppo non ha il jtag, ma la Mega si, quindi resteremmo in ambito arduinoco.
Qualcuno ha una guida, uno spunto, o voglia diretta di spiegare, come usarlo ?
una specie di blink per Arduino Mega con jtag, che consigliasse quale sw scaricare, quale programmatore usare, come diavolo fare il tutto.

Karma per tutti :slight_smile:

Quotone, se c'è un volontario... :smiley:

Basta cercare su internet "arduino mega jtag".
Questa è una delle tante guide:
http://automation.binarysage.net/?p=1515

Serve un programmatore compatibile, servono un pò di jumper e Atmel Studio.

AnTrea:
ma la jtag?

In linea di massima ti hanno già detto tutto, sintetizzando al massimo il Jtag è un protocollo che definisce sia la parte hardware che quella software allo scopo di dialogare con una intera scheda oppure un singolo componente della stessa, tipicamente il micro o comunque componenti al cui interno c'è un micro/mcu, p.e. un controller video.
Dal punto di vista hardware il Jtag è abbastanza simile alla SPI, si dialoga via seriale in full duplex (TX e RX simultanei) mentre dal punto di vista software la cosa è molto più complessa perché oltre a come vanno gestiti i vari pin per la comunicazione c'è un set di comandi, molto complesso, che consente di chiedere informazioni ed eseguire operazioni specifiche hall'hardware con cui si sta dialogando.
Dal punto di vista hardware tutte le porte Jtag sono identiche, salvo i livelli di tensione che spaziano da quello TTL (5V) fino a quelli CMOS a bassa tensione (1.8V) utilizzati su i micro di ultima generazione, in pratica l'interfaccia Jtag può facilmente essere universale, basta che sia in grado di adattarsi alle varie tensioni.
Dal punto di vista dialogo con il device c'è una parte standard per tutti i device e ci può essere una parte custom, stabilita dal produttore dell'hardware, che implementa funzioni e attività extra rispetto al protocollo standard.

Se ho capito bene, volendo fare debug sulla mega si può comprare un programmatore jtag compatibile, mentre volendolo usare sulla Uno si deve per forza prendere un originale atmel, tipo il dragon, perché il protocollo per il 328p, che usa solo il pin di reset, è segreto
A questo punto conviene sempre il dragon, in modo da usarlo su entrambe le schede