ck1976
驱动牛犊
驱动牛犊
  • 注册日期2001-08-30
  • 最后登录2004-03-05
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1069回复:3

求教ISA卡的DMA

楼主#
更多 发布于:2001-12-08 19:29
VtoolsD开发ISA卡VxD
问题如下:
OnSysDynamicDeviceInit()中调用语句
VDMABuffer::reserve(MAX_TRANSFER_PAGES, (PVOID)MAX_PHYS_ADDR);
时,弹出SoftICE ,显示 Break due to Page Fault(0Eh)
   按F5后,系统蓝屏
 请您给出您的意见或建议,谢谢!
harold
驱动牛犊
驱动牛犊
  • 注册日期2001-08-26
  • 最后登录2002-10-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2001-12-09 14:47
一定要用这个吗?直接在构造函数中设置参数申请内存不就行了。
ck1976
驱动牛犊
驱动牛犊
  • 注册日期2001-08-30
  • 最后登录2004-03-05
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2001-12-10 16:41
在98DDK帮助中

VDMAD_Reserve_Buffer_Space
include vdmad.inc

mov eax, PageCount
mov ecx, MaxAddress
VxDcall VDMAD_Reserve_Buffer_Space
 
Allows other devices that are going to handle DMA to make sure that VDMAD allocates a buffer large enough for any transfers that they might require. Uses flags

...............

This service is only available before the Init_Complete message.

我想,加的位置不对吧!
ck1976
驱动牛犊
驱动牛犊
  • 注册日期2001-08-30
  • 最后登录2004-03-05
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2001-12-11 19:21
*^_^*
终于搞定了!
我做的是从DOS的程序移植到Windows,中间忘掉了一个硬件设置,没有把信号打过去,结果采集的数据全是0,呜呜,干活来不得一点马虎!
游客

返回顶部