Table of contents

    JTAG(Joint Test Action Group)

     

    JTAG 임베디드시스템 개발 , 대표적으로 활용되는 디버거의 통신 방식입니다.

     

    IEEE 1149.1 표준으로 정해져 있습니다.

     

    MCU 프로그램을 다운로드 하거나 레지스터를 읽거나 컴퓨터 환경에서 개발하는 것처럼 break 걸어, 특정 변수의 값을 읽을 수도 있습니다.

     

     

     

    JTAG 인터페이스

     

    JTAG 인터페이스는 아래와 같은 종류의 PIN들로 구성되어 있니다.

    PIN 내용
    TDI(데이터 입력) 테스트하기 위한 데이터 신호
    TMS 의해 TAP State 전이되고, TDI Command Data 결정됨
    TDO(데이터 출력) 테스트 결과를 외부에서 모니터링하기 위한 신호
    TAP State 따라, TDO Address Data 결정됨
    TCK(클럭) 테스트 클럭
    TMS(모드) 테스트모드로 전환하기 위한 제어 신호
    TRST(리셋) 리셋 신호

     

     

     

     

    JTAG 인터페이스 종류

     

    JTAG 아래와 같이 10PIN, 14PIN, 16PIN, 20PIN 등의 인터페이스가 있습니다.

     

     

     

    SWD(Serial Wire Debug)

     

    SWD ARM사의 코어 기반 MCU들에서 주로 활용되는 디버깅 통신 방식입니다.

     

    SWD JTAG 달리, 클럭(SWCLK) 단일 양방향 데이터 (SWDIO) 있어도, 기존의 5 JTAG 디버그 인터페이스를 대체할 있습니다.

     

    또한, SWDIO SWCLK TMS TCK 핀에 오버레이 되어 동일한 커넥터도 사용할 있다고 하는데, 추후 시간이 되면 확인해봐야겠네요.

     

     

     

    SWD 인터페이스

     

    PIN 내용
    SWDIO 데이터 입출력
    JTAG/SWD 지원하는 대상에서는 TMS 공유됨
    SWO(Optional) 직렬 와이어 출력
    비동기식으로 printf 출력과 같은 데이터 출력시 활용
    JTAG/SWD 지원하는 대상에서는 TDO 공유됨
    SWCLK 클럭
    JTAG/SWD 지원하는 대상에서는 TCK 공유됨