Oui, il est possible de transformer un Arduino en un adaptateur ARM JTAG.
Il y a trois problèmes, la tension, la vitesse et les pilotes.
L'Arduino fonctionne nativement à 5V. La plupart des microcontrôleurs ARM ne tolèrent pas 5 V sur leurs broches JTAG et nécessitent 3,3 V. La solution la plus simple consiste à faire fonctionner votre Arduino à 3,3 V , à défaut de quoi vous aurez besoin d'une sorte de conversion de niveau (voir la conversion I2C 3,3 à 5,0 V pour des idées).
L'Arduino est connecté à un PC via une liaison série. Je doute que cela puisse aller plus vite que 115200 bps, ce qui rendra très lentes les activités interactives comme parcourir le code dans un débogueur. Mais, vous pourrez télécharger du code et reflasher les appareils.
JTAG est un protocole de haut niveau, spécifique à chaque famille de processeurs, qui utilise une interface de type SPI pour échanger des données. La plupart des dongles JTAG fournissent simplement une interface SPI sur USB, puis laissent le reste du travail à une application PC. OpenOCD et URJTag sont des choix populaires. Vous aurez besoin d'un pilote dans l'un d'entre eux pour votre protocole Arduino JTAG.
Le Bus Pirate est très similaire à l'Arduino (microcontrôleur basse vitesse + puce FTDI). Il prend en charge JTAG avec OpenOCD, c'est donc certainement possible.
Si vous utilisez une carte Teensy / Opendous ou une autre carte AVR-USB, vous pouvez utiliser eStick-JTAG .
Mais, pour le coût perdu JTAG, je recommanderais l'un des dongles basés sur FTDI2232. Ils sont bon marché et bien pris en charge par OpenOCD.