阅读:1005回复:1
有关武安和书中DMA的问题。
在武安和书中有关pci9054的DMA操作有如下代码:
#define INTCSR 0x68 #define DMAMODE0 0x80 #define DMAPADR0 0x84 #define DMALADR0 0x88 #define DMASIZ0 0x8C #define DMADPR0 0x90 #define DMACSR0 0xA8 和 VOID PCI9054Device::StartDMA(ULONG PAddress,ULONG NBytes) { //下面几条语句设置DMA通道0寄存器,启动块传输方式,从FIFO读数据 //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); } 请问这两段代码是什么意思???希望能够具体解释一下。非常感谢。 |
|
沙发#
发布于:2004-05-12 17:44
1。第一段代码:是你PCI9054 有关DMA寄存器的地址
2。第一段代码:是对PCI9054的DMA寄存器进行设置(比如初始化,DMA传输尺寸、起始地址等) |
|
|