首页 文章

linux中断图

提问于
浏览
1

我是linux的新手,最近看了一些与中断相关的linux驱动程序代码 . 我从本教程http://www.redhat.com/mirrors/LDP/LDP/tlk/dd/interrupts.html开始,但不确定我是否理解它是正确的 .

以下是我认为从 Fig.7.1 得到的事实:

199 PIC1左侧的箭头线连接到 interrupt pin on the CPU
PIC1右侧的

  • 0~7指的是 interrupt controller pins

  • 每个中断控制器引脚连接到PCI插槽上的硬件设备

问题:

  • 'CPU上的中断引脚',是否与'中断线'相同?即函数中的'irq'参数:

int request_irq(unsigned int irq,(* handler)(),...)

  • 如果是这样,那么中断处理函数'(* handler)()'必须是一个'组合ISR函数',它完全处理0~7个中断源,对吧?

  • 如果没有,那么什么是'irq',它是'中断控制器引脚'而不是?

  • 物理连接到中断控制器引脚0~7的设备如何产生中断?通过提高引脚电压,写入PIC寄存器? PIC中的中断状态寄存器如何知道哪个引脚是当前中断?

对不起,如果有些问题是天真的 .

谢谢,

1 回答

  • 0
    • 'interrupt pin on CPU',与'interrupt line'相同,但与函数中的irq参数不完全相同 .

    • irq是分配给每个中断引脚的编号 . 可以从处理器硬件手册中定义的中断向量表中读取此信息 .

相关问题