제가 하고있는게, 보드에다가 ADC를 붙여서 사용을 하려는건데요~
GPIO를 이용하여 start of conversion 신호와 end of conversion 신호를 사용하고 있습니다!

일단, end of conversion 신호를 GPIO 8번에 falling edge 일 때 인터럽트가 걸리도록 하려고합니다.
디바이스로 ADC 랑 GPIO open 해주는 것은 test.c 를 통해서 ./test 를 실행하는 걸로 했고요....

제가 insmod 로 해서, adc_driver.o 랑 gpio.o 해주었고,
ADC 랑 GPIO 는 디바이스 파일을 만드는 명령(mknod)해주었구요...

인터럽트에 대한거는, adc_driver.c 라는 곳에서
int __init iom_adc_init(void) 안에

set_GPIO_IRQ_edge(8, GPIO_FALLING_EDGE);
request_irq(IRQ_GPIO(8), test_interrupt, SA_INTERRUPT, IOM_ADC_NAME, NULL);

써주었구요~

void test_interrupt(int irq, void *dev_id, struct pt_regs *regs)
{
printk("Interrupt ok!!! %dn", irq);
}

따로 써주었어요!

근데 test.c 에 있는 printk 구문만 읽히고, test_interrupt 안에 있는건 안 읽히는게 adc_driver를 실행파일로 해줘야하는건가요?

잘 모르겠어요ㅠ
좀 도와주세요....








>안녕하세요..
>
>gpio.c 가 디바이스 드라이버 소스라면 이 곳에 인터럽트 irq를 등록하고 사용하시면 됩니다..
>
>그럼 수고하세요..
>
>
>>GPIO 핀에 대한 인터럽트를 사용하려고 하는데~
>>gpio.c 라는 곳에다가 인터럽트 사용하도록 irq등록해서 쓰면 되는거 맞죠?
>>
>>
>