WindowCE驱动程序.ppt

上传人:小飞机 文档编号:6523693 上传时间:2023-11-08 格式:PPT 页数:22 大小:303.50KB
返回 下载 相关 举报
WindowCE驱动程序.ppt_第1页
第1页 / 共22页
WindowCE驱动程序.ppt_第2页
第2页 / 共22页
WindowCE驱动程序.ppt_第3页
第3页 / 共22页
WindowCE驱动程序.ppt_第4页
第4页 / 共22页
WindowCE驱动程序.ppt_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《WindowCE驱动程序.ppt》由会员分享,可在线阅读,更多相关《WindowCE驱动程序.ppt(22页珍藏版)》请在三一办公上搜索。

1、Windows CE驱动程序,Windows CE驱动程序,Windows CE驱动程序模型Windows CE驱动程序的宿主程序Windows CE驱动程序的类型Windows CE驱动程序的分类示例驱动程序的代码,Windows CE驱动程序模型,桌面Windows驱动程序模型 操作系统在启动后对硬件进行延迟加载,但依然把驱动程序加载到操作系统的内核空间中。驱动程序工作在系统的地址空间内,实现了驱动的动态加载。桌面Windows驱动程序最早采用VxD(已废弃),从Windows 2000开始采用WDM(Windows Driver Model)模型,驱动程序调用DDK;Vista以及以后的

2、版本采用WDF(Windows Driver Founation)是对WDM的建模与封装,但隐藏了更多的细节,但降低了开发难度。,Windows CE驱动程序模型,桌面Windows驱动程序模型 操作系统在启动后对硬件进行延迟加载,但依然把驱动程序加载到操作系统的内核空间中。驱动程序工作在系统的地址空间内,实现了驱动的动态加载。桌面Windows驱动程序最早采用VxD(已废弃),从Windows 2000开始采用WDM(Windows Driver Model)模型,驱动程序调用DDK;Vista以及以后的版本采用WDF(Windows Driver Founation)是对WDM的建模与封装

3、,但隐藏了更多的细节,但降低了开发难度。,Windows CE驱动程序模型,什么是设备驱动程序 设备驱动程序是与硬件设备进行信息交互的系统程序,应用程序通过操作系统提供的驱动程序与硬件设备交互,但应用程序与硬件设备无关。对于每一款硬件设备,都有其对应的设备驱动程序。设备驱动程序是操作系统与硬件交互手段,是连接硬件与操作系统之间的桥梁。驱动程序与硬件的标准化接口由操作系统定义。应用程序将设备当作文件进行访问,通过系统调用与硬件交互。,Windows CE驱动程序模型,何时编写设备驱动程序?操作系统没有内置支持的硬件。扩展已有的驱动能力。提供软件层面的服务。,编写驱动程序的要素 要了解驱动程序针对

4、的硬件工作特性。了解目标操作系统下驱动的工作机制。了解驱动程序的模型。,Windows CE驱动程序模型,设备驱动程序控制硬件(通过端口操作),对于某些硬件是不需要驱动的 CPU内存储器,WinCE驱动分类本地设备驱动 流接口设备驱动 可通过WinCE提供的内建驱动源代码(如触摸屏驱动、显示驱动、鼠标及键盘驱动等)来学习与开发驱动程序。,Windows CE驱动程序模型,Windows CE驱动程序模型在Windows CE下,所有的驱动程序都以用户态下的DLL文件形式存在。编写Windows CE驱动程序用到的方法及工具与编写其他任何一个普通的DLL一样。Windows CE驱动开发可以使用

5、Platform Builder或者Visual Studio2005以上版本开发。对于WinCE6.0,Platform Builder最为一个插件被集成到VS2005中,VS2005可以进行系统定制开发以及应用程序开发。与所有的Win32 DLL一样,Windows CE驱动程序DLL中的代码被一些进程动态加载到地址空间,运行在用户态下。,Windows CE驱动程序模型,Windows CE驱动程序作为用户态的DLL来实现的优点:给操作系统和驱动程序带来了很大的灵活性。操作系统可在运行时动态地加载所需要的驱动程序,可轻松实现外设的即插即用(Plug&Play)。驱动程序放在用户态而不是核

