1. 개요

해당 포스트는 임베디드 장비 UART 접근을 통해 개발자가 이용하기 위한 디버깅 기능에 접근하고 정보를 수집한다.

실습 시 사용한 장비: HW-234(UART 연결 장비, USB to TTL 컨버터), 암-암 점퍼선, 멀티 테스트기

2. UART 란?

UART(Universal Asynchronous Receiver/Transmitter)는 하드웨어 커뮤니케이션 프로토콜 일종으로 두 개의 하드웨어 간 시리얼 통신을 위해 사용된다. 임베디드 장비에서 주로 개발 디버깅용으로 사용되며, UART 접근 시 여러 명령어를 통해 메모리 정보 수집, 펌웨어 업로드, FTP 통신, 희귀한 케이스로 쉘 접근이 가능하다. 어떤 명령어와 기능 사용 가능한지는 개발자가 어떤 기능을 남겼는지에 따라 달라진다.

3. UART 핀 식별

UART 핀은 4개가 존재한다. 접지를 위한 Ground, 데이터 전달을 위한 Transmit, 데이터 수신을 위한 Receive, 전원 공급을 위한 Voltage at the Common Collector 따라서 UART 핀을 찾기 위해선 4개의 솟아난 핀 또는 구멍을 우선적으로 찾는다.

장비 보드을 보면 4개의 솟아난 핀이 있다. 2026-06-17-12-41-57.png

핀을 자세히 보면 기판에 3.3v, Tx, Rx, GND 라고 적혀있다. (보통 친절히 각 핀이 어떤 역할인지, UART 핀인지 아닌지 알려주는 경우는 흔치 않다) 2026-06-17-12-52-50.png

4. UART 연결

UART 연결을 위해선 USB to TTL 컨버터가 필요하다. 여기서 TTL은 트랜지스터-트랜지스트 로직이라는 뜻이며, 해당 장비는 하드웨어 레벨에서 사용하는 시리얼 통신 값을 USB 프로토콜로 전환해 내 PC에서 읽을 수 있게 만든다.

컨버터를 보면 장비명은 HW-234이며, 핀은 총 5개가 있다. VCC부터 TXD까지는 사전 설명하였고, RST은 리셋을 위한 핀이며, 사용할 일은 없으니 무시해도 된다. 2026-06-17-13-02-53.png

해당 컨버터는 CH340N 칩을 사용하며, ch340 시리얼 드라이버 설치가 필요하다. (설치링크: https://sparks.gogo.co.nz/ch340.html) 2026-06-17-13-11-58.png

설치 전 장비 인식을 위해 컨버터 연결이 필요하니, 연결한다. 2026-06-17-13-15-25.png

컨버터 연결 후 드라이버 설치 프로그램 실행 후 Install 버튼을 눌러 설치한다. 2026-06-17-13-13-29.png

Driver Install success 창이 뜨면 정상 설치된 것이고 preinstall successed 창이 뜰 시 장비 연결이 잘 안 된 것이니 연결 확인이 필요하다.

  • 주의: C to C type 케이블은 전원 공급이 잘 안되니, USB to C type 사용할 것. 2026-06-17-13-17-52.png

드라이버가 정상 설치되고 컨버터 연결이 되었다면 장치관리자 포트 카테고리에 USB-SERIAL CH340 이 출력될 것이다. 2026-06-17-13-34-05.png

다시 기판으로 돌아가서 암-암 점프선을 Tx, RX, GND에 연결한다. VCC는 현재 컨버터 장비가 USB로부터 전원공급을 받고 있기에 추가 공급 시 쇼트가 날 수 있다. 따라서 이는 연결하지 않는다. 2026-06-17-13-20-04.png

기판 UART 핀에 연결한 점프선을 USB to TTL 핀에 연결한다. 연결 시 GND는 그대로 연결하지만, TX와 RX는 서로 반대로 연결해야 한다. 즉 기판에 연결한 TX는 컨버터 RX, RX는 TX에 연결한다. 이유는 다음과 같다:

  1. 컨버터 Transmit 핀에서 송신한 값은 장비 Receive 핀으로 전달되어야 정상 수신된다.
  2. 장비 Transmit 핀에서 송신한 값은 컨버터 Receive 핀으로 전달되어야 정상 수신된다. 2026-06-17-13-27-22.png

장비 UART 핀과 내 PC와 연결되었으니, 이제 통신을 해야 한다. 통신을 위한 소프트웨어는 여러 개가 있지만, 이번 포스트에선 Tera Term 을 이용한다.

Tera Term 사이트 접근 후 해당 프로젝트 깃허브 레포지터리 들어간 뒤 설치 프로그램 다운 후 설치한다. (설치 링크: https://github.com/TeraTermProject/teraterm/releases/tag/v5.6.1) 2026-06-17-13-37-18.png

Tera Term 실행 후 커넥션 방식은 Serial로 하면 활성화된 직렬 포트(COM) 리스트 출력된다. 우리가 사용 중인 장비명인 CH340 선택 후 OK 버튼을 누른다. 2026-06-17-13-38-47.png

시리얼 통신은 하드웨어간 통신 스피드(Baudrate)가 일치해야 한다. Baudrate가 무엇이냐면 1초당 몇 개의 비트를 전달하는지에 대한 값이다. 보통 장비는 115200 Baudrate를 이용하며, 이는 1초당 115200 bit를 전달한다는 뜻이다. 장비별 Baudrate 식별 방법은 브루트 포싱하는 방법도 있고, 장비명 검색으로 확인하는 방법 또는 로직 애널라이저, 수신 데이터 기반 속도 탐지 방법 등 다양한 방법이 있다.

Baudrate 설정을 위해 Setup -> Serial port 진입한다. 2026-06-17-13-41-31.png

Serial port 115200 설정 후 확인 버튼을 누른다. 2026-06-17-13-48-48.png

장비 전원 공급 시 정상 시리얼 통신되는 것을 확인할 수 있다. 출력값을 보면 여러 모드가 존재하며 0번에 U-Boot console 모드가 있다. 그러나, 화면이 순식간에 지나간 뒤 자동으로 1번이 선택된다. 2026-06-17-13-49-54.png

UART 핀 유지한 상태로 장비 재부팅 후 0번 버튼 연타 시 U-Boot console 모드로 진입 가능하다. 2026-06-17-13-52-58.png