关于DMA方式的操作(高分奉送),急,急,急!!!!

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

谢谢
...全文
60 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
cbtsd 2003-10-10
  • 打赏
  • 举报
回复
两者差别是什么?
我的板卡应该支持Bus Master DMA ,
之前的寄存器初始化中要置MasterEnable位,才可以操作DMA方式。
seaquester 2003-10-10
  • 打赏
  • 举报
回复
首先应该确定你的板卡支持那种方式的DMA:
Bus Master DMA
Slave DMA.

21,597

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