임베디드 용어 사전
관측·테스트

RTT

디버그 인터페이스로 RAM 버퍼를 읽어 로그를 주고받는 방식. 추가 핀 없이 빠른 로그를 얻는다.

Real Time Transfer. SWD 만 연결돼 있으면 로그가 된다는 것이 강점이다.

펌웨어   RAM 의 링 버퍼에 문자열을 쓴다 (수 µs)
디버거   실행을 멈추지 않고 그 버퍼를 주기적으로 읽어 간다

왜 빠른가

펌웨어 쪽은 메모리 복사만 한다. 전송은 디버거가 알아서 가져간다. UART 처럼 비트 시간을 기다리지 않으므로 타이밍 영향이 아주 작다.

비교

UART      추가 핀 필요 · 느림 · 양산 기판에서도 쓸 수 있다
ITM/SWO   SWO 핀 필요 · 빠름 · M0 계열 불가
RTT       추가 핀 불필요 · 빠름 · 디버거가 붙어 있어야 한다

실무 팁

  • 버퍼가 차면 덮어쓸지 기다릴지 정책을 고를 수 있다. 타이밍이 중요하면 덮어쓰기로 둔다
  • 입력 채널도 있어 간단한 명령 입력을 받을 수 있다 — 현장 진단용 셸을 만들 수 있다
  • 로그 문자열이 플래시를 먹으므로, 릴리스 빌드에서는 매크로로 걷어내는 구성이 흔하다

함께 보면 좋은 용어

노트에서 맥락과 함께 보기 — 트레이스와 프로파일링 — 멈추지 않고 관찰하기