¿Alguien ha intentado depurar usando JTAG / BDM?

19

¿Hay una interfaz JTAG / BDM utilizable disponible en la Raspberry Pi?

¿Qué hardware depurador se necesita para la depuración?

¿Se puede usar Open OCD ?

Lars Pötter
fuente

Respuestas:

8

La revisión 2.0 del modelo B Raspberry Pi ha expuesto los pines JTAG.

Ver http://www.raspberrypi.org/archives/1929

Damian Dixon
fuente
1
Entonces, con los pines disponibles, ¿qué software / hardware se necesita para usar los pines para la depuración?
Lars Pötter
7

Puede encontrar mucha información aquí . Desafortunadamente, usar JTAG en RPi no es sencillo. Para ser honesto, solo porque es tan problemático, no me molesté en hacerlo funcionar. Esto es lo que sé, sin embargo:

No todas las señales JTAG están fácilmente disponibles. Todos menos todos están en el conector GPIO (no en el conector P2 JTAG; es un VideoCore JTAG, no ARM y AFAIK, no se puede usar para personas fuera de Broadcom). El pin adicional está en el conector S5 (encabezado CSI), probablemente tendrá que soldarlo. Estos son los pines necesarios (más información sobre esto en el sitio dwelch67, también puede encontrar información sobre las funciones de pines alternativos GPIO en el wiki de raspberrypi ):

  ARM_VREF    P1-1
  ARM_TRST    P1-15
  ARM_TDO     P1-18
  ARM_TCK     P1-22
  ARM_TDI     P1-7
  ARM_TMS     S5-11
  ARM_GND     P1-25

EDITAR: Como señaló @Damian , en la revisión 2.0 de PCB, la señal ARM_TMS faltante se conectó al pin 13 en P1, por lo que ya no debería ser necesario soldar.

Ahora, no es el único problema. Por defecto, todos esos pines están configurados para ser pines GPIO, no JTAG. Tienen que ser reconfigurados en software y AFAIK no hay soporte para esto en el gestor de arranque de Foundation. Dwelch67 escribió su propio gestor de arranque (gestor de arranque de la siguiente etapa) que hace exactamente eso. Puede descargarlo desde el enlace proporcionado en la parte superior de esta respuesta.

En cuanto al hardware, cualquier hardware ARM11 JTAG debería estar bien. Como se mencionó anteriormente, no he probado personalmente ninguno, así que no puedo hacer ninguna recomendación. Y sí, se puede usar OpenOCD. Incluso hay un pequeño proyecto (también realizado por dwelch67) para construir hardware JTAG muy simple y barato basado en una placa barata como Launchpad . Ver su repositorio github

Krzysztof Adamski
fuente
Hola "Christofer" Gracias por publicar alguna información. Sería genial si pudieras ampliar tu respuesta. Posiblemente, qué cables se necesitan, cómo conectarlos, una imagen o dos va más que mil palabras. De lo contrario, creo que vale la pena ser un comentario; Los usuarios pueden ir y explorarlo en su propio tiempo. Bienvenido a Raspberry Pi SE :-) Witamy!
Piotr Kula
2
He añadido algunas informaciones más. Eso es todo lo que puedo decir sobre este tema y pensé que una pequeña cantidad de información es mejor que nada. Y como es la única respuesta, creo que no hay mucha otra información al respecto.
Krzysztof Adamski