Sólo estoy aprendiendo, pero por lo que entendí, lo primero es que necesitas el pin de tu propio arduino. Por ejemplo en mi caso tengo arduino nano.
Comopuedesver,haynúmerosenpúrpura,quepuedesusar.Cuantomáspinestengasdisponiblesentuarduino,máspinespuedesprobarentutableroobjetivoalmismotiempo.
Paraquepuedasescribiruncódigocomoeste:
bytepins[]={0,1,2,3,4,5,6,7,8,9,1011,12,13,14,15,16,17,18,19};char*pinnames[]={"DIG_0 ", "DIG_1 ", "DIG_2", "DIG_3", "DIG_4", "DIG_5", "DIG_6", "DIG_7", "DIG_8", "DIG_9", "DIG_10", "DIG_11", "DIG_12", "DIG_13", "DIG_14", "DIG_15", "DIG_16", "DIG_17", "DIG_18", "DIG_19" };
Sin embargo, hay un problema con esto. El número de combinaciones es enorme y probablemente en el objetivo tenga una idea de cuáles 6 pines pueden ser la interfaz JTAG.
Para que puedas simplificar usando el número mínimo:
byte pins[] = { 0, 1, 2, 3, 4, 5};
char * pinnames[] = { "DIG_0 ", "DIG_1 ", "DIG_2", "DIG_3", "DIG_4", "DIG_5" };
En ambos casos, debe conectar todos los pines registrados en el arduino a cualquiera de los pines sospechosos en el objetivo (en los primeros casos, tal vez algunos de los 20 pines estén vacíos).
Luego, debe conectarse al puerto serie al programa JTAGEnum y después de escanear (comandos) debe obtener los resultados de las pruebas (si las hay).
Si has encontrado un JTAG, el programa te dirá qué pines de tu arduino coinciden con los pines JTAG identificados.
Por ejemplo:
ENCONTRADO! tck: DIG_0 tms: DIG_1 tdo: DIG_2 tdi: DIG_3
Así que puedes seguir la DIG_0 para saber cuál es tck en el objetivo, ...
Lo siento si no me explico muy bien y espero que esto pueda ayudar