JTAG, OpenOCD y Atmel SAM3X

0

Estoy intentando configurar la depuración de OpenOCD a través de un puerto JTAG en una placa personalizada con un microcontrolador Atmel ATSAM3X8E.

OpenOCD se está ejecutando en una Raspberry Pi utilizando el GPIO nativo bcm2835. El puerto JTAG del SAM3X se divide en un encabezado: tiene NRST, TCK, TMS, TDI, TDO, GND y 3.3V en él. NRST se lleva de 3.3V a 100k, mientras que los otros están conectados directamente.

OpenOCD viene con un objetivo llamado at91sam3ax_8x.cfg que parece que debería ser lo correcto, pero parece que no se parece a la parte que estoy usando. Esa secuencia de comandos de destino espera que el TAPID del dispositivo sea 0x4ba00477 , mientras que el dispositivo tengo informes 0x05b2b03f como su TAPID (y esto coincide con el contenido de la hoja de datos de SAM3X). Una vez que lo arreglé, la verificación de IR falla (espera 0x1 pero ve 0x9). Una vez solucionado esto, esta es la salida que obtengo de OpenOCD:

Open On-Chip Debugger 0.10.0+dev-00093-g6b2acc0 (2017-03-17-16:47)
Licensed under GNU GPL v2
For bug reports, read
   http://openocd.org/doc/doxygen/bugs.html
BCM2835 GPIO config: tck = 11, tms = 25, tdi = 10, tdo = 9
BCM2835 GPIO config: srst = 7
srst_only separate srst_gates_jtag srst_push_pull connect_deassert_srst
Info : auto-selecting first available session transport "jtag". To override use 'transport select <transport>'.
adapter speed: 500 kHz
RCLK - adaptive
adapter_nsrst_delay: 100
jtag_ntrst_delay: 100
cortex_m reset_config sysresetreq
Info : BCM2835 GPIO JTAG/SWD bitbang driver
Info : JTAG only mode enabled (specify swclk and swdio gpio to add SWD mode)
Info : RCLK (adaptive clock speed) not supported - fallback to 10 kHz
Info : JTAG tap: sam3.cpu tap/device found: 0x05b2b03f (mfg: 0x01f (Atmel), part: 0x5b2b, ver: 0x0)
Error: Invalid ACK (7) in DAP response
Error: JTAG-DP STICKY ERROR
Error: Invalid ACK (7) in DAP response
Error: JTAG-DP STICKY ERROR
...repeated about 40 times...
Error: Could not initialize the debug port

¿Qué está pasando aquí? ¿Hay algo mal con mi configuración? ¿O es el AT91SAM3AX una parte diferente al ATSAM3X que estoy usando?

    
pregunta Tom

1 respuesta

-2

De hecho, es diferente.

Pero at91sam3XXX.cfg en versiones recientes de OpenOCD Enumera explícitamente su SAM3X8E como compatible.

Presumiblemente, esto ya está presente en su instalación, probablemente justo al lado del archivo que no coincide.

    
respondido por el Chris Stratton

Lea otras preguntas en las etiquetas