Sí, es posible convertir un Arduino en un adaptador ARM JTAG.
Hay tres problemas, voltaje, velocidad y controladores.
El Arduino funciona de forma nativa a 5V. La mayoría de los microcontroladores ARM no toleran 5V en sus pines JTAG y requieren 3.3V. La solución más fácil es ejecutar su Arduino a 3.3V, en caso de que necesite algún tipo de conversión de nivel (consulte la conversión de I2C 3.3 a 5.0 V para obtener ideas).
El Arduino está conectado a una PC a través de un enlace en serie. Dudo que pueda ir más rápido que 115200bps, lo que hará que las actividades interactivas, como recorrer el código en un depurador, sean muy lentas. Pero podrá cargar código y actualizar dispositivos.
JTAG es un protocolo de alto nivel, específico para cada familia de procesadores, que utiliza una interfaz similar a SPI para intercambiar datos. La mayoría de los dongles JTAG solo proporcionan una interfaz SPI a través de USB y luego dejan el resto del trabajo a una aplicación de PC. OpenOCD y URJTag son opciones populares. Necesitará un controlador en uno de estos para su protocolo Arduino JTAG.
El Bus Pirate es muy similar al Arduino (microcontrolador de baja velocidad + chip FTDI). Es compatible con JTAG con OpenOCD, por lo que ciertamente es posible.
Si usa una placa Teensy / Opendous u otra placa AVR-USB, puede usar eStick-JTAG .
Pero, por el costo perdido de JTAG, recomendaría uno de los dongles basados en FTDI2232. Son baratos y bien compatibles con OpenOCD.