Reehac
驱动牛犊
驱动牛犊
  • 注册日期2001-06-27
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:3371回复:5

如何跟硬件打交道

楼主#
更多 发布于:2002-07-20 18:38
我做了一个WDM的PCI驱动,正在和硬件联调,我的卡上有一个FPGA做的
RAM,在初始化时应该是由系统分配好卡上的RAM的地址,并在Startdevice这个PnP消息中的resource域中会以 PCM_PARTIAL_RESOURCE_LIST list=&AllocatedResourcesTranslated->List[0].PartialResourceList;
port = resource->u.Port.Start;

的方式传过来,然后用 dx->BufferMemBase=(PULONG)MmMapIoSpace(port, nports, MmNonCached);
把它存起来,在硬件操作的例程中再用RtlCopyMemory把信息写到RAM中或提取出来,我认为BufferMemBase就应该是对应RAM的,结果却不能从该地址读出东西。请问在WDM里与硬件应怎样打交道。是用的RtlCopyMemory(参数是虚拟地址还是物理地址?)吗?
还是其他的函数(WRITE_PORT_ULONG我也用过了,也不行)。谢谢先。

最新喜欢:

okincnokincn
游客

返回顶部