Linux设备驱动的软件架构思想
Linux设备驱动的软件架构
Linux设备驱动非常重视软件的可重用和跨平台能力。
最好能把设备端的信息从驱动里面剥离出来,让驱动
以某种标准方法拿到这些平台信息(设备树方式)。
Linux总线,设备和驱动模型,驱动只管驱动,设备
只管设备,总线则负责匹配设备和驱动。驱动以标准
途径拿到板级信息,则驱动可以放之四海而皆准。
将软件进行分层设计是软件工程最基本的一个思想。
Linux设备驱动框架设计中还有分隔的思想。
对主机控制器驱动和外设驱动进行分离。
外设驱动与主机控制器驱动互不相关。外设只是访问
核心层的通用API进行数据传输,主机和外设之间可以
进行任意组合。主机控制器驱动不关心外设,外设驱动
也不关心主机。