Sì, è possibile trasformare un Arduino in un adattatore ARM JTAG.
Esistono tre problemi: tensione, velocità e driver.
L'Arduino funziona nativamente a 5 V. La maggior parte dei microcontrollori ARM non tollerano 5 V sui pin JTAG e richiedono 3,3 V. La soluzione più semplice è far funzionare il tuo Arduino a 3.3V, in mancanza del fatto che avrai bisogno di una sorta di conversione di livello (vedi idee di conversione da I2C 3.3 a 5.0 V per idee).
Arduino è collegato a un PC tramite un collegamento seriale. Dubito che possa andare più velocemente di 115200 bps, il che renderà molto lente le attività interattive come passare attraverso il codice in un debugger. Ma sarai in grado di caricare dispositivi di codice e reflash.
JTAG è un protocollo di alto livello, specifico per ogni famiglia di processori, che utilizza un'interfaccia simile a SPI per scambiare dati. La maggior parte dei dongle JTAG fornisce solo un'interfaccia SPI su USB, quindi lascia il resto del lavoro a un'applicazione per PC. OpenOCD e URJTag sono scelte popolari. Avrai bisogno di un driver in uno di questi per il tuo protocollo Arduino JTAG.
Il Bus Pirate è molto simile all'Arduino (microcontrollore a bassa velocità + chip FTDI). Supporta JTAG con OpenOCD, quindi è certamente possibile.
Se si utilizza una scheda Teensy / Opendous o altra scheda AVR-USB, è possibile utilizzare eStick-JTAG .
Ma, a costo perso JTAG, consiglierei uno dei dongle basati su FTDI2232. Sono economici e ben supportati da OpenOCD.