Nachdem ich diesen Artikel durchgesehen habe , frage ich mich, welche Vorteile SWD-Debugging gegenüber JTAG-Debugging bietet.
Ich verstehe, dass SWD weniger Drähte / Pins verwendet, weniger Platz benötigt usw. Aber wie spielt es sich in Bezug auf Leistung, Funktionen und Kosten der Hardware-Programmierer / Debugger-Geräte ab? Kann Code in IDEs wie Eclipse immer noch unterbrochen / angehalten und durchlaufen werden?
Kann ein ARM-Chip über die SWD-Schnittstelle programmiert werden, wie ich es in JTAG glaube?
Antworten:
SWD sollte in der Lage sein, den ARM-Chipsatz zu programmieren, und Sie können Haltepunkte debuggen und hinzufügen. Das andere gute an SWD ist, dass Sie den Serial Wire Viewer für Ihre printf-Anweisungen zum Debuggen verwenden können. Ich habe es nur mit dem Keil-Compiler verwendet.
quelle
Elektrisch
Funktionell
Allgemeine Diskussion
JTAG wird ab 2017 in größerem Umfang von Nicht-ARM-Mikros, Programmierern und Produktionslinien unterstützt. Programmierer für JTAG sind in Form von FT232H [*] Breakouts und anderen derartigen Programmiergeräten günstig zu haben . SWD hat jedoch einen deutlichen Geschwindigkeitsvorteil und andere Vorteile beim Debuggen von ARM-Chips.
Aufgrund der gespaltenen Zielsetzung von JTAG beim Testen und SWD beim Debuggen bietet ARM über seine CoreSight-Technologie SWJ-DP (Serial Wire / Jtag Debug Port), mit dem SWD-Pins auf die Takt- und Reset-Leitungen von JTAG abgebildet werden. SWJ-DP ermöglicht daher die Verwendung beider Protokolle auf derselben physischen Verbindung, jedoch nicht unbedingt zur selben Zeit oder mit denselben Programmierern, wie JTAG und SWD zeitlich gemultiplext werden müssten.
Nützliche Referenzen
quelle
Ich bin vielleicht ein bisschen zu spät für OP, aber vielleicht ist es für einige andere Leute mit der gleichen Frage nützlich. Also los geht's (persönliche Erfahrung): Es ist möglich, mit SWD zu programmieren und zu debuggen (Speicher abrufen / Karten registrieren, unterbrechen, von einem bestimmten Punkt ausführen usw.). Eclipse hier mit GDB über J-Link EDU nutzen, das kostet ~ 50 Euro. Es gibt einige Fehler (Zurücksetzen des Ziels über den Debugger, manchmal keine Verbindung herstellen oder Karten abrufen), aber es ist relativ billig und brauchbar, sobald Sie sich mit den Macken vertraut gemacht haben
quelle
Alte Frage, aber keine der Antworten befasst sich mit dem Leistungsvergleich. Obwohl die Funktionen zwischen SWD und JTAG (bei Verwendung eines CoreSight-DAP) nahezu identisch sind, sind die SWD-Sequenzen etwa 10% kürzer als die entsprechenden JTAG-Sequenzen.
In den meisten Fällen geht keine Datenbandbreite verloren (insbesondere beim Lesen oder Schreiben von Streams, wenn die Bandbreite am wichtigsten ist).
quelle