카테고리 보관물: C

uClinux 커널 빌드 중 printascii 가 정의되지 않았다는 링크 에러.

ADChips EAGLE 에서 사용할 uClinux 빌드 중 나온 오류 메세지이다.
arch/ae32000cnommu/kernel/kernel.o(.text+0x154): In function doublefault_interrupt':
: undefined reference to printascii’
arch/ae32000cnommu/kernel/kernel.o(.text+0x178): In function buserror_interrupt':
: undefined reference to printascii’
arch/ae32000cnommu/kernel/kernel.o(.text+0x3c70): In function do_breakpoint_instr':
: undefined reference to printascii’
drivers/usb/usbdrv.o(.text+0xc93e): In function .L1103':
: undefined reference to printascii’
printascii 라는게 뭔가 찾아보니 Kernel Debug Message 를 출력하기 위한 함수란다. (printch, printascii 두가지가 존재한다.)
즉… menuconfig 에서 보았을 때 커널 해킹(Kernel Hacking) 메뉴에 커널 디버깅(Kernel Degugging) 에서 커널 로우레벨 디버깅 함수(Kernel low-level debugging functions) 를 빌드 패키지에 포함시키면 해결 된다.
필요하다면 커널 로우레벨 디버깅 함수(Kernel low-level debugging functions) 체크 시 추가로 나오는 커널 로우레벨 디버깅 메세지를 UART0 에 함께 출력(Kernel low-level debugging messages via UART0) 도 추가하면 UART0 를 통해 디버깅 메세지를 받아볼 수 있다.
제길… 임베디드 리눅스 쪽 프로젝트 하면서 삽질을 하루도 쉬는 날이 없는 것 같다.