2. 8259编程

  • 1 8259寄存器I/O地址
  • 2 8259初始化

我们可以在Intel提供的chipset datasheet文档里找到关于8259中断控制器上编程的详细说明。在笔者所了解的知识中,不同的chipset(芯片组)中关于PCI-to-ISA bridge的LPC控制器功能大致上是一样的。

1 8259寄存器I/O地址

8259中断控制器的寄存器实行I/O地址映射方式,使用IN和OUT指令来访问8259中断控制器寄存器。

① 端口20h:属于master 8259的ICW1、OCW2及OCW3寄存器。

② 端口21h:属于master 8259的ICW2到ICW4寄存器,以及OCW1寄存器。

③ 端口A0h:属于slave 8259的ICW1、OCW2及OCW3寄存器。

④ 端口A1h:属于slave 8259的ICW2到ICW4寄存器,以及OCW1寄存器。

多个寄存器共用一个端口,由写入的值来选择使用哪个寄存器。

2 8259初始化

在使用8259控制器前应分别对master和slave片进行初始化设置,每个8259初始化设置流程是依次写入4个ICW(Initialization Command Word,初始化命令字):从ICW1到ICW4。

你可能感兴趣的:(2. 8259编程)