¿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 ?
¿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 ?
Respuestas:
La revisión 2.0 del modelo B Raspberry Pi ha expuesto los pines JTAG.
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
También puede probar este convertidor SN74LVC8T245 desde TI http://www.ti.com/product/sn74lvc8t245