如何读取PCI 的寄存器?

lei005 2010-03-24 02:18:04
我写了一段代码,但总是读不出来PCI 寄存器中的 数据,不知道为什么?

switch (type)
{ // select on resource type
case CmResourceTypeMemory:

KdPrint(("2 start %8X%8.8lX length %X\n", 此处内存大小为 1000
resource->u.Memory.Start.HighPart, resource->u.Memory.Start.LowPart,
resource->u.Memory.Length));

break;

} // for each resource

// 从物理地址映射到虚地址
pdx->MemBar0 = (PUCHAR)MmMapIoSpace(resource->u.Memory.Start, resource->u.Memory.Length, MmNonCached);
pdx->nMem0 = resource->u.Memory.Length;

//从地址中读出32 字节的数据
UCHAR BUFF[128];
READ_REGISTER_BUFFER_UCHAR((PUCHAR)pdx->MemBar0, BUFF, 32);

...全文
241 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

2,640

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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