Po przejrzeniu tego artykułu zastanawiam się, jakie są zalety debugowania SWD w porównaniu z debugowaniem JTAG?
Rozumiem, że SWD zużywa mniej przewodów / pinów, zajmuje mniej miejsca itp. Ale jak to się dzieje pod względem wydajności, funkcji i kosztów sprzętowego programatora / debuggera? Czy kod nadal może być przerywany / przerywany i przechodzący przez IDE jak Eclipse?
Czy można zaprogramować układ ARM za pomocą interfejsu SWD, tak jak sądzę, że można to zrobić w JTAG?
Odpowiedzi:
SWD powinien mieć możliwość zaprogramowania mikroukładu ARM oraz debugowania i dodawania punktów przerwania. Inną dobrą rzeczą w SWD jest to, że można użyć przeglądarki szeregowej do wyświetlania instrukcji printf w celu debugowania. Użyłem go tylko z kompilatorem Keil.
źródło
Elektrycznie
Funkcjonalnie
ogólna dyskusja
JTAG jest szerzej wspierany, począwszy od 2017 r., Przez mikrosy, programatory i linie produkcyjne spoza ARM. Programiści dla JTAG można taniej w postaci breakoutów FT232H [*] i innych takich urządzeń programujących. Jednak SWD ma wyraźną przewagę w szybkości i innych obszarach debugowania układów ARM.
Ze względu na rozłam w zamierzonym charakterze JTAG w testowaniu i SWD w debugowaniu, ARM zapewnia SWJ-DP (port szeregowy / port debugowania jtag) za pośrednictwem swojej technologii CoreSight, która mapuje piny SWD na zegarze JTAG i liniach resetowania. SWJ-DP pozwala zatem na użycie obu protokołów na tym samym fizycznym połączeniu, choć niekoniecznie w tym samym czasie lub z tymi samymi programistami, co JTAG, a SWD musiałoby zostać zmultipleksowane w czasie.
Przydatne referencje
źródło
Być może jestem trochę za późno na OP, ale może przyda się innym osobom z tym samym pytaniem. Tak więc, zaczynamy (osobiste doświadczenie): Możliwe jest programowanie i debugowanie (pobieranie pamięci / rejestrowanie map, przerywanie, uruchamianie z określonego punktu itp.) Za pomocą SWD. Korzystanie z Eclipse tutaj z GDB za pośrednictwem J-Link EDU, która kosztuje około 50 euro. Istnieją pewne błędy (resetowanie celu za pomocą debugera, czasami nie łączy się ani nie pobiera map), ale jest stosunkowo tani i użyteczny, gdy tylko zapoznasz się z jego dziwactwami
źródło
Stare pytanie, ale żadna z odpowiedzi nie dotyczy porównania wydajności. Chociaż zestaw funkcji między SWD i JTAG (przy użyciu DAP CoreSight) jest prawie taki sam, sekwencje SWD są o około 10% krótsze niż równoważne sekwencje JTAG.
W większości przypadków nie występuje utrata przepustowości danych (szczególnie strumieniowe odczyty lub zapisy, w których przepustowość jest najważniejsza).
źródło