2010-12-07 2 views
3

누군가가 리눅스에서 ARM9 용 사용자 핀 IO 인터럽트 (C 언어)를 활성화하고 처리하기위한 샘플 코드를 가르쳐 줄 수 있습니까?GPIO 핀 리눅스 (팔)의 인터럽트 핸들러

나는 낮은 수준의 드라이버가 필요할 수 있음을 알고, 나는 단지 그 다음 사용자 수준 등 내가 ARM 인터럽트 익숙

에서 메시지를 처리 ​​초기화하는 방법에 대한 몇 가지 아이디어를 얻으려면 및 장치 드라이버 (Windows에서)하지만 난 리눅스 프로그래밍 초보자입니다.

감사합니다.

답변

3

정말 사용중인 실제 BSP에 따라 다릅니다. AFAIK Linux에는 "일반적인 ARM9 gpio 인터럽트"가 없습니다. 보드 별입니다. 예 : 다음은 PCA100 보드의 예입니다.

static int pca100_sdhc2_init(struct device *dev, irq_handler_t detect_irq, 
       void *data) 
{ 
     int ret; 

     ret = request_irq(IRQ_GPIOC(29), detect_irq, 
          IRQF_DISABLED | IRQF_TRIGGER_FALLING, 
          "imx-mmc-detect", data); 
     if (ret) 
       printk(KERN_ERR 
         "pca100: Failed to reuest irq for sd/mmc detection\n"); 

     return ret; 
} 

static void pca100_sdhc2_exit(struct device *dev, void *data) 
{ 
     free_irq(IRQ_GPIOC(29), data); 
} 
+0

대단히 감사합니다. – tommessum