Linux Userspace GPIO Прерывает работу с помощью sysfs - PullRequest
4 голосов
/ 04 января 2012

Я хотел бы использовать прерывания с GPIO в пользовательском пространстве, используя sysfs.Я использую эти команды:

[root@at91]:gpio109 > echo 109 > export
[root@at91]:gpio109 > cd gpio109/
[root@at91]:gpio109 > ll
-rw-r--r--    1 root     0            4096 Jan  1 00:17 direction
drwxr-xr-x    2 root     0               0 Jan  1 00:17 power
lrwxrwxrwx    1 root     0               0 Jan  1 00:17 subsystem -> ../../gpio
-rw-r--r--    1 root     0            4096 Jan  1 00:17 uevent
-rw-r--r--    1 root     0            4096 Jan  1 00:17 value

gpio работает хорошо, но я не могу использовать прерывания.Я читаю везде, у меня должен быть пограничный файл для опроса этого файла.Но в моей системе этот файл не существует.Я много раз пытался найти решение, но остался безуспешным.

Моя цель - AT91SAM9263 на ядре Linux 2.6.30.

При загрузке моей платы я получил это сообщение о прерываниях:

AT91: 160 gpio irqs in 5 banks

, которые показывают, что функция at91_gpio_irq_setup() хорошо выполнена.

У вас есть идеи?

1 Ответ

8 голосов
/ 09 января 2012

Файл "edge" существует только в том случае, если этот вывод GPIO можно настроить как вывод генерации прерывания.См .: http://www.mjmwired.net/kernel/Documentation/gpio.txt#634.

Поскольку вы его не видите, это означает, что драйвер и, возможно, оборудование не поддерживают использование этого контакта GPIO для источника прерывания.

...