| 设为主页 | 保存桌面 | 手机版 | 二维码
12

研华科技-全球智能系统产业的领导厂商

专注于自动化、嵌入式电脑、智能服务三大市场

新闻分类
  • 暂无分类
联系方式
  • 联系人:普程艳
  • 电话:18516020802
  • 邮件:1580749832@qq.com
  • 手机:18516020802
  • 传真:021-60719770
您当前的位置:首页 » 新闻中心 » 怎么给PCI设备分配固定的中断号
新闻中心
怎么给PCI设备分配固定的中断号
发布时间:2020-03-09        浏览次数:8        返回列表
大家都知道,PCI设备是共享中断的。

PCI 连接头有四个中断引脚,外设板可使用其中任意一个。每个引脚被独立连接到主板的中断控制器,因此,中断可被共享,而不会出现任何电气问题。然后,中断控制器负责将中断线(引脚)映射到处理器硬件。这一依赖于平台的操作由控制器完成,这样,总线本身可以获得平台无关性。

位于 PCI_INTERRUPT_PIN 的只读配置寄存器用来告诉计算机,实际使用的是哪个引脚。要注意每个设备板可拥有 8 个设备,而每个设备使用单独的中断引脚,并在自己的配置寄存器报告引脚的使用情况。同一设备板上的不同设备可使用不同的中断引脚,或者共享同一个中断引脚。

PCI_INTERRUPT_LINE 寄存器是可读/写的。在计算机的引导阶段,固件扫描其 PCI 设备,并根据每个 PCI 槽的中断引脚连接情况设置每个设备的寄存器。这个值由固件赋于,是因为只有固件知道主板如何将不同的中断引脚连接至处理器。但是,对设备驱动程序,PCI_INTERRUPT_LINE 是只读的。

PCI设备在系统启动与初始化PCI时由PCI BIOS 或 PCI子系统来分配中断,将其放入配置头中,故而驱动程序可以方便的获得PCI设备使用的中断号。

那么,我们可以通过调整BIOS设置,来达成给设备分配固定中断号。

某些主板上的BIOS程序,有可以设置中断号分配的,比如PCA6007,可以给某个SLOT绑定中断号。通过这种方式,把某个中断号固定在某个PCI插槽上,然后把PCI卡插在这个槽上,变通的实现了给PCI设备固定中断号的目的。

另外,有意思的是,新近的 Linux 内核在某些情况下,无需借助 BIOS 就可以分配中断线。可在Windows平台下,只能通过修改BIOS设置来实现了。