微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > arm linux 下中断流程简要分析注册中断

arm linux 下中断流程简要分析注册中断

时间:11-09 来源:互联网 点击:

,对于IRQ_WDT来说这次的调用desc->chip->,对于IRQ_WDT来说这次的调用desc->chip->unmask(irq),实际上是s3c_irq_unmask,具体可查看前面分析的chip对象。

arch/arm/mach-s3c2410/Irq.c:

static void

s3c_irq_unmask(unsigned int irqno)

{

unsigned long mask;

if (irqno != IRQ_TIMER4 && irqno != IRQ_EINT8t23)

irqdbf2("s3c_irq_unmask %d/n", irqno);

irqno -= IRQ_EINT0;

mask = __raw_readl(S3C2410_INTMSK);

mask &= ~(1UL < irqno);

__raw_writel(mask, S3C2410_INTMSK);

}

对着s3c2410的data sheet一看就知道了, 就是打开相应中断。

至此中断处理函数安装好了,中断也打开了,系统就可以正确的响应中断了。

Ok,到此为止IRQ_WDT的中断注册过程已完成,此时的中断描述符如下所示:



Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top