도와주세요!!
글 수 15,339
2006.07.21 11:55:14 (*.141.98.17)
9139
안녕하세요..
dev_gpio.c 에서 52번째 라인쯤에 있는
#define reg_ep9312(x) *(volatile unsigned long *)(IO_ADDRESS(x))
매크로를 아래와 같이 수정하시고 해 보세요..
#define reg_ep9312(x) *(volatile unsigned long *)((x))
즉,,, IO_ADDRESS 를 제거해 주시면 됩니다.
IO_ADDRESS()는 커널 2.6.11에서 사용한 매크로입니다. ( linux-2.6.11/include/asm/arch/regmap.h )
커널 2.6.13에서는 제거된 것입니다.
그럼 수고하세요.
>GPIO 관련 처음 개발하는 초보입니다.
>
>EZ-EP9312 User Manual 14장 디바이스 드라이버에서 제공하고 있는 "GPIO를 이용한 LED 구동 및 스위치 동작확인" 의 내용에 따라 예제를 실행하면서 공부하고 있습니다.
>
>CD에서 제공하는 gpio 예제 프로그램을 이용하여 모듈인 dev_gpio.ko 파일과 어플리케이션인 app_gpio를 compile 하던중에 다음과 같은 error에 봉착했습니다. 고수님들의 조언 부탁드립니다.
>
>==============================================
>make -C /project/ez-ep9312/kernel-2.6.13/linux SUBDIRS=/project/ez-ep9312/gpio modules
>make[1]: Entering directory `/project/ez-ep9312/kernel-2.6.13/linux-2.6.13.5'
>WARNING: Symbol version dump /project/ez-ep9312/kernel-2.6.13/linux-2.6.13.5/Module.symvers
> is missing; modules will have no dependencies and modversions.
>Building modules, stage 2.
>MODPOST
>*** Warning: "IO_ADDRESS" [/project/ez-ep9312/gpio/dev_gpio.ko] undefined!
>make[1]: Leaving directory `/project/ez-ep9312/kernel-2.6.13/linux-2.6.13.5'
>arm-linux-gcc -o app_gpio app_gpio.c
>==============================================
>
>Kernel 환경은 역시 CD에서 제공하는 kernel patch인 kernel-2.6.13.5를 이용하였습니다.
>User manual 8장에 나와있는 Kernel compile 설명에 따라 MCU patch 와 보드 patch 모두 실행하여 kernel image 까지 만들고 나서 예제 gpio 프로그램을 가져다가 make file 에서 kernel directory만 변경한 이후에 실행한 결과 입니다.
>
>module file 과 application file 이 생성되기는 하나, nfs를 통해 보더에서 module 을 로드할때 다음과 같은 error가 발생하고 있습니다. 어떻게 해야 할까요?
>
>======================================
>Using dev_gpio.ko
>dev_gpio: Unknown symbol IO_ADDRESS
>insmod: cannot insert `dev_gpio.ko': Unknown symbol in module (-1): No such file or directoy
>========================================
>
>제가 이용한 예제 파일은 첨부로 올립니다. 도와주십시오.
dev_gpio.c 에서 52번째 라인쯤에 있는
#define reg_ep9312(x) *(volatile unsigned long *)(IO_ADDRESS(x))
매크로를 아래와 같이 수정하시고 해 보세요..
#define reg_ep9312(x) *(volatile unsigned long *)((x))
즉,,, IO_ADDRESS 를 제거해 주시면 됩니다.
IO_ADDRESS()는 커널 2.6.11에서 사용한 매크로입니다. ( linux-2.6.11/include/asm/arch/regmap.h )
커널 2.6.13에서는 제거된 것입니다.
그럼 수고하세요.
>GPIO 관련 처음 개발하는 초보입니다.
>
>EZ-EP9312 User Manual 14장 디바이스 드라이버에서 제공하고 있는 "GPIO를 이용한 LED 구동 및 스위치 동작확인" 의 내용에 따라 예제를 실행하면서 공부하고 있습니다.
>
>CD에서 제공하는 gpio 예제 프로그램을 이용하여 모듈인 dev_gpio.ko 파일과 어플리케이션인 app_gpio를 compile 하던중에 다음과 같은 error에 봉착했습니다. 고수님들의 조언 부탁드립니다.
>
>==============================================
>make -C /project/ez-ep9312/kernel-2.6.13/linux SUBDIRS=/project/ez-ep9312/gpio modules
>make[1]: Entering directory `/project/ez-ep9312/kernel-2.6.13/linux-2.6.13.5'
>WARNING: Symbol version dump /project/ez-ep9312/kernel-2.6.13/linux-2.6.13.5/Module.symvers
> is missing; modules will have no dependencies and modversions.
>Building modules, stage 2.
>MODPOST
>*** Warning: "IO_ADDRESS" [/project/ez-ep9312/gpio/dev_gpio.ko] undefined!
>make[1]: Leaving directory `/project/ez-ep9312/kernel-2.6.13/linux-2.6.13.5'
>arm-linux-gcc -o app_gpio app_gpio.c
>==============================================
>
>Kernel 환경은 역시 CD에서 제공하는 kernel patch인 kernel-2.6.13.5를 이용하였습니다.
>User manual 8장에 나와있는 Kernel compile 설명에 따라 MCU patch 와 보드 patch 모두 실행하여 kernel image 까지 만들고 나서 예제 gpio 프로그램을 가져다가 make file 에서 kernel directory만 변경한 이후에 실행한 결과 입니다.
>
>module file 과 application file 이 생성되기는 하나, nfs를 통해 보더에서 module 을 로드할때 다음과 같은 error가 발생하고 있습니다. 어떻게 해야 할까요?
>
>======================================
>Using dev_gpio.ko
>dev_gpio: Unknown symbol IO_ADDRESS
>insmod: cannot insert `dev_gpio.ko': Unknown symbol in module (-1): No such file or directoy
>========================================
>
>제가 이용한 예제 파일은 첨부로 올립니다. 도와주십시오.