Windows CE 5.0:驱动程序---中断

转载 2007年09月14日 17:37:00

Windows CE 5.0:驱动程序---中断

中断

 

发布日期: 11/9/2004 | 更新日期: 11/9/2004

大多数外围设备生成中断,以便从操作系统 (OS) 接收服务。可以使用中断的设备一些示例有 PC 卡、板上计时器、音频输入设备、键盘、触摸屏和指点设备。几乎任何类型的外围设备都可能使用中断作为启动 OS 的服务操作的主要方法。因为这些外围设备可能导致或通知中断,所以它们的设备驱动程序必须处理中断以便服务相应的设备。物理中断 (IRQ) 是硬件线路,设备可以通过它们向微处理器发送中断信号。逻辑中断 (SYSINTR) 是 OAL 指定的 IRQ 的映射。

某些外围设备不向微处理器生成中断。在这种情况下,外围设备的控制器处理中断。

中断处理包含两个部分:内核模式中断服务例程 (ISR) 和用户模式中断服务线程 (IST)。在某些 OS 中,ISR 是小而快速的汇编代码片段,但是在 Windows CE 中,内核处理寄存器的保存和还原,所以可以将 ISR 实现为小而快速的 C 代码。

ISR 必须完成服务中断所需的最少工作。为此,它按照显示的顺序执行该过程:

1.

如果数据可能丢失或者被下一个中断改写,则 ISR 将数据从设备读取到缓冲区中。

2.

ISR 清除该设备上的中断条件。

3.

ISR 向内核返回一个 SYSINTR。

4.

内核设置供 IST 等待的中断事件。

5.

调度程序调度等待的 IST 以执行任何必须发生以完整处理该中断的可能冗长的操作。

设备驱动程序在加载时必须执行下列操作:

注册它的 ISR。

驱动程序必须向内核注册它的 ISR,除非该驱动程序依赖常见的 OAL ISR 函数来处理它的中断。驱动程序必须向内核注册它的 ISR,以便内核在适当的物理中断发生时调用 ISR。

在 OAL 的 OEMInit 函数中生成从 IRQ 到 SYSINTR 的映射。

- 或者 -

加载该驱动程序的总线驱动程序必须生成从 IRQ 到 SYSINTR 的映射(对于 PCI 总线驱动程序而言就是如此)。

如果该驱动程序不安装 ISR,则该设备生成的任何中断都由默认 ISR(它由 OAL 在 OEMInit 中安装)处理。

以下列表显示了驱动程序安装 ISR 和等待中断事件的一种方式:

1.

驱动程序调用 LoadIntChainHandler 以安装 ISR。

2.

默认 ISR(由 OAL 安装)首先执行以响应中断。

3.

OAL 调用 NKCallIntChain 以执行该驱动程序安装的 ISR。

4.

驱动程序产生一个 IST,它会注册以接收中断事件通知。该 IST 在使用 hEvent 参数之前必须调用 InterruptInitialize,这会在 idInt 参数和 ISR 返回的 SYSINTR 值之间提供链接。

没有导出流接口的内置设备驱动程序必须在初始化期间找到方便的时间以注册它们的 ISR 并产生 IST。

5.

驱动程序调用 WaitForSingleObject 函数以等待 ISR 生成的中断事件。

公开流接口的驱动程序通常在它们的 XXX_Init (Device Manager) 函数中执行这些活动,该函数由 Device Manager 调用。

另请参阅

Interrupt Handling Process Overview | Interrupt Notifications | Shared Interrupts | Nested Interrupts | Interrupt Masking | Interrupt Handler Registration | Interrupt Processing Sequence | Interrupt Handler Deregistration | Real-Time Priority System | Scheduling

 

windows CE5.0模拟器 可在PC上运行的WINDOWS CE5.0下载(转载)

蚁言送给新手朋友.免安装绿色版,最好用的分辨率可调CE5.0模拟器  码字很劳累,转贴请注明作者ZH1H2H3或蚁言并保持帖子的完整.  先看几个吧,别的分辨率的就不上图了 看到网上朋友谈论在PC...
  • cruelchen
  • cruelchen
  • 2013年07月12日 10:50
  • 1220

WinCE 5.0 WIFI 无线网卡的配置和建立连接

在 Windows CE 下自带有无线网卡的配置和连接程序,可是我的系统剪裁掉了资源管理器和任务栏,导致自带的无线网卡配置程序不能再使用了,只好自力更生。 TAG: WiFi  无线网卡   ...
  • u011610939
  • u011610939
  • 2013年08月06日 21:17
  • 1580

WINCE5.0 6.0开发环境配置与SDK下载 .

WinCE5.0 模拟器配置与SDK下载       WinCE5.0中文模拟器SDK的安装过程不细说了,一路默认即可,下面主要介绍如何配置,使其能在VS2005中正常使用。      安装完成后...
  • ywhfdl
  • ywhfdl
  • 2013年01月27日 12:39
  • 16818

如何在 Windows CE 5.0 中开发和测试设备驱动程序

发布日期 : 2005-3-31 | 更新日期 : 2005-3-31 Mike Hall Microsoft 适用于: Microsoft Windows CE version 5.0 摘...
  • xuyuefei1988
  • xuyuefei1988
  • 2012年03月27日 09:15
  • 438

Windows CE操作系统的触摸屏驱动程序模型

欢迎加入Wince技术讨论群QQ#326444254 本文介绍了Windows CE操作系统的触摸屏驱动程序模型,详细阐述嵌入式系统中电阻式触摸屏的Windows CE驱动程序的设计和实现方法。 ...
  • u011610939
  • u011610939
  • 2013年08月12日 19:35
  • 767

Windows CE下驱动程序开发基础

我想即使读者看过微软的关于驱动开发的培训教材和CE帮助文档中的驱动部分,头脑中仍然一片茫然。要想真正了解驱动程序必须结合一些驱动程序源码,在此我以串口驱动程序(COM16550)中初始化过程为线索简单...
  • SUKHOI27SMK
  • SUKHOI27SMK
  • 2013年02月06日 14:01
  • 409

windows CE下的USB设备驱动程序分析 .

随着USB设备的不断增加,我们这些开发人员也就多了对USB设备进行驱动程序开发的工作。但是对于很多初学者来说,存在以下三个困难:      一是对WinCE的驱动程序结构了解得太少,没办法得心应手的...
  • js_gary
  • js_gary
  • 2012年02月09日 17:21
  • 1351

Windows CE 6.x驱动程序的新特性

原文地址::http://space.itpub.net/16910633/viewspace-504206 好久又没有更新博客了。这次发表一篇古文,当然不是古典文言文,只是已经在我的硬...
  • xqhrs232
  • xqhrs232
  • 2013年11月08日 17:12
  • 629

Windows CE 6.x驱动程序的新特性

作者:xqhrs232 转自:http://blog.csdn.net/xqhrs232/article/details/14524471 原文地址::http://space.itpub.n...
  • whw8007
  • whw8007
  • 2014年01月27日 21:15
  • 457

Windows CE下驱动程序开发基础

作者:SUKHOI27SMK 转自:http://blog.csdn.net/sukhoi27smk/article/details/8573885 我想即使读者看过微软的关于驱动开发的培训教材和...
  • whw8007
  • whw8007
  • 2014年01月13日 08:41
  • 365
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Windows CE 5.0:驱动程序---中断
举报原因:
原因补充:

(最多只允许输入30个字)