🛠 Step through RA4M1 code with a SWD debugger

Arduino UNO R4 Minima · avance · Schéma : IMG-uno-r4-minima-avance-1-debug-swd-cortex-debugger.svg — UNO R4 Minima avec le connecteur de debug SWD embarqué surligné, nappe 4 fils vers une sonde CMSIS-DAP (SWDIO, SWCLK, GND, 3V3), IDE affichant un breakpoint.

Objetivo

Ve más allá de la depuración con printf: la UNO R4 Minima expone un conector de depuración integrado para que puedas conectar un depurador de hardware, detener el Cortex-M4, inspeccionar los registros y ejecutar paso a paso el RA4M1 mientras se ejecuta.

Cómo

  1. Conecta una sonda de depuración al conector SWD de la placa: SWDIO, SWCLK, GND y 3.3 V (la página de la tienda indica la posibilidad de conectar un depurador externo para monitorizar el funcionamiento interno).
  2. Utiliza una cadena de herramientas basada en GDB: una sonda CMSIS-DAP con OpenOCD + arm-none-eabi-gdb, un J-Link, o la integración del depurador del Arduino IDE para el núcleo Renesas.
  3. Establece un punto de interrupción en loop, ejecuta y observa las variables, los registros de los periféricos y la pila de llamadas.

Por qué es importante

Los errores de fallo duro (hard-faults), las rutinas de interrupción (ISR) descontroladas y la mala configuración de los periféricos en un Cortex-M4 de 48 MHz son difíciles de diagnosticar solo mediante Serial; con SWD obtienes la verdad precisa a nivel de ciclo.

Advertencias

> NO VERIFICADO: el pinout exacto del conector de depuración integrado no se especifica en las páginas consultadas; consulta el manual de usuario de la placa antes de realizar las conexiones. > NO VERIFICADO: el mecanismo de actualización de la memoria flash vía USB se describe como estilo UF2 en la documentación de la comunidad, pero no está confirmado en las páginas consultadas.

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales