之前在对linux各子驱动系统的专栏分析中,已经实现了虚拟的外设驱动实现,可帮助想学习设备驱动且没有开发板的童鞋提供学习环境,目前此处实现的虚拟外设驱动均可在ubuntu16.04/ubuntu18.04上运行验证,本篇文章主要将这些虚拟外设驱动的实现整合在一起,方便查阅。
目前已完成了linux下i2c子系统、spi子系统、tty子系统、uart子系统、input子系统、hwmon子系统、gpio子系统、pwm子系统、led子系统、pinctrl子系统中虚拟设备的开发,可以帮助想要学习linux各子模块且没有开发板的童鞋熟悉各子系统的驱动开发流程。虚拟驱动代码均已上传至gitee上,读者可从下面的文章链接内看到对应的gitee路径。
Linux虚拟i2c控制器实现---适用于无开发板学习i2c driver
Linux虚拟spi控制器实现---适用于无开发板学习spi driver
linux虚拟串口控制器实现---适用于无开发板学习tty driver
linux虚拟串口控制器驱动开发及代码实现(uart driver)
Linux input子系统分析之五 从一个虚拟input device驱动掌握input device驱动开发
Linux hwmon子系统分析之二 hwmon driver开发实践
Linux hwmon 子系统分析之三 新版本hwmon子系统说明
Linux gpio 子系统分析之三 虚拟gpio控制器驱动实现
Linux led子系统分析之三 led设备驱动与ledtrigger驱动实现
Linux pinctrl子系统分析之七---一个虚拟pinctrl dev驱动开发实例
以上即为目前已实现的虚拟外设驱动的内容,后续也会不定期更新。