如何用c语言编写设备驱动程序

我想在linux操作系统中用C语言编写驱动程序,尽pipe我觉得它非常困难。 我可以得到一些关于如何启动或书籍遵循的提示吗? 驱动程序可以从我的USB端口到显卡!

我知道在哪里可以找书,我想知道我应该从哪里开始。 我是否需要具备硬件知识,以及哪些特定的书籍适合像我这样的新手