카테고리 보관물: Embedded Linux

빌드 트리에 EAGLE LowLevel UART 1,2,3 Support 포함 시 BASE_BAUD 가 없다는 컴파일 오류 문제

그리 필요하진 않지만 아무생각 없이 넣었다가 컴파일 단계에서 에러가 나서 확인해 보니 BASE_BAUD 가 선언되지 않았다는 오류가 나타났다.

문제의 파일은 커널빌드루트/drivers/char/eagle_uart123.c 파일인데, menuconfig 시 Character Device 의 EAGLE LowLevel UART 1,2,3 Support 의 소스이다.
ADChips 쪽에 문의하여 답변을 받았는데 이 드라이버는 리눅스에서 UART 를 OS 의 제어가 아닌 firmware 에서 다루는 것 처럼 직접 제어하여 사용하기 위한 드라이버라고 한다.
즉, 평소에는 별로 쓸 일이 없는 드라이버.
지금 ADChips(www.adc.co.kr) 홈페이지에 올라와있는 커널 소스가 업데이트 되어있는지는 모르겠지만, 혹시 모르니 eagle_uart123.c 파일 상단부 적당한 위치에 아래 코드를 추가한다.
#define BASE_BAUD (BUS_CLOCK / 16)
이 한줄로 위 에러를 해결할 수 있다.