Search

Serial Port Hacking

Category
임베디드
Column
2022/01/07 12:51
Tags
study

1. Serial Port == UART

시리얼 포트라고 하는 건 임베디드 개발에서는 일반적으로 uart 혹은 rs232 port를 뜻함
범용 비동기 송/수신기라고 함
Universal asynchronous receiver/transmitter
uart는 하드웨어 통신 규약의 한 종류임
직렬 통신 프로토콜
데이터 송/수신 시 각각 하나의 LINE만 이용
병렬은 한번에 예를 들어 8핀 짜리다 그러면 8바이트 단위로 보낼 수 있음. 따라서 속도는 당연히 빠르지만 노이즈에 대한 문제가 발생함. 따라서 속도를 높이는데 한계가 오다보니 병렬 통신은 점점 안쓰게 됨
프로토콜이 간단함

2. 임베디드 시스템 디버깅

임베디드 시스템 개발 시 많은 버그 존재
예를 들어 부트로더 어디까지 진행되다가 죽었는지 확인하기 위해 LED의 on/off로 판단하면서 디버깅 하는 방법 존재. 하지만 표현의 한계가 존재
LCD로도 가능하지만 구현이 복잡하고 화면이 작아서 불편
따라서 시리얼포트 즉 UART를 이용함

3. UART를 통해 얻을 수 있는 정보

커널, OS 메시지
디버깅 메시지
오류 메시지
Hidden or Setting Menu
부트로더
펌웨어 획득, 펌웨어 overwriting
커맨드 쉘
펌웨어, 바이너리 획득
동적 분석 가능

4. UART Pin의 구성

총 4개의 핀 사용
1.
TX : 데이터 송신
2.
RX : 데이터 수신
3.
GND : 그라운드
그라운드는 모든 신호의 기준임. 이놈 기준으로 0으로 high인지 low인지 판단되는 기준점임.
4.
VCC : 전압
만약 장비 내부에 파워가 들어가 있다면 VCC는 꽂지 않아도 됨

5. 참고자료