工业内窥镜设备驱动程序是操作系统内核和设备硬件之间的接口。内窥镜设备驱动程序为应用程序屏蔽了硬件细节,使得在应用程序看来,硬件设备只是一个设备文件,应用程序可以像普通文件一样操作硬件设备。北京德朗的微内核嵌入式操作系统,设备驱动一般由内核外的应用程序实现。然而,由于不区分系统空间和用户空间,这些设备驱动程序总是在系统状态下执行。 从实现的角度来看,设备驱动程序的实现可以分为两种:轮询(Polling)方式和中断方式。轮询是简单的设备驱动程序。在这种模式下,设备的操作完全由MPU掌握,外部设备完全被动。当MPU要在外部设备上执行操作时、但是MPU在设备暂时没有准备好的情况下有两个对策:一种是睡一段时间(或者先干点别的)以后再试;另一种是坚持不懈的探索,直到完成叫连续轮换(Spin)显然,在实时系统中,如果采用轮询设备驱动程序,系统的实时性能会受到影响。 中断是工业内窥镜嵌入式系统中主要使用的设备驱动方式。工业内窥镜设备驱动程序的开发大致可以分为以下5个步骤: (1)将访问设备时所需的相关数据信息封装到适当的数据结构中,以便于管理; (2)定义一组跟踪硬件和设备驱动程序当前状态的变量这些变量的定义应该与***步中给出的数据结构相对应; (3)编写设备的初始化函数; (4)为用户的相关操作编写接口函数,仔细合理的定义接口函数的形参和返回值,重要的用户操作程序是读和写; (5)写中断服务程序。在决定ISR做什么之前,需要对整个设备驱动方案有一个全局的把握和深入的分析。