2009. 5. 3. 02:45
Embedded System/Embedded Linux
보드상에 있는 직렬 포트는 세 가지 목적으로 사용될 수 있다.
- 모든 부트 메시지를 표시하기 위한 시스템 콘솔
- 커널 내의 모든 메시지 출력은 printk() 함수를 통해 이루어진다. printk() 함수는 출력될 메시지의 목록을 원현 로그 버퍼에 저장하고, 등록된 콘솔 장치의 처리함수들을 호출하여 저장된 메시지를 출력하도록 한다.
- UART, 프린터, 네트워크와 같은 장치들은 console 구조체를 이용하여 콘솔 인터페이스를 제공하고, printk() 함수에서 메시지를 받아올 수 있다.
- 표준 TTY(Teletypewriter) 장치
- 커널 디버거 KGDB 인터페이스
- 커널을 위한 소스-레벨 디버거로 GDB를 이용하여 구현됨
- KGDB는 주로 직렬 인터페이스상에서 동작하지만 이더넷 인터페이스상에서 KGDB를 사용할 수 있는 패치들도 존재
- KGDB는 GDB 스텁(stub)과 직렬 드라이버로 구성
- GDB 스텁은 커널 HAL 내에 존재
- 직렬 포트 인터페이스와 GDB 스텁과 연결하는 BSP의 몫
※ 출처 : ITC "임베디드 리눅스 시스템 설계와 개발"