2016-07-20 4 views
0

Я использую iMX53qsb с Yocto и хочу запустить некоторый скрипт нажатием кнопки. Теперь я включил прерывание на кнопке пользователя (как gpio), но я не могу себе представить, как с этим справиться.Назначить скрипт для прерывания gpio в Yocto

Может ли кто-нибудь указать мне, как справиться с этим прерыванием или где я могу больше узнать об этом?

Кнопка Volume_up (GPIO_2_14), установленная как gpio, и событие прерывания - это фронт падения; в кошки/Proc/прерывает я вижу следующее:

174: 0 - gpiolib 

и второй столбец рассчитывает на каждое нажатие.

+0

Добро пожаловать в переполнение стека :-) Пожалуйста, посмотрите [ask] и как создать [mcve]. Это поможет получить полезные ответы. – JimHawkins

+0

ty, @JimHawkins, я прочитал это :) –

ответ

0

Это был длинный и трудный путь .. и теперь он работает. Наконец, GPIO обрабатывается sysfs, а не модулем ядра (причина в том, что сценарии пользовательского пространства нельзя вызывать из пространства ядра).

В моем случае шаг последовательности выглядит следующим образом:

  1. Редактирование описания аппаратных средств файл, чтобы включить кнопку булавку как GPIO (арка/руки/маш-MX5/mx53_loco.c, по умолчанию определяется как кнопка) ;
  2. Настройка GPIO через sysfs (желание экспорта GPIO-контакт, заданное направление, заданное значение);
  3. Написание программы, в которой опросы желают GPIO by poll();
  4. Выполнение программы опроса начинается при запуске системы в фоновом режиме.