|
прерывания в embedded linux, прерывание button -> led |
|
|
|
Oct 16 2017, 13:57
|
Участник

Группа: Участник
Сообщений: 68
Регистрация: 3-06-15
Пользователь №: 86 995

|
Здравствуйте. Есть статья http://derekmolloy.ie/kernel-gpio-programm...ttons-and-leds/пытаюсь повторить (первый пример с кнопкой и ледом) на arm с результатом: # insmod ./gpio.ko GPIO_TEST: Initializing the GPIO_TEST LKM GPIO_TEST: The button state is currently: 1 GPIO_TEST: The button is mapped to IRQ: -6 GPIO_TEST: The interrupt request result is: -22 insmod: can't insert './gpio.ko': Invalid argument система явно не настроена ловить gpio прерывания, но может вкл и выкл led. представляю как можно настроить ножку на прерывание в "голой системе", но как это сделать под linux или что почитать?(google сильно не помог) спасибо.
|
|
|
|
|
 |
Ответов
|
Oct 17 2017, 07:33
|
Знающий
   
Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050

|
Цитата(winniethepooh @ Oct 16 2017, 16:57)  система явно не настроена ловить gpio прерывания, но может вкл и выкл led. представляю как можно настроить ножку на прерывание в "голой системе", но как это сделать под linux или что почитать?(google сильно не помог) попробуйте для начала вместо загрузки этого модуля взять на ручное управление пин, который вы хотите задействовать под кнопку.. по вами приведенной ссылке есть пример через echo NN > export если этой ветки в ядре нет, то ваше ядро не поддерживает функции работы с gpio если ветка есть, но команда возвращает ошибку, то пин занят ядром и вам будет не доступен если команда отработала без ошибок то должен появится gpioNNвнутри смотрите содержимое direction д.б. inтогда при ненажатой кнопке смотрите value, д.б. одно значение, при нажатой будет другое если это не происходит, то вы ошиблись между NN и физическим контактом, или неисправна цепь вашей кнопки
|
|
|
|
|
Oct 17 2017, 08:22
|
Участник

Группа: Участник
Сообщений: 68
Регистрация: 3-06-15
Пользователь №: 86 995

|
Цитата(Jury093 @ Oct 17 2017, 08:33)  попробуйте для начала вместо загрузки этого модуля взять на ручное управление пин, который вы хотите задействовать под кнопку.. по вами приведенной ссылке есть пример через echo NN > export если этой ветки в ядре нет, то ваше ядро не поддерживает функции работы с gpio если ветка есть, но команда возвращает ошибку, то пин занят ядром и вам будет не доступен если команда отработала без ошибок то должен появится gpioNN внутри смотрите содержимое direction д.б. in тогда при ненажатой кнопке смотрите value, д.б. одно значение, при нажатой будет другое если это не происходит, то вы ошиблись между NN и физическим контактом, или неисправна цепь вашей кнопки уже попробовал (управление ледом). и в ручном управлении и в драйвере функции pio_direction_output gpio_set_value gpio_export работают (есть управление ледом) не работает функция request_irq (возвращает отрицательное значение) и функция мапинга прерывания на gpio gpio_to_irq так же не работает. моя проблема думаю в том, что я не знаю где в данных устройства связать нужные gpio, настроить прерывания и связать из нужными gpio. Цитата(aaarrr @ Oct 17 2017, 09:11)  Не такой: gpio_to_irq возвращает -ENXIO (No such device or address). Для этого вывода вообще прерывание предусмотрено? да предусмотрено (int28_0/P5C) - на этот порт мне нужно ловить внешнее прерывание.
Сообщение отредактировал winniethepooh - Oct 17 2017, 08:27
|
|
|
|
|
Oct 17 2017, 08:45
|
Участник

Группа: Участник
Сообщений: 68
Регистрация: 3-06-15
Пользователь №: 86 995

