Depurando mbed os 5

4

Eché un vistazo a mbed OS 5 y al correspondiente mbed cli

Creé los primeros programas y los programé a través del arrastrar y soltar binario al disco flash proporcionado por el programador (utilizando el compilador GCC_ARM, el objetivo es un NUCLEO_F429ZI). Para proyectos serios, esto no es adecuado ya que el dispositivo no se puede depurar de esta manera.

Como puedo leer en la documentación de mbed, el programador también contiene la interfaz CMSIS-DAP que se puede usar para programar / depurar el dispositivo.

Para la evaluación, me gustaría usar un IDE gratuito y usarlo para la depuración. Así que elegiría Eclipse para esto usando la versión C / C ++ de la misma.

Mi pregunta ahora es:

  • ¿Cómo se ve la cadena de herramientas para una máquina Windows / Linux?
  • ¿Una cadena de herramientas profesional incluye incluso el CMSIS-DAP o una utiliza mejor JTAG directamente?
  • ¿Cuál es el flujo de programación / depuración en CMSIS-DAP?
pregunta pfried

1 respuesta

2

TL; DR :

  1. Asegúrese de hacer una compilación de depuración ( mbed compile --profile ./mbed-os/tools/profiles/debug.json ).
  2. Use el OpenOCD Eclipse Plugin .

Un poco más profundo:

La mayoría de las tarjetas mbed pueden programarse usando pyOCD o OpenOCD , estas herramientas inician un servidor GDB al que GDB puede conectarse (a través de arm-none-eabi-gdb). (¿Casi?) Cada IDE de C ++ entiende cómo usar GDB para la depuración.

Para el F429ZI utiliza OpenOCD, con los siguientes parámetros:

PATH_TO_OPENOCD/bin/openocd 
    -f PATH_TO_OPENOCD/scripts/board/stm32f4discovery.cfg 
    -f PATH_TO_OPENOCD/scripts/interface/stlink-v2-1.cfg 
    -c init -c "reset init"

Luego puede iniciar GDB y conectarse a localhost: 3333 para interactuar con el dispositivo. Por ejemplo, aquí se explica cómo configurar el Código de Visual Studio para debug mbed boards .

Si desea mensajes de semihosting (fe para depurar el uVisor), use netcat para conéctese a pyOCD / OpenOCD a través de: nc localhost 4444 justo después de adjuntar el depurador.

    
respondido por el Jan Jongboom

Lea otras preguntas en las etiquetas