我的知识水平
嗨,我是 Linux 新手,一直在尽我所能阅读 Linux 设备模型和文件系统。对不起,如果我没有词汇来询问/谷歌我在寻找什么(我来自 PCB 设计师背景)。我在这里感觉有点过头了。
我读过的一些文档:
- http://www.tldp.org/LDP/lkmpg/2.6/html/lkmpg.html(这里只讲/dev)
- https://www.kernel.org/doc/Documentation/sysfs-rules.txt(这种无政府状态让我很难过)
问题
我正在寻找为我的各种 PCB 轨电压监视器实现驱动程序。ADC 值将由 MCU 读取,该 MCU 将通过 SPI 与我的主处理器通信。这个 MCU 还进行 GPIO 控制,我已经为此编写了一个工作 /sys/class/GPIO 驱动程序,但老实说我并不完全理解。
所以我在考虑 ADC 方面,我也应该在 /sys 下的某个地方,但我不确定在哪里。/设备?/班级?
我的理解是我可以但不应该在 /dev 或 /proc 中构建,因为它们更多地用于驱动器和 CPU 之类的东西。
我正在考虑的一个选项是制作一个自定义类。也许 /sys/class/boardvoltage?但我认为这一定是开发人员制作的通用驱动板,并且已经有一个具有适当属性的类。
奖金问题
更广泛地说,驱动程序开发人员应该如何知道每个类的用途?一个人如何学习访问每种类型的课程的各种方式?例如,当 /dev 驱动程序读取和写入时,GPIO 会被“cat”或“echo”。我将如何学习如何运行 /sys/class/leds 之类的东西?