硬件驱动中platform机制及其设备树
发布时间
阅读量:
阅读量
在日常开发中,通常采用字符设备框架来实现基础的IO读写驱动程序。然而,当面对结构复杂的总线设备时,仅依靠字符设备框架已难以满足需求,其复用性也难以保障,这与Linux系统的设计理念相悖。例如,在SPI总线连接多个设备的情况下,这些设备的驱动开发需要引入驱动分离的概念,为此Linux内核专门提供了platform机制。
一、驱动分离思想:Linux内核中的分离设计
1、描述
在进行LED点亮实验时所编写的驱动程序,究竟是属于IO驱动还是LED专用驱动?目前来看,两者往往被合并为一个IO_LED驱动。当需要使用按键设备时,则会生成IO_KEY驱动;而若涉及蜂鸣器,则会出现IO_BUZZER驱动。每当新增一个外设设备,就会相应地产生一个新的IO_XXX驱动。这些IO_XXX类型的驱动中,与IO操作相关的代码部分基本一致。为了提升代码的简洁性与可维护性,可以将通用的IO操作部分独立出来,并编写为一个单独的IO驱动模块。这样一来,各个具体设备的驱动程序只需关注自身特有的功能逻辑,并通过调用IO驱动提供的接口即可完成相关操作。

Linux系统的一个显著优势在于其便捷的移植性。当需要在其他硬件平台
全部评论 (0)
还没有任何评论哟~
