Embedded 在什么条件下/sys/kernel/debug/gpio将为空? 总结
我的目标是在英特尔主板(配备C1037U处理器的NM70芯片组)上控制Peppermint 4 Linux(内核版本3.8.0)中的GPIO引脚 我正在调试我在使用sysfs接口时遇到的问题,并试图了解/sys/kernel/debug/gpio为空的条件 尝试通过导出引脚0到255时Embedded 在什么条件下/sys/kernel/debug/gpio将为空? 总结,embedded,embedded-linux,gpio,sysfs,Embedded,Embedded Linux,Gpio,Sysfs,我的目标是在英特尔主板(配备C1037U处理器的NM70芯片组)上控制Peppermint 4 Linux(内核版本3.8.0)中的GPIO引脚 我正在调试我在使用sysfs接口时遇到的问题,并试图了解/sys/kernel/debug/gpio为空的条件 尝试通过导出引脚0到255时 echo XX>/sys/class/gpio/export 对于从0到255的XX,我得到以下错误消息 echo:写入错误:没有此类设备 在什么条件下/sys/kernel/debug/gpio将为空 背景
echo XX>/sys/class/gpio/export
对于从0到255的XX,我得到以下错误消息
echo:写入错误:没有此类设备
在什么条件下/sys/kernel/debug/gpio将为空
背景
- 主板:配备NM70芯片组的英特尔
- 处理器:C1037U处理器
- 操作系统:Peppermint 4 Linux
- 内核版本:3.8.0
- GPIO接口:sysfs
echo XX>/sys/class/gpio/export
对于从0到255的XX,我得到以下错误消息
echo:写入错误:没有此类设备
尝试导出0到255范围以外的管脚时
echo XX>/sys/class/gpio/export
我收到以下错误消息
echo:写入错误:参数无效
本教程建议这可能是因为GPIO端口是为另一个程序保留的,如果是这样,调试文件(/sys/kernel/debug/GPIO)将能够显示它们的保留位置
但是,/sys/kernel/debug/gpio为空
我可以看到和控制BIOS中的GPIO引脚(将引脚更改为输入或输出高/低)
相关问题
如果没有注册gpio设备,则/sys/kernel/debug/gpio将为空(警告:当我说gpio设备时,我指的不是硬件,而是它的内核表示形式) 因此,这些GPIO设备在运行时由内核注册,并与特定的GPIO设备驱动程序相关联 反过来,GPIO设备驱动程序被选择并与给定设备关联,因为它是声明与所述GPIO设备兼容的驱动程序 例如,内核将匹配PCI供应商和产品ID,并探测声称支持该PCI供应商/产品的GPIO驱动程序。当探测GPIO驱动程序时,它通常会注册GPIO设备实例 最后,注册的GPIO设备是提供GPIO的设备,如/sys/kernel/debug/GPIO所示 以上是Linux中所谓的“设备驱动程序模型”的一部分。虽然有点过时,但你可以阅读[1] 现在,让我们看看您需要为NM70芯片组选择什么GPIO驱动程序。维基百科说芯片组的代号是“豹点M”[2]。幸运的是,lpc_ich驱动程序可以支持它。您必须使用CONFIG_LPC_ICH=y构建内核 或者,如果您的GPIO是由PCI设备提供的,您可以使用lspci获取ID,然后在内核源中为这些ID提供grep [1]
[2] 我对x86 Linux不太确定。然而,/sys/kernel/debug/gpio是空的,这可能意味着Linux认为您没有gpio。您的内核必须在硬件上支持GPIO。您将如何检查您的内核是否在硬件上支持GPIO?(新问题开始于)