giggs1111
驱动牛犊
驱动牛犊
  • 注册日期2007-12-29
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望15点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
阅读:1822回复:2

头帖,小弟求各位老大帮忙--怎样在XP系统下改变PCI板卡的Latency Timer,感谢!

楼主#
更多 发布于:2008-11-06 21:19
第一次发帖,请多指教,最近遇到个难题,两家的板卡兼容有问题,要改Latency Timer才可以高速DMA传输,现在可以在进入XP系统后,
通过PCIScope软件,改掉Latency Timer,但是重启后会复原为原来的0x20h,目前,我想编个小程序,添加到msconfig里面,进系统后,自动把其改为0x40h,请问怎样改?
PS:我已经能在XP下面读到Latency Timer的值了(向0xcf8中,写入8002680d,然后在0xcfc中读回,返回值为0x20h),但是现在就是不知道该怎么写,向哪个寄存器里面写地址什么值,谢谢各位高手指点!
freevanx
驱动牛犊
驱动牛犊
  • 注册日期2006-05-06
  • 最后登录2009-02-27
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望9点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2008-11-07 10:42
这个东西最好写个驱动去改。
不过你要在用户空间改的话,可以用winIO或者opensys的驱动,然后向0xcf8和0xcfc写值
giggs1111
驱动牛犊
驱动牛犊
  • 注册日期2007-12-29
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望15点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2008-11-10 11:02
感谢freevanx的回复,我现在能在DOS下实现了,但是不知道在XP下面怎样写进去,WinIO我有,但是似乎它只能写16位地址,我试着在VB的.vbp里面把它的SetPortVal
里面的最后一个数值改掉了,例子是1,我改成4了,这样的话是读出一个双字,但是运行时,出现runtime error “6”,data overflow,数值溢出了,本来想偷懒,不想自己用DDK在WDM里写驱动了,似乎现在看来不行啊~但是我看WinIO的帮助文档里面是可以进行32位读写的~郁闷~~~~~
游客

返回顶部