wanghb369
驱动牛犊
驱动牛犊
  • 注册日期2003-02-25
  • 最后登录2004-09-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1344回复:1

关于9054 DMA 的问题

楼主#
更多 发布于:2004-02-10 10:13
目的:基于COMMONBUFFER 的 DMA ,使用9054的 block DMA
方法:当卡上的数据准备好时,产生LINT 中断
      在驱动的ISR中:
          IF(intcsr==lint )
           {
//            1.diable Lint interrupt
//            2.enble DAM interrupt.
             //3.set dmamode
  m_MemoryRange0.outd(DMAMODE0,DmaMode0);
 //4.set pci starting address
  _MemoryRange0.outd(DMADPR0,(ULONG)PaCommonBuffer.LowPart);
        
//5. set local starting address
m_MemoryRange0.outd(DMALADR0,LOCAL_ADDRESS);
          //6. set transfer size
m_MemoryRange0.outd(DMASIZ0,4*K);
//7.  set direction of transfer DMADPR0
        m_MemoryRange0.outd(DMADPR0,0x08);
    
    
//8. initiat dma transfer
m_MemoryRange0.outd(DMACSR0,0x03);
            }
 
        
 
问题 : dma 传输完成后,INTCSR=0X244180。其中不正常的是:
        1. INTCSR[7]=1:pci9054 detected a local data parity check error.
        2. INTCSR[14]=1: PCI abort interrput active
        3. INTCSR[24]=0: indicate DMA initiator was the bus master during a master or target abort.

请教各位大侠:
       问题是如何产生的? 如何解决?
       多谢!
 
 

 
yjx2003
驱动牛犊
驱动牛犊
  • 注册日期2004-06-18
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分32分
  • 威望6点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-06-06 19:32
是不是要读的数据的字节数不够,数据不存在
请向您的朋友推荐《名人传记》电子期刊 http://list.cn99.com/cgi-bin/getlsts?listname=zhuanji
游客

返回顶部