0
我對Linux內核和GPIO有一些疑問。我知道,在Linux的一切文件,所以當我這樣做Linux GPIO處理
echo 30 > /sys/class/gpio/export
和
echo 1 > /sys/class/gpio/gpio30/value
到底發生了什麼?我的意思是sysfs如何處理?它是否調用在gpiolib中實現的系統調用?
我對Linux內核和GPIO有一些疑問。我知道,在Linux的一切文件,所以當我這樣做Linux GPIO處理
echo 30 > /sys/class/gpio/export
和
echo 1 > /sys/class/gpio/gpio30/value
到底發生了什麼?我的意思是sysfs如何處理?它是否調用在gpiolib中實現的系統調用?
的gpiolib寄存器以這種方式的值屬性:
static const DEVICE_ATTR(value, 0644, gpio_value_show, gpio_value_store);
它創建名爲value
的設備屬性,經許可644
;在閱讀它調用gpio_value_show
,上寫調用gpio_value_store
做什麼sysfs的,是read
和write
重定向到sysfs屬性的相應功能。
請參閱此答案,以充分利用sysfs和GPIO:http://stackoverflow.com/questions/19257624/interrupt-handling-and-user-space-notification/19258745#19258745 –