PCI内存映射外围寄存器主要用于控制PCI接口,它可以被主机和DSP访问,在该寄存器中,较重要的是RSTSRC寄存器,如图4所示。
DSP通过将RSTSRC寄存器中的INTREQ置1产生中断;PC机和DSP通过将INTRST置1清除中断,这一点在驱动开发中至关重要,因为DSP 产生的中断属于电平中断类型,如果不清除中断,它将一直有效.这将会导致中断响应函数不断的调用,从而导致死机。
PCI端口通过3种基址寄存器可以完全访问DSP的存储器映射。
Base0:4 MB的可预存取空间,通过设置DSP页寄存器映射所有DSP存储器空间,预取读使所有的字节有效。
Base1:8 MB非预取地址映射对应于所有的DSP存储空间,非预取支持字节使能。
Base2:PCI的16MB I/O包括I/O寄存器。
这3种寄存器属于PCI配置寄存器,PCI主机可以访问映射在PCI存储器空间4 MB的DSP存储器,PCI端口包含一个PCI I/O寄存器(DSPP寄存器)从PCI地址到DSP地址的映射。当DSP作为PCI本地总线从属时,使用该映射模式;当DSP上的PCI基地址寄存器被配置成一个8 MB不可预取区域时,该存储空间映射为DSP内存映射寄存器(0180 0000h)。PCI地址的22:0位与一个固定偏移相连,将Base 1访问映射到内存寄存器;基地址寄存器2配置16 B I/O空间,使PCI主机用于访问PCI I/O寄存器。
|