我对Linux内核和GPIO有一些疑问。我知道在Linux中,当我执行类似
之类的操作时,所有内容都是文件echo 30 > /sys/class/gpio/export
和
echo 1 > /sys/class/gpio/gpio30/value
究竟发生了什么?我的意思是sysfs如何处理它?它是否调用在gpiolib中实现的系统调用?
答案 0 :(得分:0)
gpiolib以这种方式注册value属性:
static const DEVICE_ATTR(value, 0644, gpio_value_show, gpio_value_store);
它创建了一个名为value
的设备属性,其权限为644
;在阅读时调用gpio_value_show
,写入时调用gpio_value_store
sysfs的作用是将read
和write
重定向到sysfs属性的对应函数。