我尝试使用GPIO与BeagleBoard XM接口16x2 LCD。我通过使用shell脚本来完成此操作,并且效果很好。现在,我想通过编写内核模块来实现相同的功能。我对内核编程有所了解,因为我处于学习阶段。需要一些指导。预先感谢!
编写内核模块与外壳脚本不同。您必须在C 中编写自己的代码,并声明内核模式,然后对其进行编译。我找到了一个例子,但没有时间检查它,所以我将其留给您。这是编写内核模块的一个示例,这是一个接口16x02 lcd的教程。
如果您有脚本,则可以像Linux中的模块一样加载它,
在/etc/rcs.d文件夹中,您会找到很多脚本,例如 s13 -Some_name。 SH 。这些脚本将在启动时由内核自动运行。因此,您可以在此处添加SCIPT,以使其成为模块
所以要做的一件事是找到这些脚本列表中使用的最后一个数字,并通过将下一个数字准备到列表中的最后一个数字
中的最后一个数字 中的最后一个数字例如:如果>/etc/rcs.d 是 s53logger.sh
将您的scipt重命名为 s54-name-.sh (不要忘记通过chmod x ))
如果不存在/etc/rcs.d,可能会有一个文件 rc.local 文件,您只需将驱动程序脚本添加到