안녕하세요. 블루 돼지입니다.
왕초보 개발자가 SWD 관련 블로그를 작성합니다.
궁금하거나 필요한 내용이 있으면 댓글로 남겨주세요!
SWD (Serial Wire Debug)
ARM Cortex-M 프로세서와 같은 ARM 프로세서의 디버깅을 위해 개발된 프로토콜로, 임베디드 시스템에서 사용됩니다
SWD는 JTAG(전통적인 디버깅 인터페이스)의 대안으로, 더 간단하고 핀 수가 적은 인터페이스를 제공합니다
JTAG과 달리 SWDIO와 SWCLK 두 개의 핀만 사용해 기존 5핀 JTAG 디버그 인터페이스를 대체할 수 있습니다.
JTAG 대신 SWD를 선택하는 이유는
PCB 크기 제약이 있는 경우 / MCU에 추가적으로 JTAG 핀을 할당할 수 없는 경우에 사용합니다.
JTAG / SWD 프로토콜을 지원하는 디버깅 도구 중 하나가 ST-LINK입니다.
SWD Pinout
PIN | 내용 |
SWDIO [Serial Wire debug Data Input/Output] | 양방향 데이터 입출력 JTAG/SWD를 지원하는 대상에서는 TMS와 공유됨 |
SWO [Serial Wire trace Output] | 직렬 와이어 출력 비동기식으로 printf 출력과 같은 데이터 출력시 활용 JTAG/SWD를 지원하는 대상에서는 TDO와 공유됨 |
SWCLK [Serial Wire Clock] | 클럭 데이터 전송을 동기화 JTAG/SWD를 지원하는 대상에서는 TCK와 공유됨 |
내부에 Pull-up 저항이 있지만, 인터페이스의 안정성과 신뢰성을 높이기 위해 풀업 저항을 사용하는 경우가 많습니다.
풀업 저항을 사용하여 floating state를 방지할 수 있습니다.
신호의 상태를 일관되게 유지하려면, SWDIO에 풀업 저항을 추가하세요.
SWD Connector
아래와 같이 10PIN, 20PIN 등 다양한 커넥터로 사용할 수 있습니다.

JTAG 커넥터에 [SWDIO→TMS] / [SWCLK→TCK] 을 연결하여 사용할 수 있습니다.
JTAG VS SWD
JTAG | SWD | |
호환성 | 다양한 MCU/프로세서 | Cortex-M 기반 ARM 전용 |
핀 수 |
최소 4개의 신호 핀(TMS, TDI, TDO, TCK) | 기본 신호 핀(SWDIO, SWCLK) 선택적으로 1개의 추가 핀(SWO) |
전송 방식 | 병렬 데이터 전송 | 직렬 데이터 전송 |
참고 링크
https://community.silabs.com/s/article/serial-wire-debug-swd-x?language=en_US
이상 마치겠습니다.
궁금한 내용이나 틀린 내용은 바로바로 댓글 남겨주세요!!
감사합니다.
'전자(Electronic Design)' 카테고리의 다른 글
콘덴서(Capacitor) 제조사별 모델명 (0) | 2024.09.14 |
---|---|
JTAG(Joint Test Action Group) (1) | 2024.09.11 |
임피던스 매칭 (Impedance matching) (0) | 2024.09.08 |
시리얼 저항(Series Resistor) / 댐핑 저항 (Damping Resistor) (2) | 2024.09.07 |
SMD Resistor sizes (PCB 실장 칩 저항 크기) (0) | 2024.09.06 |