![我应该什么时候创建设备驱动程序?](https://linux22.com/image/222470/%E6%88%91%E5%BA%94%E8%AF%A5%E4%BB%80%E4%B9%88%E6%97%B6%E5%80%99%E5%88%9B%E5%BB%BA%E8%AE%BE%E5%A4%87%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%EF%BC%9F.png)
我正在使用一个嵌入式系统,该系统有很多由人们编写的代码,通常比我更有专业知识。
部分嵌入式系统内核具有基于I2C和V4L的自定义设备驱动程序,该驱动程序被系统中运行的一些应用程序使用。
我想(可能是错的?)所有这些应用程序都可以在没有自定义驱动程序的情况下编写和工作,而不会丢失重要的抽象。此外,与其相关的硬件不会经常更改,因此与它增加到系统中的工作复杂性相比,硬件更改时的代码可重用性并不是一个很大的优势。
看完后这个视频(你猜对了:我是嵌入式设备驱动程序的新手)我在编写设备驱动程序时可以看到的唯一其他优点是将一些功能导出到用户空间,这在这个项目中并不是很大的需要。
因此,就我而言,编写设备驱动程序的优点是:
- 将功能导出到用户空间
- 消除频繁的硬件变更
- 使用框架标准化节点创建和设备类
这些对我来说似乎都不重要。在没有驱动程序的情况下重写系统/应用程序时我会犯错误吗?我在这里错过了什么吗?我也会考虑执行中的表现,但是有那么好吗?