阅读:1638回复:1
PCI9054驱动学习中的低级问题
低级问题:
m_IoPortRange0.outd(INTCSR,0x40100);//允许PCI中断和DMA通道0中断 这条语句中INTCSR为0x68,为什么写0x40100就能允许PCI中断和DMA通道0中断,怎么得来的??? 请高手指点一下啊!! 还有后面着所有的写入的数都是怎么得来了,我怎么知道写什么数据呢??? //Channel0 interrupt to the PCI Bus interrupt,Done Interrupt Enable,FIFO m_IoPortRange0.outd(DMAMODE0,0x20C00); //DMA Channel0 PCI Address m_IoPortRange0.outd(DMAPADR0,PAddress); //DMA Channel0 Local Address,自己设计的FIFO地址 m_IoPortRange0.outd(DMALADR0,0x8); //DMA Channel0 Transfer Size(Bytes) m_IoPortRange0.outd(DMASIZ0,NBytes); //from the Local Bus to the PCI Bus m_IoPortRange0.outd(DMADPR0,0x8); //Channel0 Enable,Start m_IoPortRange0.outb(DMACSR0,0x3); |
|
沙发#
发布于:2009-10-11 10:53
你需要看看PCI9054的datasheet
”为什么写0x40100就能允许PCI中断和DMA通道0中断“ INTCSR不同位表示不同意思 也就是相应各位置0 或者置1 |
|