关于物理内存读写的问题,高手请指教............

宏鑫晶科 2003-08-31 12:47:40
一块ISA通讯卡,卡上4K双口RAM映射到PC存储器地址空间 0xb0000000-起始地址,
用TURBU c编程在DOS下可以用far 指针访问,用DEBUG DB000:0000也可以读取数据(win98 debug也可以),现需要在98/2000下编制应用程序,我用driverworks写了一个wdm驱动,读写物理内存用如下方式:
NTSTATUS HDLCIsaDevice::OnStartDevice(KIrp I)中:
status = m_MemoryRange0.Initialize(
pResListTranslated,
pResListRaw,
0,
TRUE
);
if (!NT_SUCCESS(status))
{
Invalidate();
return status;
}

//读存储器
NTSTATUS HDLCIsaDevice::HDLCISA_IOCTL_801_Handler(KIrp I)
{
NTSTATUS status = STATUS_SUCCESS;

PUCHAR ioBuffer = (PUCHAR)I.IoctlBuffer();
ULONG ioInSize = I.IoctlInputBufferSize();
ULONG ioOutSize = I.IoctlOutputBufferSize();

UCHAR p[40];
p[0]=0xaa;
p[1]=0xaa;
p[2]=0xaa;
p[3]=0xaa;
p[4]=0xaa;

//m_MemoryRange0.inb(0, (PUCHAR)ioBuffer, ioInSize);
//m_MemoryRange0.inb(0, p, 20);
for(UCHAR i=0; i<20; i++)
{
p[i] = m_MemoryRange0.inb(i);
//ioBuffer[i] = m_MemoryRange0.inb(i);
t << "p[i] " << p[i] << EOL;
}

I.Information() = sizeof(PUCHAR);
status = STATUS_SUCCESS;
return status;
}

在WDM中用m_MemoryRange0.inb(0), 读取的数据都是0XFF,读不出ISA上存储
区的数据,问题出在哪里,请指教!
...全文
39 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
宏鑫晶科 2003-08-31
  • 打赏
  • 举报
回复
小白兔....帮帮忙呀..
klbt 2003-08-31
  • 打赏
  • 举报
回复
问题超长。

2,425

社区成员

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

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