我在哪里可以学习编写设备驱动程序

Rol*_*vek 8 drivers

我不知道如何写这个更简单。我有几本关于 Linux 设备驱动程序的书,但我需要一些帮助才能开始。

Zuu*_*uul 6

既然您是在 askubuntu 上询问的,我就假设您打算为 Linux 内核进行开发。您没有具体提及任何内容,因此这里有一些提示:

概念:

设备驱动程序是控制连接到计算机的特定类型设备的程序。

这意味着设备驱动程序充当硬件设备和使用它的应用程序或操作系统之间的转换器。


要求:

为了开发 Linux 设备驱动程序,有必要了解以下内容:

  • C 编程。需要一些深入的 C 编程知识,如指针使用、位操作函数等。

  • 微处理器编程。有必要了解微型计算机的内部工作方式:内存寻址、中断等。所有这些概念对于汇编程序员来说都应该是熟悉的。

  • 最后但并非最不重要的一点是,Linux 内核是您将要做的一切之间的桥梁。


资源、链接和帮助:


实际例子:

一步一步的操作方法,目标是制作一个简单的 USB 灯设备及其适用于 Linux 的驱动程序:

编写一个简单的 USB 驱动程序 | Linux 杂志

给你的 Linux 机器一个你可以从房间对面看到的彩色灯光,并学习如何为你想要连接的下一个硬件编写一个简单的驱动程序。