首页 > 代码库 > bsp开发之驱动开发
bsp开发之驱动开发
驱动程序是能够管理虚拟设备或者物理设备,协议,服务等得软件模块,操作系统只有通过驱动程序才能访问硬件。针对windows ce开发设备驱动,就是通过platform builder创建一个新的平台,然后根据硬件平台的需要插入或者移除驱动,需要修改的文件有platform.bib,platform.reg。
按加载方式和接口分类,基于windows ce的驱动程序可以分为一下三类:
(1) 本机驱动程序
它是微软开发并由系统直接支持,适用于集成到ce平台的设备。
(2) 流接口驱动程序
流接口驱动程序又称为可安装驱动(Installable Drivers)。它具有较好的可移植性和可扩展性,由设备管理器独立出来管理和统筹。流接口驱动程序我们会在之后的博客中再做介绍。
(3) 混合型驱动程序
同时又定制式和流驱动两套程序接口,但是和系统交互只使用流式驱动接口。
谈到驱动,我们不得不提一下中断。
与其他计算机结构一样,当设备需要驱动程序的服务时,基于windows ce.ney的平台要使用中断通知操作系统。Windows ce.net 把中断处理分为两部分:中断服务例行程序(ISR)和中断服务线程(IST)。
(1) ISR
ISR的主要功能就是将一个物理中断映射为一个逻辑中断值。当ISR通知内核一个特定的逻辑中断值时,内核检查内核中断表,将这个逻辑中断映射为一个事件句柄。一个事件就是一个标准的win32同步对象,当一些特定的事件发生时,它作为一个警报时钟唤醒一个线程。这时,内核通过调用win32函数PulseEvent来唤醒特定的正在等待该事件的IST,由IST完成具体的中断处理工作。
(2) IST
在windows ce的中断机制中,有ist具体处理中断的事务性工作。当内接到ISR传来的中断标识后,发出一个中断事件,激活一个处于该事件等待状态的一个IST,一段时间后,调度器将调度这个线程工作,处理中断的事物。
bsp开发之驱动开发