도와주세요!!
글 수 15,339
2003.01.22 11:25:31 (*.186.48.184)
6678
안녕하세요...
저번에 이 부분에 대한 질문이 있어서 답글을 올렸는데.. 보시지 못한것 같네요..
다음 Makefile을 확인하시고,,, 다르다면 수정하시면 됩니다..
KERNELDIR = /ez/sw/kernel/linux
DEV_INCLUDEDIR = -I$(KERNELDIR)/include -I./ -I../include
include $(KERNELDIR)/.config
CFLAGS += -Wall -D__KERNEL__ -DMODULE $(DEV_INCLUDEDIR) $(DEBFLAGS)
TARGET = io_dev
OBJS = $(TARGET).o
SRCS = io.c
CFLAGS += -O2
#CFLAGS += -g
all: $(TARGET).o
$(TARGET).o: $(SRCS:.c=.o)
$(LD) -r $^ -o $@
clean:
rm -f *.o *~ core .depend
dep :
gccmakedep $(DEV_INCLUDEDIR) $(SRCS) <<=== 이 부분을 확인하여 주세요..
혹시 $(INCLUDEDIR) 으로 되어있으면... $(DEV_INCLUDEDIR)로 수정하여 주세요..
위의 DEV_INCLUDEDIR의 변수를 참조해야 하거든요... 그래야 해더파일의 위치를 제대로
찾을 수가 있습니다.....
그리고....컴파일은.../device에서 하시면 안됩니다...
디렉토리 위치를 보면...
app/
device/
include/
Makefile
로 되어있습니다.... 따라서... 여기의 Makefile 수행해야 합니다..
만일 app/ 나 device/ 디렉토리 안에서 Makefiel을 수행하면 에러가 발생합니다..
#make clean
#make dep
#make
하시면 됩니다..
그럼 좋은 하루되세요....
김필수 wrote..
: 와우 리눅스7.3을 사용합니다. 그래서 크로스 컴파일러는 직접 ftp사이트를
: 찾아가서 설치했고요....커널컴파일까지 성공을 했습니다.여기까지는 제공
: 책자가 아닌 홈페이지 강좌를 보고 따라했죠~~~
:
: 근데 제공 시디의 sw/sample/dev/dio/device 를 make하니 에러가 뜨는군요
: 제가 화면덤프는 못했는데 대부분 semaphore.h를 참조하지 못하는것같더군요
:
: 리눅스에서 설치는 다음과 같습니다.
:
: /usr/local/arm-linux 에 크로스 컴파일러가 설치되어 있고요~
: /usr/local/arm-linux/linux 에 당연히 커널이 설치되었죠....
:
: 그리고 예제소스가 설치된곳은
: /ez/sw/sample~~~ 이고요...
:
: 그리고 Makefile의 KERNELDIR=/usr/local/arm-linux/linux 로 고쳤고요
: ( 지금까지 디렉토리 관련 오타가 있었다면
: 실제상황에서는 없었다고 생각해주세요)
:
: 이렇게 했는데 나머지 gpio도 마찬가지더군요~~~
:
: 제가 에러화면을 덤프해서 썼더라면 더 쉽게 이해가 가실텐데요~~
: 전부가 리눅스 커널의 include/semaphore.h 참조가 안된다는 메시지였습니다.
:
: 그럼 답변부탁드리고요`~~ 감사합니다. 수고해요~~^^ㅇ
저번에 이 부분에 대한 질문이 있어서 답글을 올렸는데.. 보시지 못한것 같네요..
다음 Makefile을 확인하시고,,, 다르다면 수정하시면 됩니다..
KERNELDIR = /ez/sw/kernel/linux
DEV_INCLUDEDIR = -I$(KERNELDIR)/include -I./ -I../include
include $(KERNELDIR)/.config
CFLAGS += -Wall -D__KERNEL__ -DMODULE $(DEV_INCLUDEDIR) $(DEBFLAGS)
TARGET = io_dev
OBJS = $(TARGET).o
SRCS = io.c
CFLAGS += -O2
#CFLAGS += -g
all: $(TARGET).o
$(TARGET).o: $(SRCS:.c=.o)
$(LD) -r $^ -o $@
clean:
rm -f *.o *~ core .depend
dep :
gccmakedep $(DEV_INCLUDEDIR) $(SRCS) <<=== 이 부분을 확인하여 주세요..
혹시 $(INCLUDEDIR) 으로 되어있으면... $(DEV_INCLUDEDIR)로 수정하여 주세요..
위의 DEV_INCLUDEDIR의 변수를 참조해야 하거든요... 그래야 해더파일의 위치를 제대로
찾을 수가 있습니다.....
그리고....컴파일은.../device에서 하시면 안됩니다...
디렉토리 위치를 보면...
app/
device/
include/
Makefile
로 되어있습니다.... 따라서... 여기의 Makefile 수행해야 합니다..
만일 app/ 나 device/ 디렉토리 안에서 Makefiel을 수행하면 에러가 발생합니다..
#make clean
#make dep
#make
하시면 됩니다..
그럼 좋은 하루되세요....
김필수 wrote..
: 와우 리눅스7.3을 사용합니다. 그래서 크로스 컴파일러는 직접 ftp사이트를
: 찾아가서 설치했고요....커널컴파일까지 성공을 했습니다.여기까지는 제공
: 책자가 아닌 홈페이지 강좌를 보고 따라했죠~~~
:
: 근데 제공 시디의 sw/sample/dev/dio/device 를 make하니 에러가 뜨는군요
: 제가 화면덤프는 못했는데 대부분 semaphore.h를 참조하지 못하는것같더군요
:
: 리눅스에서 설치는 다음과 같습니다.
:
: /usr/local/arm-linux 에 크로스 컴파일러가 설치되어 있고요~
: /usr/local/arm-linux/linux 에 당연히 커널이 설치되었죠....
:
: 그리고 예제소스가 설치된곳은
: /ez/sw/sample~~~ 이고요...
:
: 그리고 Makefile의 KERNELDIR=/usr/local/arm-linux/linux 로 고쳤고요
: ( 지금까지 디렉토리 관련 오타가 있었다면
: 실제상황에서는 없었다고 생각해주세요)
:
: 이렇게 했는데 나머지 gpio도 마찬가지더군요~~~
:
: 제가 에러화면을 덤프해서 썼더라면 더 쉽게 이해가 가실텐데요~~
: 전부가 리눅스 커널의 include/semaphore.h 참조가 안된다는 메시지였습니다.
:
: 그럼 답변부탁드리고요`~~ 감사합니다. 수고해요~~^^ㅇ