|
Цитата(aaarrr @ Oct 17 2017, 09:37)  Похоже, что в драйверах gpio для вашего процессора просто не реализована поддержка прерываний. как это проверить? если так то выход?
Сообщение отредактировал winniethepooh - Oct 17 2017, 08:46
|
|
|
|
|
Oct 17 2017, 08:54
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(winniethepooh @ Oct 17 2017, 11:45)  как это проверить? Посмотреть исходники драйверов - /drivers/gpio/gpio-секретного-процессора.c Цитата(winniethepooh @ Oct 17 2017, 11:45)  если так то выход? Нагуглить что-то более свежее или дописать самостоятельно.
|
|
|
|
Сообщений в этой теме
winniethepooh прерывания в embedded linux Oct 16 2017, 13:57 x893 обработчик появляется в /proc/interrupts ?
хотя та... Oct 16 2017, 14:05 winniethepooh Цитата(x893 @ Oct 16 2017, 14:05) обработ... Oct 16 2017, 14:13  aaarrr Цитата(winniethepooh @ Oct 16 2017, 17:13... Oct 17 2017, 08:11 x893 Так надо в этом направлении копать.
Более того вс... Oct 16 2017, 14:36     winniethepooh Цитата(aaarrr @ Oct 17 2017, 09:54) Посмо... Oct 17 2017, 09:02    Jury093 Цитата(winniethepooh @ Oct 17 2017, 11:45... Oct 17 2017, 10:38     winniethepooh Цитата(Jury093 @ Oct 17 2017, 10:38) я пр... Oct 17 2017, 11:28      Jury093 Цитата(winniethepooh @ Oct 17 2017, 14:28... Oct 17 2017, 15:05       winniethepooh Цитата(Jury093 @ Oct 17 2017, 15:05) прощ... Oct 17 2017, 16:09        Jury093 Цитата(winniethepooh @ Oct 17 2017, 19:09... Oct 17 2017, 18:20     winniethepooh Спасибо за GPIOLIB Jury093.
Покопаю в этом напра... Oct 17 2017, 12:32 aaarrr Если речь идет об этом продукте, то прерываниями т... Oct 17 2017, 20:28 winniethepooh Цитата(aaarrr @ Oct 17 2017, 21:28) Если ... Oct 18 2017, 06:49 Tarbal Цитата(winniethepooh @ Oct 16 2017, 17:57... Oct 19 2017, 01:59 winniethepooh Цитата(Tarbal @ Oct 19 2017, 01:59) У вас... Oct 19 2017, 09:28  Tarbal Цитата(winniethepooh @ Oct 19 2017, 13:28... Oct 20 2017, 00:31   winniethepooh Цитата(Tarbal @ Oct 20 2017, 00:31) Вполн... Oct 20 2017, 07:06    Tarbal Цитата(winniethepooh @ Oct 20 2017, 11:06... Oct 21 2017, 03:36     winniethepooh Цитата(Tarbal @ Oct 21 2017, 03:36) Где о... Oct 23 2017, 08:41 Tarbal Вы ядро строите на той же системе?
Обычно то где с... Oct 24 2017, 00:18 winniethepooh Цитата(Tarbal @ Oct 24 2017, 00:18) Вы яд... Oct 24 2017, 07:59  Tarbal Цитата(winniethepooh @ Oct 24 2017, 11:59... Oct 25 2017, 01:03   winniethepooh Цитата(Tarbal @ Oct 25 2017, 02:03) Вы мо... Oct 25 2017, 14:22    Tarbal Цитата(winniethepooh @ Oct 25 2017, 18:22... Oct 25 2017, 23:35     winniethepooh Цитата(Tarbal @ Oct 26 2017, 00:35) Тепер... Oct 26 2017, 11:09      Tarbal Цитата(winniethepooh @ Oct 26 2017, 15:09... Oct 26 2017, 12:55    aaarrr Цитата(winniethepooh @ Oct 25 2017, 17:22... Oct 26 2017, 00:13     winniethepooh Цитата(aaarrr @ Oct 26 2017, 01:13) winni... Oct 26 2017, 09:01
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|