Después de hojear este artículo , me pregunto cuáles son los beneficios de la depuración de SWD sobre la depuración de JTAG.
Entiendo que SWD usa menos cables/pines, ocupa menos espacio, etc. Pero, ¿cómo funciona en términos de rendimiento, características y costo de los dispositivos programadores/depuradores de hardware? ¿Se puede seguir rompiendo/pausando el código y paso a paso en IDE como Eclipse?
¿Se puede programar un chip ARM usando la interfaz SWD, como creo que se puede hacer en JTAG?
SWD debería poder programar el conjunto de chips ARM y además puede depurar y agregar puntos de interrupción. La otra cosa buena de SWD es que puede usar el visor de cables en serie para sus declaraciones de impresión para la depuración. Solo lo he usado con el compilador Keil.
JTAG es más ampliamente compatible, a partir de 2017, por micros, programadores y líneas de producción que no son ARM. Los programadores para JTAG se pueden obtener a bajo precio en forma de fugas FT232H [*] y otros dispositivos de programación similares. Sin embargo, SWD tiene una clara ventaja en velocidad y otras áreas en la depuración de chips ARM.
Debido a la división en la naturaleza intencionada de JTAG en las pruebas y SWD en la depuración, ARM proporciona SWJ-DP (puerto de depuración jtag/cable serie) a través de su tecnología CoreSight que mapea los pines SWD en el reloj de JTAG y reinicia las líneas. SWJ-DP por lo tanto permite usar ambos protocolos en la misma conexión física aunque no necesariamente al mismo tiempo o con los mismos programadores ya que JTAG y SWD tendrían que ser multiplexados en el tiempo.
Pregunta anterior, pero ninguna de las respuestas aborda la comparación de rendimiento. Aunque el conjunto de características entre SWD y JTAG (cuando se usa un CoreSight DAP) es lo suficientemente similar, las secuencias SWD son aproximadamente un 10 % más cortas que las secuencias JTAG equivalentes.
No hay pérdida en el ancho de banda de datos en la mayoría de los casos (particularmente lecturas o escrituras de transmisión donde el ancho de banda es más importante).
Puede que sea un poco tarde para OP, pero tal vez sea útil para otras personas con la misma pregunta. Entonces, aquí vamos (experiencia personal): es posible programar y depurar (obtener memoria/registrar mapas, interrumpir, ejecutar desde un punto específico, etc.) con SWD. Usando Eclipse aquí con GDB a través de J-Link EDU, que cuesta ~ 50 euros. Hay algunos errores (restablecer el objetivo a través del depurador, a veces no se conecta ni obtiene mapas), pero es relativamente barato y utilizable, una vez que te familiarizas con sus peculiaridades.
pete b
Super gato
usuario_1818839
grapas gabriel
antonio