안녕하세요..

TEST를 하고... CD를 정리하면서... 약간의 수정이 있었는데...이전 버젼이 올라간것 같네요..

죄송합니다... 수정한 파일을 왼쪽의 자료 게시판에 올려 놓겠습니다..


아래의 내용은 원인 분석입니다...

: E> 다시 컴파일하다가 보니까 make dep 를 하니까.
: io.c : asm/hardware.h ; no such file or directory
: io.h : no such file or directory
: 라고 뜨는데요, 제가 /ez/sw/kernel/linux/include/asm/hardware.h 에서
: 확인 했습니다. 분명 있는데 없다고 나옵니다. 그리고 gpio 할때는
: 되거덩요... 왜그러져?

====>>

device 디렉토리의 Makefile 에서 다음을 수정하여 주세요...

32 dep :
33 gccmakedep $(INCLUDEDIR) $(SRCS)

==>>> 수정 내용

32 dep :
33 gccmakedep $(DEV_INCLUDEDIR) $(SRCS)

: B>
: mknod /dev/SAMPLE_IO c 190 0 으로 했는데도,
: (SAMPLE_IO 명은 어떻게 결정된건지요?)
: 마찬가지로 unresolved symbol SA110_IRQ_IO_GPIO로 나옵니다.

====>>.
set_GPIO_IRQ_edge ( 1 << SA1100_IRQ_TO_GPIO(IO_SAMPLE_IRQ), GPIO_RISING_EDGE );

===>>> 수정

(1) 커널 2.4.10, 커널2.4.18에 모두 사용할 수 있음

#ifdef SA1100_IRQ_TO_GPIO
set_GPIO_IRQ_edge ( 1 << SA1100_IRQ_TO_GPIO(IO_SAMPLE_IRQ), GPIO_RISING_EDGE );
#else
set_GPIO_IRQ_edge ( 1 << IO_SAMPLE_IRQ, GPIO_RISING_EDGE );
#endif


(2) 커널 2.4.18에 사용할 수 있음
set_GPIO_IRQ_edge ( 1 << IO_SAMPLE_IRQ, GPIO_RISING_EDGE );


(1), (2) 중 선택하셨어 해당 부분에 수정하여 주시면 됩니다.. [ io.c ==> init_module() ]


[TEST 방법]


$ insmod io_dev.o
$ mknod /dev/SAMPLE_IO c 190 0
$ ./test_app w 3 <=== 출력시
$ ./test_app w 25 <=== 출력시
$ ./test_app r <=== 입력시


그럼 이만...