hejoin
驱动小牛
驱动小牛
  • 注册日期2001-10-19
  • 最后登录2012-03-08
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望51点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
阅读:1623回复:13

向大家请教一个问题,wdm程序运行在分时状态?还是实时状态?

楼主#
更多 发布于:2002-07-01 13:10
如果要让我的wdm驱动运行在实时状态该如何做?
运行在中断级?
恒坚电器([url]http://www.hejoin.com[/url])
zydcat
驱动老牛
驱动老牛
  • 注册日期2001-12-06
  • 最后登录2006-04-12
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-07-01 13:20
windows操作系统本身就不是实时操作系统

一定要实时,那只能换操作系统了
[color=red]肥虫虫[/color] [img]http://www.driverdevelop.com/forum/upload/bradley/2002-11-15_ig01.gif[/img]
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2002-07-01 13:20
wdm当然也要被分时。
在中断。
到底要干什么,可不可以说出来大家一起看看?
hejoin
驱动小牛
驱动小牛
  • 注册日期2001-10-19
  • 最后登录2012-03-08
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望51点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-07-01 13:34
如何用并口产生一系列方波?需要准确,如果不是实时性,该怎么保证波形呢?
我也知道windows不是实时的,呵呵!
可以修改系统程序的优先级来达到一定的目的!
但是毕竟不是很好,我需要的是一段时间之内的实时性!比如10s之内!其他就不需要了!
希望在wdm程序中达到这个目的!
以前有朋友问过,好像wdm程序有好几种级别,是不是运行在中断级别最高?
还是怎么的?
恒坚电器([url]http://www.hejoin.com[/url])
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
地下室#
发布于:2002-07-01 13:43
那就在中断里面产生你的波形,应该够了。
pjf
pjf
驱动中牛
驱动中牛
  • 注册日期2001-07-08
  • 最后登录2006-10-23
  • 粉丝0
  • 关注0
  • 积分42分
  • 威望4点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-07-01 13:49
如何用并口产生一系列方波?需要准确,如果不是实时性,该怎么保证波形呢?
我也知道windows不是实时的,呵呵!
可以修改系统程序的优先级来达到一定的目的!
但是毕竟不是很好,我需要的是一段时间之内的实时性!比如10s之内!其他就不需要了!
希望在wdm程序中达到这个目的!
以前有朋友问过,好像wdm程序有好几种级别,是不是运行在中断级别最高?
还是怎么的?


需要实时的话有实时NT系统。
不过好像你只是想不让系统中断你的程序,提升IRQL至DISPATCH_LEVEL可暂停系统调度,屏掉额外中断可暂停中断。后者有副作用,可能一般前者足够了(方波频率不太高)。
hejoin
驱动小牛
驱动小牛
  • 注册日期2001-10-19
  • 最后登录2012-03-08
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望51点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-07-01 14:10
呵呵,谢谢!
我也就是这么想的,但具体在那里设置?
我找了win2000 wdm程序设计,没有找到嘛
具体用什么命令或者进行那方面的参数设置?
再次感谢,解决问题给分!

恒坚电器([url]http://www.hejoin.com[/url])
pjf
pjf
驱动中牛
驱动中牛
  • 注册日期2001-07-08
  • 最后登录2006-10-23
  • 粉丝0
  • 关注0
  • 积分42分
  • 威望4点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-07-01 14:24
我也就是这么想的,但具体在那里设置
--------------------------------------------------------------------------
设置什么?提升IRQL么?KeRaiseIrqlToDpcLevel/KeRaiseIrql/KeLowerIrql。
你访问并口的程序在什么例程里?在dispatch例程里的话在访问前用上面的函数。
在startio例程里你不必做什么,它就是合适的IRQL,除非你觉得还是被中断抢断的太多,你可多提升一些(最好不要高过时钟)
hejoin
驱动小牛
驱动小牛
  • 注册日期2001-10-19
  • 最后登录2012-03-08
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望51点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-07-01 14:58
提升以后不需要将下来吧?
还是需要手动设置将级别降下来?
感谢!
恒坚电器([url]http://www.hejoin.com[/url])
pjf
pjf
驱动中牛
驱动中牛
  • 注册日期2001-07-08
  • 最后登录2006-10-23
  • 粉丝0
  • 关注0
  • 积分42分
  • 威望4点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-07-01 15:02
当然要降,用KeLowerIrql
越快越好,否则你的系统像死机一样
hejoin
驱动小牛
驱动小牛
  • 注册日期2001-10-19
  • 最后登录2012-03-08
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望51点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-07-01 15:08
是吗?
多谢大侠!
我试试看!
提升可以达到最高级别是多少?
能达到系统控制级别吗?
有人说可以中断实时时钟,有没有这回事?
恒坚电器([url]http://www.hejoin.com[/url])
pjf
pjf
驱动中牛
驱动中牛
  • 注册日期2001-07-08
  • 最后登录2006-10-23
  • 粉丝0
  • 关注0
  • 积分42分
  • 威望4点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2002-07-01 15:13
是吗?
多谢大侠!
我试试看!
提升可以达到最高级别是多少?
能达到系统控制级别吗?
有人说可以中断实时时钟,有没有这回事?

可以,最大为31,不过不是说了不要这么高么。
hejoin
驱动小牛
驱动小牛
  • 注册日期2001-10-19
  • 最后登录2012-03-08
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望51点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2002-07-01 15:19
非常感谢
以后又问题还望不吝指教!
恒坚电器([url]http://www.hejoin.com[/url])
pjf
pjf
驱动中牛
驱动中牛
  • 注册日期2001-07-08
  • 最后登录2006-10-23
  • 粉丝0
  • 关注0
  • 积分42分
  • 威望4点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2002-07-01 15:25
by the way,
提升后你不能访问分页内存,若提的比DISPATCH_LEVEL更高很多服务函数都不能用了。
游客

返回顶部