虽然我们想在文件系统中创建一个设备文件,我们现在应该选择哪一个?在udev中创建一个节点,该节点将显示在/ dev中或使用将显示在/ sys中的sysfs。
我认为我可以通过这两种不同的方式完成设备的大部分功能。所以它让我很困惑。
感谢。
答案 0 :(得分:0)
使用udev
(和/或定义并发布一些主要和次要设备号码,例如mknod
)。见makedev(3)
应用程序希望访问/dev/
中的物理设备(不在/sys/
中)。来往/来自设备的数据通常通过/dev/
字符或块设备。元数据和配置可以通过sysfs
详细了解udev和sysfs。另请参阅device file wikipage。
如果你不能更具体地解释你的问题,你会得到非常有用的答案......你在想什么类型的设备?很可能已经存在类似的设备......
很早发布(即使在alpha阶段,当它没有完全正常工作时)您的设备驱动程序和软件源代码为free software,最好是GPLv2(Linux内核使用的许可证)。也请kernelnewbies询问。努力工作(可能超过一年),将您的司机纳入官方Linux kernel。
在尝试编写内核驱动程序之前,您应该熟悉Advanced Linux Programming(在应用程序用户空间中)。之后,阅读有关Linux内核驱动程序编程的书籍和资源,并研究最近Linux kernels中现有驱动程序的源代码。