3
有人能指点我一些示例代码来启用和处理Linux中的ARM9用户引脚IO中断(C语言)吗?GPIO引脚linux中的中断处理程序(arm)
我知道,可能需要一个底层驱动,我只是想获得关于如何初始化它,然后在用户级别等
我熟悉ARM的中断处理消息的一些想法,和设备驱动程序(在Windows中),但我是Linux编程的新手。
谢谢
有人能指点我一些示例代码来启用和处理Linux中的ARM9用户引脚IO中断(C语言)吗?GPIO引脚linux中的中断处理程序(arm)
我知道,可能需要一个底层驱动,我只是想获得关于如何初始化它,然后在用户级别等
我熟悉ARM的中断处理消息的一些想法,和设备驱动程序(在Windows中),但我是Linux编程的新手。
谢谢
这真的取决于您使用的实际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);
}
非常感谢,这让我走了! – tommessum 2010-12-08 12:19:40