Linux中LonWorks现场总线设备驱动设计

http://tech.ddvip.com   2007年03月12日    社区交流

本文详细介绍Linux中LonWorks现场总线设备驱动设计

  (3) Linux设备驱动程序组成部分

  Linux设备驱动程序可以分为三个主要组成部分:

  ●自动配置和初始化子程序。负责检测所要驱动的硬件设备是否存在和是否能正常工作。如果该设备正常,则对这个设备及其相关的、设备驱动程序需要的软硬件进行初始化。

  ●服务于I/O请求的子程序。它们主要是对file_operations结构的各个入口点的实现。这部分的实现支持了文件系统的调用(如open,close,read等等)。

  ●中断服务子程序。在Linux系统中,并不是直接从中断向量表中调用设备驱动程序的中断服务子程序,而是由Linux系统来接收硬件中断,再由系统来调用中断服务子程序。

  但是,这三个部分不是必须在每个驱动程序中必须具有的。

  3.3 LonWorks现场总线网卡驱动程序

  研究了Linux的设备管理以及设备驱动程序实现方法后,我们来设计LonWorks现场总线设备驱动程序,并对实现中的一些关键问题进行探讨。

  (1) LonWorks现场总线网卡驱动程序

  在驱动程序设计和开发中,我们一定要注意的问题是机制(Mechanism)与策略(Policy)的分离。这里所谓的机制是指我们的驱动程序提供的接口应该很忠实地反映设备的原始功能(bare function),而与应用无关。而策略是指一旦这个设备驱动程序为设备机制提供了相应的软件接口,那么应用程序开发人员就能按照特定的方式使用机制接口。可以说,在内核驱动程序开发过程中,所设计的数据结构,以及确定的接口命令都是为以后的应用策略提供的一种机制。而如前所述,这种机制在Unix类系统内部是通过一组固定的入口点来提供的。由于我们要开发的设备驱动程序是一个字符型的设备,所以接下来我们首先分析字符型设备驱动程序中常用的入口点:

  ● open入口点

作者:刘 广 石婷婷    责编:豆豆技术应用

正在加载评论...