huxuelei
驱动牛犊
驱动牛犊
  • 注册日期2007-12-28
  • 最后登录2010-09-14
  • 粉丝0
  • 关注0
  • 积分120分
  • 威望13点
  • 贡献值0点
  • 好评度12点
  • 原创分0分
  • 专家分0分
阅读:1566回复:1

麻烦帮我看下这个代码片段

楼主#
更多 发布于:2008-02-28 16:05
//清除DMA Channel x中断
HAL_PLX9656_REG_WRITE_BYTE(plxRegAddr, PLX9656_DMACSR0, 0x8);

//确认打开了DMA Channel x Done Interrupt,DMA Channel 0 Clear Count Mode.(0xe2100080)
_PLX9656_REG_WRITE_WORD(plxRegAddr, PLX9656_DMAMODE0,0x20443);
                
//写DMA Channel 0 PCI Address,(0xE2100084)
HAL_PLX9656_REG_WRITE_WORD(plxRegAddr, PLX9656_DMAPADR0, ubpHAL_PLX9656_BufferBase);    
                
//写DMA Channel 0 Local Address,(0xE2100088)
HAL_PLX9656_REG_WRITE_WORD(plxRegAddr, PLX9656_DMALADR0, fifoBase);    
                
//写要传输的字节数,(0xE210008C)
HAL_PLX9656_REG_WRITE_WORD(plxRegAddr, PLX9656_DMASIZ0, IBUFFER_SIZE);    
                
//向DMA Channel x Descriptor Pointer寄存器中写值,设置传输方向(0xE2100090)
HAL_PLX9656_REG_WRITE_WORD(plxRegAddr, PLX9656_DMADPR0, 0x8);

//使能DMA Channel x,开始传输DMA
HAL_PLX9656_REG_WRITE_BYTE(plxRegAddr, PLX9656_DMACSR0, 0x3);

这是我给一块plx9656板卡写的驱动中的片段,要启用DMA来传输FIFO中的数据,麻烦大家帮我看看流程对不对。
我的驱动程序将数据传输后,不能得到正确的结果。
angel_dolphin_i
驱动中牛
驱动中牛
  • 注册日期2007-08-16
  • 最后登录2011-09-06
  • 粉丝1
  • 关注0
  • 积分289分
  • 威望444点
  • 贡献值1点
  • 好评度552点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2008-02-28 16:28
沙发,哈哈,帮你顶
游客

返回顶部