wang_wcj
驱动小牛
驱动小牛
  • 注册日期2002-04-14
  • 最后登录2010-05-14
  • 粉丝0
  • 关注0
  • 积分213分
  • 威望253点
  • 贡献值1点
  • 好评度82点
  • 原创分0分
  • 专家分0分
阅读:1309回复:7

pci map

楼主#
更多 发布于:2002-04-23 11:21
我现在有一个外围设备,是通过pci 总线连接的,
我怎样把 这个设备的寄存器组映射到memory中
我现在是这样做的,把一个地址如(0xd0000)写道pci head 寄存器中,然或我到那个地址去读数据,结果不对,不知为什么?
我是在dos中开发的。用c 语言,请大家帮帮忙!!!
Pharos
驱动牛犊
驱动牛犊
  • 注册日期2001-08-13
  • 最后登录2005-02-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-04-23 11:30
0xD0000只是一个物理地址,而在程序中你能访问到的是虚拟地址,所以你需要进行Memory Map, 在DOS下,你可以调用DosDpmi函数完成此功能。
没有我,你怎么办,你的泪水谁为你擦干; 谁为你打伞,安慰你心寒,失眠的夜你最怕孤单。
wang_wcj
驱动小牛
驱动小牛
  • 注册日期2002-04-14
  • 最后登录2010-05-14
  • 粉丝0
  • 关注0
  • 积分213分
  • 威望253点
  • 贡献值1点
  • 好评度82点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-04-23 11:47
我在c 语言中没有找到你说的函数
请您再指点一下


 
Pharos
驱动牛犊
驱动牛犊
  • 注册日期2001-08-13
  • 最后登录2005-02-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-04-23 11:55
DosDpmi32不是C中的函数,你可以在网上Search一下,找它的obj文件,和你的obj文件进行链接生成exe.
没有我,你怎么办,你的泪水谁为你擦干; 谁为你打伞,安慰你心寒,失眠的夜你最怕孤单。
wang_wcj
驱动小牛
驱动小牛
  • 注册日期2002-04-14
  • 最后登录2010-05-14
  • 粉丝0
  • 关注0
  • 积分213分
  • 威望253点
  • 贡献值1点
  • 好评度82点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-04-23 12:00
非常感谢
在c 中可以使用MK_FP 但是
就是map 的不对
不知为什么
对了
在pci中map 的空间,是不是固定的
Pharos
驱动牛犊
驱动牛犊
  • 注册日期2001-08-13
  • 最后登录2005-02-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-04-23 12:52
你应该用dpmiMapPhysicalRegion函数来做。还有,每次map的虚拟地址并不是固定的。
没有我,你怎么办,你的泪水谁为你擦干; 谁为你打伞,安慰你心寒,失眠的夜你最怕孤单。
maple_zhao
驱动牛犊
驱动牛犊
  • 注册日期2002-03-07
  • 最后登录2008-06-06
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-04-23 20:54
pharos老兄,我和wang_wcj有同样的问题,不过是在win2k下,我读出了base address,再haltranslatebusaddress,mmmapiospace,read_register_ulong
可得到的值不对,哪里有问题呢?

给分的话,我再开个帖子,您说一声我就给了。

帮帮忙好吗?
Pharos
驱动牛犊
驱动牛犊
  • 注册日期2001-08-13
  • 最后登录2005-02-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-04-23 21:04
不好意思,我没有看出有什么不对的。 你用的函数应该说都是正确的,我只能建议你再看一下这几个函数的入口参数你有没有用错或者理解错。
没有我,你怎么办,你的泪水谁为你擦干; 谁为你打伞,安慰你心寒,失眠的夜你最怕孤单。
游客

返回顶部