aetherstone
驱动牛犊
驱动牛犊
  • 注册日期2003-04-17
  • 最后登录2008-07-03
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:1594回复:5

各位高手请为小的解惑!!

楼主#
更多 发布于:2003-07-09 14:19
各位高手请为小的解惑!!
请问
1。ce下访问硬件是必须同过驱动来访问呢(象NT)还是可以直接访问(象DOS)
2。CE的驱动PDD,MDD,ISR,IST各是运行在用户模式下还是核心模式下,我听说好象是用户模式下,那末就是说也可以不要驱动而直接在应用程序访问硬件来满足需求?
3。我在IST中接到触发后去调用CREATEFILE等函数的方式来工作,而不是CREATEFILE等函数中使用IST来完成,可否?

不胜感激涕领!!!!!!!!!!! :(
sunxinwei
驱动牛犊
驱动牛犊
  • 注册日期2003-04-16
  • 最后登录2003-07-18
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-07-10 14:09
CE的驱动程序是在USER MODE下,对于硬件的访问代码同样可以在应用程序中实现

不太记得你给出的ISR和IST分别对应什么,CE的中断响应部分是放在KERNEL MODE的,通过KERNEL MODE的映射实现对USER MODE驱动的中断处理例程的调用


你的第三个问题没看懂

发EMAIL讨论吧 SUNXINWEI@HOTMAIL.COM
aetherstone
驱动牛犊
驱动牛犊
  • 注册日期2003-04-17
  • 最后登录2008-07-03
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-07-10 17:57
那为什麽有很多人说象NT不可以直接操作硬件?
比如:
http://expert.csdn.net/Expert/TopicView1.asp?id=2008209
To:sunxinwei:
 你好,我们交个朋友吧。
joyfly
驱动小牛
驱动小牛
  • 注册日期2002-07-02
  • 最后登录2009-09-17
  • 粉丝0
  • 关注0
  • 积分319分
  • 威望32点
  • 贡献值0点
  • 好评度31点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-07-11 09:44
能不能直接访问硬件取决于程序是运行在KERNEL MODE还是USER MODE.
是不是通过驱动来访问无关紧要,在应用程序你也可以访问硬件,只是不能直接访问.
应用程序和驱动程序都是运行在USER MODE,所以他们要访问硬件的话,得经过一个物理地址到虚拟地址的映射,通常是通过VirtualAlloc/VirtualCopy,或MmMapIoSpace来完成的.

ISR是在KERNEL里,IST在DRIVER里.所以ISR是运行在KERNEL MODE ,IST运行在USER MODE.  PDD,MDD都是DRIVER的一部分,当然也都是USER MODE.

IST是一个在DRIVER里等待的线程,它是通过一个EVENT来和ISR联系起来的.ISR得到中断后,SETEVENT,触发相应的IST运行.
www.cnemb.com
aetherstone
驱动牛犊
驱动牛犊
  • 注册日期2003-04-17
  • 最后登录2008-07-03
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-07-11 10:48
非常感谢 joyfly(palmheart.net)
你在哪?我想请你小喝一杯。
我在西安。
ccrj_006
驱动牛犊
驱动牛犊
  • 注册日期2003-08-20
  • 最后登录2003-10-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-10-10 17:33
非常感谢 joyfly(palmheart.net)
你在哪?我想请你小喝一杯。
我在西安。


你在西安?我做wince pxa250,你呢
游客

返回顶部