- 1、本文档共62页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CE驱动程序 所有驱动皆为动态链接库 驱动实现中可以调用所有标准的API CE驱动程序模型 本机驱动程序 流接口驱动程序 本机驱动程序 用于低级、内置设备 提供一组定制的接口 可通过移植、定制微软提供的驱动样例来实现 流接口驱动程序 基本的设备驱动类型 实现一组固定的流接口函数 所有的CE设备皆可使用此模型实现 GWES加载驱动 Keyboard Mouse Touch Screen Display Battery Notification LED 设备管理器加载的驱动 本地驱动:PCMCIA Host Controller USB Host Controller driver NDIS.DLL 流接口驱动:Audio driver Serial port driver Parallel port driver Port Monitor 需要时加载驱动 PC Card Client drivers USB Client drivers NDIS Miniport drivers 中断处理 内核模式的中断服务例程(ISR) 短小的汇编语言代码 返回中断号给内核 用户模式的中断服务线程(ISP) 接收中断通知,并进行中断的处理 Registering an Interrupt Handler After a device driver is loaded, the driver creates an IST and registers it with the interrupt handler IST is registered for one or more logical interrupts.(InterruptInitialize) Microsoft’s the MDD layer registers the driver for interrupts Deregistering an Interrupt Handler 调用 InterruptDisable 来删除IST和逻辑中断的连接 调用 OEMInterruptDisable 关闭中断 Processing an Interrupt 中断发生时.内核跳至异常处理程序 异常处理程序使所有中断无效.然后调用合适的中断服务例行程序准备物理中断经 中断服务例行程序以中断标识符的形式返回逻辑中断。 中断处理程序重新启动除当前中断以外的所有中断,并把信号传递给适当的中断服务线程。 中断服务线程调用依赖平台的驱动程序来访问硬件和完成逻辑中断的处理。 中断服务线程调用InterruntDone函数。 中断处理程序重新启动当前中断.并在OAL中调用OEMIntemptDone函数。 中断处理 本机驱动程序 单片驱动程序 直接将硬件设备的功能传递给操作系统 分层驱动程序 模型设备驱动程序(MDD) 依赖平台的设备驱动程序(PDD) 嵌套的中断 256个优先级,0最高,以前的8个优先级映射为248-255 高优先级的ISR和IST可以中断低优先级的ISR和IST 四个范围 0-96:高优先级实时任务 97-152:缺省的CE驱动 153-247:比普通的用户级任务高的任务 248-255:非实时的用户应用 驱动程序的安装 连接CE设备 把驱动DLL拷贝到\Windows目录】 设置注册表键值 本地驱动程序模型 MDD执行任务 链接PDD层并定义它希望调用的函数 把不同的函数集提供给操作系统 处理像中断处理这样的复杂任务 与GWES模块和内核通信 MDD特点 提供标准的设备驱动程序接口 一般不需改变 PDD 不象MDD层.依赖平台的驱动程序(PDD)层与MDD和硬件都有接口,这就意味着 必须适合目标平台的需要。一个PDD由针对具体硬件的函数组成.而这些函数与一个MDD 相对应、但这种对应不是直接的—一对应。MDD函数实现独立的任务,而MDD则通过 使用这些任务来实现其目标。因为PDD是硬件相关的,因此必须生成一个设置好的PDD 并输出到平台硬件、微软为各种各样的内部设备提供了几个样本PDD层 本机驱动程序实例 保存位置 Platform\ODO\Drivers和 Platform\ODO\GWE 例子 .样本电池驱动程序 .样本显示器驱动程序 .样本键盘驱动程序 .样本示警发光二极管驱动程序 .样本PC卡插槽驱动程序 .样本串行口驱动程序 .样本触摸屏驱动程序 .样本USB Host COntroller驱动程序 电池驱动程序例子 功能:提供一些关于平台电池的电力水平的信息。电池驱动程序报告主电池的状态并备份电池的状态。 是单片驱动程序 DDI函数 BatteryDrvGetLevels Batt
文档评论(0)