JTAG와 J-Link는 임베디드 시스템 개발에서 사용되는 하드웨어 디버깅과 보드 테스트를 위한 표준 인터페이스이며, J-Link는 이를 지원하는 디버거/프로그래머 장치이다.
JTAG
Joint Test Action Group의 약자로, 임베디드 시스템 개발 시에 사용되는 디버그 장비이다.
JTAG의 작동 원리
JTAG 인터페이스는 기본적으로 직렬 데이터 통신을 통해 작동한다. 다음은 JTAG 작동 방식의 기본 개념이다.
- TAP (Test Access Port):
- JTAG 시스템의 핵심 요소로, JTAG 디버거와 연결된 모든 장치의 접근점을 제공한다.
- TAP는 특정 상태 머신을 사용하여 JTAG 장치와 통신한다.
- 상태 머신:
- JTAG 장치는 TAP를 통해 여러 상태를 전환하며 작동한다. 각 상태는 특정 기능을 수행하며, 상태 전환은 TMS 신호를 통해 제어된다.
- 기본 상태는 다음과 같다.
- Test-Logic-Reset: 초기 상태, 모든 테스트 로직을 초기화한다.
- Run-Test/Idle: 정상 동작 상태, 테스트 모드에서 비활성 상태로 전환된다.
- Shift-DR: 데이터 레지스터로 데이터를 시프트한다.
- Update-DR: 시프트된 데이터를 업데이트한다.
- 데이터 전송:
- JTAG는 TDI(TAP Data Input)와 TDO(TAP Data Output) 핀을 통해 데이터를 전송한다. TDI는 데이터가 JTAG 장치로 입력되는 경로이고, TDO는 데이터가 출력되는 경로이다.
JTAG 인터페이스 구성 요소
- TCK (Test Clock): JTAG 장치 간의 클럭 신호를 전달이다.
- TMS (Test Mode Select): JTAG 상태 머신의 모드를 선택하는 신호이다.
- TDI (Test Data In): JTAG 장치로 입력되는 데이터를 전달한다.
- TDO (Test Data Out): JTAG 장치에서 출력되는 데이터를 전달한다.
- TRST (Test Reset): JTAG 상태 머신을 초기화하는 선택적 신호이다.
J-Link
J-Link는 Segger에서 개발한 고속 JTAG/SWD(Serial Wire Debug) 디버거이다.
JTAG가 J-Link로 발전하여 다양한 프로세스에서 디버깅이 가능하게 되었다.
JTAG와 J-Link의 차이점
항목 | JTAG | J-Link |
정의 | 테스트 및 디버깅을 위한 표준 인터페이스 | JTAG/SWD 디버거, Segger에서 개발한 장치 |
역할 | 회로의 테스트 및 디버깅을 위한 프로토콜 | ARM Cortex-M 프로세서 등의 디버깅 및 프로그래밍 |
하드웨어 | 특정 핀에 연결되는 인터페이스 | USB를 통해 컴퓨터와 연결되는 디바이스 |
사용 사례 | 전자 회로 테스트 및 검증 | 임베디드 시스템 개발 및 디버깅 |
728x90
'CS' 카테고리의 다른 글
2의 보수(Two's complement)란? (0) | 2024.10.23 |
---|---|
ISO 파일이란? (1) | 2024.10.14 |
인터럽트(Interrupt)란? (1) | 2024.10.10 |
BIOS / BootLoader란? (0) | 2024.10.07 |
CRC에 대하여 (0) | 2024.10.07 |