JTAG multidispositivo

Estoy diseñando un circuito. incluirá ARM LPC1769 y AVR ATmega2560. Quiero programar estos chips con JTAG. Ahora, la pregunta es:

¿Es posible hacerlo con un solo programador JTAG a través de una conexión en cadena o tengo que usar un programador separado para cada MCU?

Desde el lado del hardware y del protocolo JTAG, sí. Sin embargo, debe encontrar un programador y un software que admita tanto AVR como ARM, y que pueda hacer frente a múltiples dispositivos en una cadena JTAG.
Será difícil encontrar un programador que haga ambas cosas por la sencilla razón de que el pinout es diferente. El próximo desafío sería encontrar un software que admita ambas arquitecturas. Por ejemplo, OpenOCD admite muchos chips diferentes. Sin embargo, AVR no es uno de ellos.
@ embedded.kyle: el pinout realmente no es tan significativo.
@ChrisStratton ¿Importante? Tal vez no desde el punto de vista de la construcción. ¿Vale la pena mencionar? Ya me lo imaginaba. Dado que muchos usan el mismo tamaño de conector pero tienen una disposición de conexión diferente, incluidos los pines específicos del proveedor, sentí que era útil señalarlo en caso de que el OP no lo supiera.

Respuestas (1)

Si y no.

Si utiliza las herramientas de programación de los proveedores, lo más probable es que, aunque funcionen en cadena, cada proveedor solo podrá programar su chip.

Sin embargo, existen herramientas de programación 'universales' independientes del proveedor, por ejemplo , OpenOCD , que es de código abierto. Los comerciales también existen. A menudo, el trabajo involucrado en la configuración del universal también para trabajar con todos los chips es más trabajo que usar cada herramienta del proveedor una a la vez.

La mayoría de las herramientas de los proveedores le permiten crear archivos SVF (formato vectorial en serie) , estos archivos le dicen a las herramientas universales de terceros y a los reproductores SVF cómo programar cada uno de los chips en la cadena sin que la herramienta real tenga que haber incorporado el conocimiento de cómo programar el chip.