SWD (Serial Wire Debug)
Más información
- Creador
- ARM
- Tipo
- Interfaz de depuración
- Predecesor
- JTAG
La alternativa de dos hilos de ARM a JTAG para programar y depurar procesadores Cortex.
JTAG necesita al menos cuatro señales y se diseñó para comprobar soldaduras a lo largo de una cadena de chips. SWD se apaña con dos —SWDIO para datos bidireccionales y SWCLK para el reloj— y aun así da acceso completo al puerto de depuración: puntos de ruptura, ejecución paso a paso, lectura y escritura de memoria con el programa en marcha. En una placa apretada, dos pines en lugar de cinco son la diferencia entre tener conector de depuración y no tenerlo.
Llegó con la ARM Debug Interface v5 y hoy es la forma normal de programar un Cortex-M. Basta una sonda barata ST-Link o CMSIS-DAP, OpenOCD o pyOCD, y GDB. En seguridad vale lo mismo que para JTAG: un puerto SWD sin bloquear en un producto comercial es una invitación a volcar el firmware entero.