Problemas depurando la EDU-CIAA con firmware_v2, OpenOCD y GDB

86 views
Skip to first unread message

Federico Moya

unread,
Mar 19, 2018, 7:23:56 PM3/19/18
to Embebidos32
Buenas!

Después de un par de sesiones de debug exitosas el debugging me dejo de funcionar.

Para depurar hago lo siguiente. Por un levanto el openocd ejecutando make openocd. La salida parece ser normal

ubuntu@ubuntu-xenial:~/Code/CIAA/firmware_v2$ make openocd 

Starting OpenOCD for lpc4337_m4...

Open On-Chip Debugger 0.9.0 (2017-12-31-20:04)

Licensed under GNU GPL v2

For bug reports, read

adapter speed: 2000 kHz

Info : auto-selecting first available session transport "jtag". To override use 'transport select <transport>'.

none separate

cortex_m reset_config vectreset

Info : clock speed 2000 kHz

Info : JTAG tap: lpc4337.m4 tap/device found: 0x4ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x4)

Info : JTAG tap: lpc4337.m0 tap/device found: 0x0ba01477 (mfg: 0x23b, part: 0xba01, ver: 0x0)

Info : lpc4337.m4: hardware has 6 breakpoints, 4 watchpoints

Info : lpc4337.m0: hardware has 2 breakpoints, 1 watchpoints


Luego inicio el gdb y lo conecto al OpenOCD de la siguiente manera

ubuntu@ubuntu-xenial:~$ gdb Code/CIAA/firmware_v2/out/lpc4337_m4/freeRTOS_01_blinky.axf 

...

Reading symbols from Code/CIAA/firmware_v2/out/lpc4337_m4/freeRTOS_01_blinky.axf...done.

(gdb) target remote localhost:3333

Remote debugging using localhost:3333

warning: Architecture rejected target-supplied description

warning: Cannot convert floating-point register value to non-floating-point type.

value has been optimized out

0x00000000 in ?? ()

(gdb)


El OpenOCD loguea lo siguiente

Info : accepting 'gdb' connection on tcp/3333

undefined debug reason 7 - target needs reset


Luego agrego un breakpoint y le doy continue, ahí sale el error siguiente en el GDB

 (gdb) b gpioToggle

Breakpoint 1 at 0x1a0024dc: file modules/lpc4337_m4/sapi_rtos/src/sapi_gpio.c, line 310.

(gdb) c

Continuing.

Note: automatically using hardware breakpoints for read-only addresses.

Warning:

Cannot insert hardware breakpoint 1.

Could not insert hardware breakpoints:

You may have requested too many hardware breakpoints/watchpoints.


Command aborted.


Por su lado el OpenOCD reporta el siguiente error

Error: can't add breakpoint: resource not available

Si le doy reset a la placa el OpenOCD loguea esto

Polling target lpc4337.m4 failed, trying to reexamine

Warn : Invalid ACK 0x7 in JTAG-DP transaction

Warn : Invalid ACK 0x7 in JTAG-DP transaction

Warn : Invalid ACK 0x7 in JTAG-DP transaction

Warn : Invalid ACK 0x7 in JTAG-DP transaction

Warn : Invalid ACK 0x7 in JTAG-DP transaction

Warn : Invalid ACK 0x7 in JTAG-DP transaction

Warn : Invalid ACK 0x7 in JTAG-DP transaction

Warn : Invalid ACK 0x7 in JTAG-DP transaction

Warn : Invalid ACK 0x7 in JTAG-DP transaction

Warn : Invalid ACK 0x7 in JTAG-DP transaction

Examination failed, GDB will be halted. Polling again in 300ms

Error: Debug regions are unpowered, an unexpected reset might have happened


Como dije al principio, inicialmente pude depurar varias veces pero de un momento para otro empezaron a salir estos errores. Probé con 2 aplicaciones diferentes y me pasa lo mismo.

Alguien renegó con esto? Puede ser que se haya roto algo en la placa? 

Gracias! Saludos!

Carlos Pantelides

unread,
Mar 19, 2018, 8:13:33 PM3/19/18
to Embebidos32
Hola Federico:

Hace unas semanas mientras probaba algo no pude debuggear por algun motivo que no registre pero se parecia, acabo de compilar un proyecto y el resultado hasta undefined debug reason 7 - target needs reset es el mismo que el tuyo, no seguí.

Estoy en HEAD, tag: r0.2.0) remove fv2 warning....

Saludos

Matias Loiseau

unread,
Mar 20, 2018, 9:18:02 AM3/20/18
to Embebidos32
Este comentario me suena muy "soporte de fibertel" pero probaste eliminando el openOCD e instalándolo otra vez ?

martin ribelotta

unread,
Mar 20, 2018, 9:33:28 AM3/20/18
to embebidos32@
2018-03-19 20:23 GMT-03:00 Federico Moya <federi...@gmail.com>:
Buenas!

Después de un par de sesiones de debug exitosas el debugging me dejo de funcionar.

Para depurar hago lo siguiente. Por un levanto el openocd ejecutando make openocd. La salida parece ser normal

ubuntu@ubuntu-xenial:~/Code/CIAA/firmware_v2$ make openocd 

Starting OpenOCD for lpc4337_m4...

Open On-Chip Debugger 0.9.0 (2017-12-31-20:04)

Licensed under GNU GPL v2

For bug reports, read

adapter speed: 2000 kHz

Info : auto-selecting first available session transport "jtag". To override use 'transport select <transport>'.

none separate

cortex_m reset_config vectreset

Info : clock speed 2000 kHz

Info : JTAG tap: lpc4337.m4 tap/device found: 0x4ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x4)

Info : JTAG tap: lpc4337.m0 tap/device found: 0x0ba01477 (mfg: 0x23b, part: 0xba01, ver: 0x0)

Info : lpc4337.m4: hardware has 6 breakpoints, 4 watchpoints

Info : lpc4337.m0: hardware has 2 breakpoints, 1 watchpoints


Luego inicio el gdb y lo conecto al OpenOCD de la siguiente manera

ubuntu@ubuntu-xenial:~$ gdb Code/CIAA/firmware_v2/out/lpc4337_m4/freeRTOS_01_blinky.axf 

Estas usando el GDB del sistema???? Lo tenes targeteado para multilib no x86?
Si no es asi, deberias usar arm-none-eabi-gdb, tu problema es ocnsistente con eso...
 

--
-- 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.

Federico Moya

unread,
Mar 20, 2018, 9:50:33 AM3/20/18
to Embebidos32
Claro Ruso, eso es!!! Por eso me dejo de andar de un momento a otro. Porque pase de usar el arm-none-eabi-gdb a usar el gdb del sistema. No puedo ser más salame.

Infinitas gracias!!

Carlos Pantelides

unread,
Mar 20, 2018, 7:16:27 PM3/20/18
to Embebidos32
salame y queso (yo)

martin ribelotta

unread,
Mar 20, 2018, 9:12:27 PM3/20/18
to embebidos32@
Punto, en ubuntu 16.04 (y supongo que en 14.04 y otros similares) existe el paquete gdb-multiarch (sudo apt install gdb-muliarch)
Este permite depurar programas de cualquier arquitectura.
Aparte, tiene añadido GDB-TUI (interfaz "grafica" de texto de GDB) que facilita bastante el seguimiento del codigo.

En mi maquina, luego de hacer "make debug" lanzo esto:
$> gdb-multiarch -tui out/program.elf -ex "target remote :3333" -ex "mon reset halt" -ex "load" -ex "b main" -ex "c"

Y funciona perfectamente.



--

Federico Moya

unread,
Mar 21, 2018, 9:16:16 AM3/21/18
to Embebidos32
Buen dato Ruso. Muchas gracias!!


On Tuesday, March 20, 2018 at 10:12:27 PM UTC-3, El Ruso wrote:
Punto, en ubuntu 16.04 (y supongo que en 14.04 y otros similares) existe el paquete gdb-multiarch (sudo apt install gdb-muliarch)
Este permite depurar programas de cualquier arquitectura.
Aparte, tiene añadido GDB-TUI (interfaz "grafica" de texto de GDB) que facilita bastante el seguimiento del codigo.

En mi maquina, luego de hacer "make debug" lanzo esto:
$> gdb-multiarch -tui out/program.elf -ex "target remote :3333" -ex "mon reset halt" -ex "load" -ex "b main" -ex "c"

Y funciona perfectamente.


El 20 de marzo de 2018, 20:16, 'Carlos Pantelides' via Embebidos32 <embeb...@googlegroups.com> escribió:
salame y queso (yo)


On Tuesday, March 20, 2018 at 10:50:33 AM UTC-3, Federico Moya wrote:
Claro Ruso, eso es!!! Por eso me dejo de andar de un momento a otro. Porque pase de usar el arm-none-eabi-gdb a usar el gdb del sistema. No puedo ser más salame.

Infinitas gracias!!

--
-- 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.

Carlos Pantelides

unread,
Mar 24, 2018, 12:06:10 PM3/24/18
to Embebidos32

Eric Pernia

unread,
Mar 24, 2018, 1:55:15 PM3/24/18
to embebidos32@
Gracias Charly!

El 24 de marzo de 2018, 13:06, 'Carlos Pantelides' via Embebidos32 <embeb...@googlegroups.com> escribió:

--
-- 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.
Reply all
Reply to author
Forward
0 new messages