2010-12-07 119 views
3

有人能指點我一些示例代碼來啓用和處理Linux中的ARM9用戶引腳IO中斷(C語言)嗎?GPIO引腳linux中的中斷處理程序(arm)

我知道,可能需要一個底層驅動,我只是想獲得關於如何初始化它,然後在用戶級別等

我熟悉ARM的中斷處理消息的一些想法,和設備驅動程序(在Windows中),但我是Linux編程的新手。

謝謝

回答

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 2010-12-08 12:19:40