도와주세요!!
글 수 15,339
2010.01.22 08:11:05 (*.133.51.43)
32570
안녕하세요?
작년 한국폴리텍에서 안드로이드 교육을 받고 EZ_S3C6410 보드를 구매를 했습니다.
모듈로 프레임버퍼 드라이버를 작성하여 실험해보고 최종 커널에 적재하는 부분이 있었는데요...
나누어 주신 책자를 보면서 다시 해보고 있는데 아래와 같이 진행한 추가 드라이버가 컴파일이 되지 않았습니다.
1. fafb.c를 /drivers/video/ 에 복사
2. /drivers/video/Kconfig 수정
make menuconfig 할 때 설정이 보일 수 있도록 config FB_FALINUX 추가
config FB_SYS_FILLRECT
default n
config FB_SYS_COPYAREA
default n
config fB_SYSIMAGEFLIT
default n
3. /drivers/video/Makefile 수정
책자대로 진행 해보았으나 컴파일은 정상완료하지만 /drivers/video/ 에 fafb.o 파일이 생성되지 않습니다.
그래서 다른 설정상태와 관련이 있을까하고 간단하게 hello.c를 작성하여 위와 같은 방법으로
추가했지만 그것 또한 hello.o가 생성되지 않았습니다.
기존에 구성되어 있던 것들 중에 Makefile 에서 오브젝트 파일이름만 없는 파일명으로 바꾸어도
컴파일시 바로 오류가 나오는데...
제가 무엇을 잘못한 것인지 알려주시면 좋겠습니다. 간단한 것 같은데 혼자 해결하려니 시간이 길어지네요....
다시 질문 드립니다. 왜 .config파일과 autoconf.h 파일에서 설정되어 있는데 해당파일이 컴파일 되지 않는 것인지요??
1. .config 확인
소스 최상위 디렉토리에서 .config 파일을 보면 제가 추가하고자 하는 드라이버들이 y 로 설정되어 있습니다.
CONFIG_HELLO=y
CONFIG_FB_FALINUX=y
2. include/linux/autoconf.h 확인
#define CONFIG_HELLO 1
#define CONFIG_FB_FALINUX 1
3. 강제적 컴파일 ??
아래의 Makefile 문법을 사용하지 않고 obj-y += hello.o fafb.o 하면 모두 컴파일이 이루어집니다.
obj-$(CONFIG_HELLO) += hello.o
obj-$(CONFIG_FB_FALINUX) += fafb.o