阅读:1594回复:5
各位高手请为小的解惑!!
各位高手请为小的解惑!!
请问 1。ce下访问硬件是必须同过驱动来访问呢(象NT)还是可以直接访问(象DOS) 2。CE的驱动PDD,MDD,ISR,IST各是运行在用户模式下还是核心模式下,我听说好象是用户模式下,那末就是说也可以不要驱动而直接在应用程序访问硬件来满足需求? 3。我在IST中接到触发后去调用CREATEFILE等函数的方式来工作,而不是CREATEFILE等函数中使用IST来完成,可否? 不胜感激涕领!!!!!!!!!!! :( |
|
沙发#
发布于:2003-07-10 14:09
CE的驱动程序是在USER MODE下,对于硬件的访问代码同样可以在应用程序中实现
不太记得你给出的ISR和IST分别对应什么,CE的中断响应部分是放在KERNEL MODE的,通过KERNEL MODE的映射实现对USER MODE驱动的中断处理例程的调用 你的第三个问题没看懂 发EMAIL讨论吧 SUNXINWEI@HOTMAIL.COM |
|
板凳#
发布于:2003-07-10 17:57
那为什麽有很多人说象NT不可以直接操作硬件?
比如: http://expert.csdn.net/Expert/TopicView1.asp?id=2008209 To:sunxinwei: 你好,我们交个朋友吧。 |
|
地板#
发布于: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运行. |
|
|
地下室#
发布于:2003-07-11 10:48
非常感谢 joyfly(palmheart.net)
你在哪?我想请你小喝一杯。 我在西安。 |
|
5楼#
发布于:2003-10-10 17:33
非常感谢 joyfly(palmheart.net) 你在西安?我做wince pxa250,你呢 |
|