powercao
驱动牛犊
驱动牛犊
  • 注册日期2003-07-26
  • 最后登录2004-05-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1346回复:2

关于DMA方式的操作 急,急,急!!!!

楼主#
更多 发布于:2003-10-10 10:54
现在写的程序直接操作一图形板(pci接口),由于采用其FIFO方式,速度达不到要求。
欲采用DMA方式上传数据到图形板。我的处理方式如下:
申请一块连续的物理地址paddress,把数据写入此物理地址空间中;(可以写入的)
把paddress传给DMA的地址寄存器;
启动DMA方式(通过板卡的命令寄存器启动Count,每传一字,Count计数器减)。
现在的问题:Count计数器不减,每次读的时候跟初始值一样,好像根本就没有搬运(从主存到图形板的buffer)
问:1。DMA的处理流程是否是这样的?有什么问题
    2。需不需要pci图形板的映射buffer地址
不知道说明白了没有?请赐教,谢谢

最新喜欢:

HuYuguangHuYugu...
hong
驱动小牛
驱动小牛
  • 注册日期2001-09-19
  • 最后登录2005-12-16
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-10-10 21:49
DMA operation is depends on the DMA engine which is built in inside the PCI interface chip on your pci card.
every one chip has its own way to control DMA operation.
you should point out which PCI chip you have on the card so we can try to help you.
in general, you are right, but you need specific help to make your pci card DMA works.
powercao
驱动牛犊
驱动牛犊
  • 注册日期2003-07-26
  • 最后登录2004-05-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-10-11 10:48
我的pic芯片是比较老的一种,3DLabs的GLint 500TX,
里面一句话不知怎么理解:
The DMA address should be loaded with the first PCI address
                                      ~~~~~~~~~~~~~~~~~~~~~
for the buffer to be transfered to the chip when using the
DMA controls.
能解释一下the first PCI address?
游客

返回顶部