针对复杂多变的设备,linux中通过设备树模块完成设备的统一管理和加载。这样针对同种或者类似的芯片只需要做简单的设备树文件配置修改,不需要对驱动加载和工作代码做修改或者极少部分修改就可以完成某种设备的加载工作。之前在公司中开发的一款芯片就是这种形式,在芯片开发前期已经很有远见的开发了一套完整的驱动流程和配置Excel配置文件模板,在新的类似芯片出现以后或者不同需求的PCB单板出现以后,只需要针对性的出对应的配置文件以后,对应的芯片和PCB单板就可以很快的加载工作起来,而不需要做太多复杂的代码修改,极大的简化了开发工作,提高了商品推向市场的时间。
linux设备树除了奇小葩的博客之外,韦东山针对性的《设备树》教程也是非常不错的教程。