주요 기능
세 가지 기능을 하나로
- 대용량 저장소 플래싱 (MSC) –
.bin/.hex파일을 복사하는 것만으로 Flash 프로그래밍. - 가상 COM 포트 (CDC) – 별도 USB‑UART 없이 로그 출력과 콘솔 입출력.
- CMSIS‑DAP 디버깅 – 표준 CMSIS‑DAP 프로브로 사용하여 브레이크포인트, 메모리 접근 등을 지원.
통합하기 쉬운 하드웨어
- 호스트 측은 USB‑C 포트 하나로 전원과 SWD/JTAG 데이터를 모두 처리합니다.
- 보드 에지 헤더를 통해 SWD 및 UART를 자체 메인보드로 간단히 라우팅할 수 있습니다.
- 온보드 전원 및 보호 회로로 일반적인 3.3 V Cortex‑M 타깃에 바로 대응합니다.
오픈 에코시스템 · CMSIS‑DAP 표준
- 오픈소스 Arm Mbed DAPLink 프로젝트 기반.
- 표준 CMSIS‑DAP 프로토콜을 사용하여 특정 MCU 벤더에 종속되지 않습니다.
- 인터페이스 펌웨어를 다시 빌드하여 더 많은 타깃이나 사용자 정의 기능을 추가할 수 있습니다.
하드웨어 개요
| 항목 | 설명 |
|---|---|
| 인터페이스 MCU | DAPLink 인터페이스 펌웨어를 실행하는 ARM Cortex‑M MCU (LPC / STM32 급). |
| PC 연결 | USB Type‑C, 5 V 전원 및 데이터. |
| 타깃 인터페이스 | SWD/JTAG 디버그 헤더 + UART 헤더 (TX/RX/GND, 3.3 V 로직). |
| 전원 | USB‑C 5 V 입력과 온보드 레귤레이터. VREF 핀으로 타깃 I/O 전압(대략 2.3–3.3 V) 감지. |
| 인디케이터 | 디버그 상태, VREF 모니터, 전원 상태를 나타내는 다수의 LED. |
| 펌웨어 업데이트 | 온보드 버튼으로 부트로더 모드 진입 – 필요 시 DAPLink 인터페이스 펌웨어 업데이트. |
| 폼팩터 | 소형 PCB로, 전용 케이스에 넣어 사용하기 좋은 크기입니다. |
커넥터 및 신호
DEBUG 헤더 (SWD / JTAG)
- 대표 핀: TCK/SWCLK, TMS/SWDIO, TDI, TDO, nRESET, VREF, GND.
- 온칩 디버깅, Flash 프로그래밍, 생산 테스트에 사용합니다.
UART 헤더
- 신호: TX, RX, GND, 3.3 V.
- 타깃 보드의 콘솔 포트로 사용되어 로그 출력 및 쉘 접근에 적합합니다.
버튼 / 점퍼
- 버튼으로 부트로더 모드 진입 또는 인터페이스 MCU 리셋 (동작은 펌웨어 구성에 따라 다름).
- 점퍼로 타깃 전원 공급 여부나 모드를 설정 (최종 PCB 설계에 따라 구성).
빠른 시작
1
하드웨어 연결
- USB‑C 케이블로 DAP‑LINK를 PC에 연결합니다.
- DEBUG 헤더를 타깃 보드의 SWD/JTAG 헤더에 연결하고, 필요 시 UART도 연결합니다.
- 타깃 전원과 VREF 전압(일반적으로 3.3 V)이 일치하는지 확인합니다.
2
드래그 앤 드롭 플래싱
- PC에 새 USB 드라이브가 나타납니다(이름은 펌웨어에 따라 다름).
- 빌드된
.bin/.hex파일을 해당 드라이브로 복사합니다. - DAP‑LINK가 자동으로 타깃 MCU의 Flash를 프로그래밍합니다.
3
시리얼 로그 및 디버깅
- 가상 COM 포트가 생성되며, 터미널 프로그램에서 열어 로그와 대화형 쉘을 확인할 수 있습니다.
- Keil / pyOCD / OpenOCD에서 CMSIS‑DAP 장치를 선택해 소스 레벨 디버깅을 시작합니다.
FAQ
어떤 개발 도구를 지원하나요?
CMSIS‑DAP 프로토콜을 지원하는 디버거라면 대부분 사용할 수 있습니다. 예: Keil MDK, Arm DS, pyOCD, 일부 OpenOCD 구성, CMSIS‑DAP 백엔드를 사용하는 VS Code 환경 등.
ST‑LINK / J‑LINK와 어떤 점이 다른가요?
DAP‑LINK는 오픈소스 DAPLink와 CMSIS‑DAP 표준 프로토콜을 기반으로 하며, 특정 MCU 벤더에 종속되지 않습니다. 자사 보드나 제품군을 위한 범용 디버그 헤드로 사용하기 좋습니다.
펌웨어를 커스터마이즈하거나 교체할 수 있나요?
가능합니다. 인터페이스 MCU에 다른 DAPLink 빌드를 플래시하여 새로운 타깃 지원이나 필요한 기능을 추가할 수 있습니다。