[CIAA ACC] Pregunta sobre JTAG y LPC11U35

48 views
Skip to first unread message

Santi Rodríguez

unread,
Mar 28, 2018, 4:16:44 PM3/28/18
to Embebidos32

Buenas gente. Hago una pregunta sobre la CIAA ACC hablando desde la ignorancia. Mirando el diagrama en bloques y los esquemáticos noté que la interfaz JTAG de la PL se encuentra conectada al conector FMC_HPC y a un micro LPC (y éste al USB). Entiendo que con J20 se elige si se tiene ZYNQ con LPC o ZYNQ con conector "JTAG DIRECT".
Quería consultarles el motivo de realizar la conexión con el micro LPC. Puntualmente:
 - Es posible reconfigurar la memoria QSPI a través del USB? Por ejemplo para una aplicación Bare-metal.
 - Esta conexión USB permite el debugging del procesador? (a través del JTAG dedicado de la PL, bloque U1A del esquemático) En caso negativo, cómo harían para debuggear el procesador?
Estas inquietudes surgen de que creía que únicamente productos cerrados como el Platform Cable II de Xilinx o el Digilent "On-board JTAG programming and UART to USB converter" podían programar dispositivos como el ZYNQ.

Entiendo que el LPC hace de bridge USB-UART conectada a una UART del procesador (MIO 10y 11).
Quizás si algún involucrado podría hacerme la analogía entre el producto de Digilent (como el que tiene la ZYBO por ejemplo) y esta implementación con el LPC11U35.

Gracias y espero no haber sido muy confuso

SR

martin ribelotta

unread,
Apr 3, 2018, 1:32:44 PM4/3/18
to embebidos32@
El 28 de marzo de 2018, 17:16, Santi Rodríguez <santiag...@gmail.com> escribió:

Buenas gente. Hago una pregunta sobre la CIAA ACC hablando desde la ignorancia. Mirando el diagrama en bloques y los esquemáticos noté que la interfaz JTAG de la PL se encuentra conectada al conector FMC_HPC y a un micro LPC (y éste al USB). Entiendo que con J20 se elige si se tiene ZYNQ con LPC o ZYNQ con conector "JTAG DIRECT".
Quería consultarles el motivo de realizar la conexión con el micro LPC. Puntualmente:
 - Es posible reconfigurar la memoria QSPI a través del USB? Por ejemplo para una aplicación Bare-metal.
Si pero no esta hecho. Lo mejor que podes hacer es levantar un programa bare metal desde SD y bajarle el firmware a través de eso. En general, para los Zynq la SD es el metodo idoneo de booteao.
 
 - Esta conexión USB permite el debugging del procesador? (a través del JTAG dedicado de la PL, bloque U1A del esquemático) En caso negativo, cómo harían para debuggear el procesador?
Si, pero esta a medio hacer. Con openocd y varios scripts que andan dando vueltas por internet podes armarte un bootstrap basico, bajarte el ELF y depurar desde gdb, pero por el momento, no es ni lo mas rapido ni lo mas conveniente.
 
Estas inquietudes surgen de que creía que únicamente productos cerrados como el Platform Cable II de Xilinx o el Digilent "On-board JTAG programming and UART to USB converter" podían programar dispositivos como el ZYNQ.

Si y no: Xilinx provee un protocolo estandar para comunicarse con sus "JTAG servers" y varios implementan librerias para esto. Eso si, con el micro de la r-pi no podrias usar el IDE de Xilinx sino que tendrias que usar las herramientas de linea de comando (gcc, gdb, openocd)
En si, fue un compromiso entre mantenerlo libre y hacerlo funcional. De todas formas, esta el conector JTAG del micro disponible para conectarle un JTAG comercial.
 
Entiendo que el LPC hace de bridge USB-UART conectada a una UART del procesador (MIO 10y 11).
Y tambien de bridge JTAG implementando el protocolo estandar de ARM CMSIS-DAP. La idea es que a futuro, este micro haga el trabajo de grabar la flash SPI mostrandola como un dispositivo de bloques (algo asi como el bootloader del propio LPC11U35 pero para la flash del zynq e incluso permita -por el mismo medio- grabar el bitstream) pero otra vez, no esta hecho aun.
 
Quizás si algún involucrado podría hacerme la analogía entre el producto de Digilent (como el que tiene la ZYBO por ejemplo) y esta implementación con el LPC11U35.

Creo haber contestado el asunto, pero si quedan puntos oscuros no dudes en seguirnos consultando.
 
Gracias y espero no haber sido muy confuso

SR

--
-- Recibiste este mensaje porque estás suscripto al Grupo Google Embebidos32. Para postear en este grupo, escribe un email a embeb...@googlegroups.com. Para des-suscribirte, envía un email a embebidos32+unsubscribe@googlegroups.com. Para más opciones, visita el sitio del grupo en https://groups.google.com/d/forum/embebidos32?hl=es
---
Has recibido este mensaje porque estás suscrito al grupo "Embebidos32" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a embebidos32+unsubscribe@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