6、心态来实现,也增强了系统的稳定性。驱动程序的崩溃不会影响到操作系统内核。驱动程序放在用户态下可给驱动开发人员提供便利。,Windows CE驱动程序的宿主,如果要运行DLL中的代码,那么必须先有一个EXE进程,把该DLL加载道自己的地址空间内,然后才可执行DLL中的代码。Windows CE的驱动程序也必须被其他EXE宿主加载Device.exe 又称做设备管理器。负责加载和管理Windows CE下绝大多数的设备驱动程序。GWES.exe负责加载一些与图形界面相关的I/O设备驱动。FileSys.exe在系统中负责管理Windows CE中的对象存储和文件系统。负责加载所有的文件系统驱动程序

7、。,Windows CE驱动程序的类型,Windows CE驱动程序的类型单层驱动程序分层驱动程序,单层驱动程序,单层驱动程序:就是所有的驱动程序包括中断处理、I/O操作及硬件控制等都放在了一起。DDI接口(Device Driver Interface):单层驱动程序提供的接口,是操作系统与驱动程序交互的接口协议。优点:代码不作分层处理,驱动程序的代码相对紧凑。选用单层驱动程序会提高驱动的性能。对于一些较简单的硬件设备驱动程序,使用单层驱动程序模型,可更加清晰明了。,分层驱动程序,分层驱动程序把驱动程序的代码分为两层:模型设备驱动(Model Device Driver,MDD):包含某一类

8、型的驱动程序所通用的代码,MDD层一般以库文件形式存在。平台相关驱动(Plat Dependence Driver,PDD):包含特定的硬件或平台专用的代码。,分层驱动程序,MDD和PDD之间还需要一个接口协议。这样,在分层驱动程序中,就有两类接口函数在操作系统与MDD之间的DDI(Device Driver Interface)MDD和PDD之间的DDSI(Device Driver Service provider Interface)操作系统通过DDI函数访问内建驱动的MDD层。MDD层以库形式存在,向下调用的DDSI函数形式固定,但内容为空,需要PDD层实现。PDD层以代码形式存在,需

9、实现相应的DDSI函数内容。,分层驱动程序,MDD 具有下列特征:包含给定类型的所有驱动程序所共有的代码。调用 PDD 函数以访问硬件。链接到 PDD 层,并且定义MDD 期望在该层中调用的设备驱动程序服务提供程序接口(DDSI)函数。向操作系统(OS)公开设备驱动程序接口(DDI)函数。OS 的其他部分可以调用这些函数。处理中断处理。可供开发人员重用。可以链接到多个 PDD。通常不需要进行更改。如果进行了更改,则在将驱动程序迁移到将来的版本时可能会遇到麻烦。包含任何中断服务线程(IST)。,分层驱动程序,PDD 具有下列特征:由硬件平台特有的代码组成。对于不同的硬件产品或标准,有不同的实现。

10、只能与某一类MDD协同工作。实现MDD所需要的DDSI函数,分层驱动程序,优点驱动程序分层带来了一定的灵活性,使驱动程序的编写更为清晰、简单。驱动程序的移植也会变得相对简单,只需对PDD层的代码进行修改。缺点 分层后,MDD层对PDD层的函数调用会给驱动程序带来额外的性能开销。,Windows CE驱动程序的分类,Windows CE 整体上将设备驱动分为三种:内置驱动总线驱动流接口驱动,内置驱动,硬件所必须的驱动程序,这些驱动程序通常由设计OEM厂商进行设计。如:键盘,触摸屏,音频设备。可能不支持一般的驱动接口,也有可能带有扩展的接口或者完全提供一个用户自定义的接口。内置驱动通常需要针对具体

11、的操作系统进行小幅改动。,总线驱动,管理系统总线如PCI总线等。负责处理总线上硬件的询问,以及资源的分配。同时也请求设备管理器为总线上的硬件安装适当驱动程序。,驱动分类 详细,Audio Drivers Battery Drivers Block Drivers Bluetooth HCI Transport Driver Direct3D Device Driver Interface DirectDraw Display Drivers Display Drivers DVD-Video Renderer IEEE 1394 Drivers Keyboard Drivers Notific

12、ation LED Drivers Parallel Port Drivers PC Card Drivers Printer Drivers Serial Port Drivers Smart Card Drivers Stream Interface Drivers Touch Screen Drivers USB Drivers,参见文档:,示例驱动程序的代码,Platform Builder中自带了大量的驱动程序代码,可以通过阅读这些代码来学习编写驱动程序。大部分驱动程序的代码放在目录%_WINCEROOT%PublicCommonOAKDrivers下,这些驱动程序都是与平台无关的。%_WINCEROOT%Platformsrcdrivers中,这些驱动都是与平台相关的。从Windows CE5.0开始,微软引入了Production-Quality Device Driver的概念。主要是为了提高驱动程序代码的可靠性和稳定性。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号