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는 꽂지 않아도 됨