Noelia Scotti

unread,
Apr 4, 2018, 11:39:33 AM4/4/18
to embeb...@googlegroups.com
Santiago, no sé si ya lo viste pero por las dudas te paso el repo de lo que ya está hecho por Emtech e INTI CMNB:
https://github.com/ciaa/CIAA_ACC_Support

Saludos!
Noelia

Santi Rodríguez

unread,
Apr 4, 2018, 3:40:57 PM4/4/18
to Embebidos32
No había llegado ahí aún. Muchas gracias.

SR


El miércoles, 4 de abril de 2018, 12:39:33 (UTC-3), Noelia Scotti escribió:
Santiago, no sé si ya lo viste pero por las dudas te paso el repo de lo que ya está hecho por Emtech e INTI CMNB:
https://github.com/ciaa/CIAA_ACC_Support

Saludos!
Noelia
2018-04-03 14:32 GMT-03:00 martin ribelotta <martinr...@gmail.com>:
El 28 de marzo de 2018, 17:16, Santi Rodríguez <santiag...@gmail.com> escribió:

Buenas gente. Hago una pregunta sobre la CIAA ACC hablando desde la ignorancia. Mirando el diagrama en bloques y los esquemáticos noté que la interfaz JTAG de la PL se encuentra conectada al conector FMC_HPC y a un micro LPC (y éste al USB). Entiendo que con J20 se elige si se tiene ZYNQ con LPC o ZYNQ con conector "JTAG DIRECT".
Quería consultarles el motivo de realizar la conexión con el micro LPC. Puntualmente:
 - Es posible reconfigurar la memoria QSPI a través del USB? Por ejemplo para una aplicación Bare-metal.
Si pero no esta hecho. Lo mejor que podes hacer es levantar un programa bare metal desde SD y bajarle el firmware a través de eso. En general, para los Zynq la SD es el metodo idoneo de booteao.
 
 - Esta conexión USB permite el debugging del procesador? (a través del JTAG dedicado de la PL, bloque U1A del esquemático) En caso negativo, cómo harían para debuggear el procesador?
Si, pero esta a medio hacer. Con openocd y varios scripts que andan dando vueltas por internet podes armarte un bootstrap basico, bajarte el ELF y depurar desde gdb, pero por el momento, no es ni lo mas rapido ni lo mas conveniente.
 
Estas inquietudes surgen de que creía que únicamente productos cerrados como el Platform Cable II de Xilinx o el Digilent "On-board JTAG programming and UART to USB converter" podían programar dispositivos como el ZYNQ.

Si y no: Xilinx provee un protocolo estandar para comunicarse con sus "JTAG servers" y varios implementan librerias para esto. Eso si, con el micro de la r-pi no podrias usar el IDE de Xilinx sino que tendrias que usar las herramientas de linea de comando (gcc, gdb, openocd)
En si, fue un compromiso entre mantenerlo libre y hacerlo funcional. De todas formas, esta el conector JTAG del micro disponible para conectarle un JTAG comercial.
 
Entiendo que el LPC hace de bridge USB-UART conectada a una UART del procesador (MIO 10y 11).
Y tambien de bridge JTAG implementando el protocolo estandar de ARM CMSIS-DAP. La idea es que a futuro, este micro haga el trabajo de grabar la flash SPI mostrandola como un dispositivo de bloques (algo asi como el bootloader del propio LPC11U35 pero para la flash del zynq e incluso permita -por el mismo medio- grabar el bitstream) pero otra vez, no esta hecho aun.
 
Quizás si algún involucrado podría hacerme la analogía entre el producto de Digilent (como el que tiene la ZYBO por ejemplo) y esta implementación con el LPC11U35.

Creo haber contestado el asunto, pero si quedan puntos oscuros no dudes en seguirnos consultando.
Gracias y espero no haber sido muy confuso

SR

--
-- Recibiste este mensaje porque estás suscripto al Grupo Google Embebidos32. Para postear en este grupo, escribe un email a embeb...@googlegroups.com. Para des-suscribirte, envía un email a embebidos32...@googlegroups.com. Para más opciones, visita el sitio del grupo en https://groups.google.com/d/forum/embebidos32?hl=es

---
Has recibido este mensaje porque estás suscrito al grupo "Embebidos32" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a embebidos32...@googlegroups.com.

Para acceder a más opciones, visita https://groups.google.com/d/optout.

--
-- Recibiste este mensaje porque estás suscripto al Grupo Google Embebidos32. Para postear en este grupo, escribe un email a embeb...@googlegroups.com. Para des-suscribirte, envía un email a embebidos32...@googlegroups.com. Para más opciones, visita el sitio del grupo en https://groups.google.com/d/forum/embebidos32?hl=es

---
Has recibido este mensaje porque estás suscrito al grupo "Embebidos32" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a embebidos32...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages