2007. 12. 6. 20:53

Debug port, UART, Serial, COM에 대한 간단한 정리..



시리얼 관련해 흔히 혼동하는 부분('Debug Port', 'UART', 'Serial', 'COM')에 대해서 자료를 찾다가 좋은 문서가 있어서..

먼저 UART는 Universal Asynchronous Receiver/Transmitter로서 CPU에 붙어있는 interface이다.
URAT0, UART1, ...등으로 얘기를 많이 하고, Data 통신을 RS232와 같이 RX/TX serial하게 하기 때문에 보통 시리얼 포트라고 한다.
RS-232는 보통 컴퓨터에 붙어있는 connector이름이다.

시리얼(Serial)은 응용프로그램과 드라이버간의 인터페이스를 이야기하는 것으로, 시리얼 디바이스 드라이버라고 한다.  UART 포트를 사용할 수 있는 드라이버..
응용프로그램은 UART포트가 0인지 1인지2인지를 알 수가 없다. 그래서 *.reg파일에 index를 할당하여COM의 번호를 할당해 준다.

COM은 UART의 Driver가 OS로 올라갈 때 COM이라는 이름으로 올라가는 것이다.

디버그 포트(Debug Port)는 OS에서 Debug용도(개발 보드에서 디버깅을 하기 위한 용도)로 사용하기 위해 설정하는 것이다. 흔히 하이퍼 터미널과 같은 것으로 부팅이나 프로그램 실행시 메시지를 확인하는 것이 디버깅 포트이다.

디버그 포트는 디바이스 드라이버가 올라가기 전부터 통신을 해야한다. 그래서 디버그 포트와 관련된 구현은 EBOOT, KERNEL쪽에 구현이 되어있다.

중요한 점은 Debug port와 UART의 driver가 같은 포트를 사용하게 되면 충돌이 일어나게 된다.
Debug port로 사용할 경우 UART를 사용할 수 없다는 말이다.

네이버 'WEEG 카페'에서 참고한 글임!!