Ошибка сегментации sysfs gpio linux odroid

Я пытаюсь написать скрипт, который выводит на вывод GPIO в течение 1 секунды. Я обнаружил, что лучший способ сделать это - использовать команды GPIO sysfs, но я постоянно получаю "Ошибка сегментации" случайным образом. Это происходит в основном при настройке направления. Это также происходит при запуске в bash-скрипте и через терминал.

sudo echo 227 > /sys/class/gpio/export
sudo chmod 777 /sys/class/gpio/gpio227/*
sudo echo "out" > /sys/class/gpio/gpio227/direction # sometimes segmentation fault
sudo echo "1" > /sys/class/gpio/gpio227/value
# wait a bit
sudo echo "out" > /sys/class/gpio/gpio227/direction # almost always segmentation fault
sudo echo "0" > /sys/class/gpio/gpio227/value 

Я запускаю это на ODROID-XU4 с Ubuntu MATE 1.12.1 и с процессором ARMv7 rev 3 (v7l). Я также работаю без пароля sudo.

Любые предложения о том, почему это происходит и как это предотвратить?

РЕДАКТИРОВАТЬ: Я думал, что я изначально работал на ODROID-XU3, но на самом деле это XU4.

2 ответа

Решение

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

В заключение, использование echo для записи на вывод GPIO стало причиной ошибки сегментации. Я не знаю почему, хотя.

Моя работа заключалась в том, чтобы либо использовать модуль gpio с узла, либо использовать wiringPi для Odroid, поскольку они, похоже, работали просто отлично.

Размещать это, чтобы люди знали.

Ошибка сегментации обычно возникает, когда программа пользовательского пространства считывает или записывает недопустимый адрес памяти. Это не часто случается с простой и хорошо проверенной программой, такой как echo.

Это может быть вызвано ошибкой драйвера ядра /GPIO или, возможно, поломкой оборудования. Я бы посоветовал запустить команду напрямую от имени пользователя root, чтобы убедиться, что именно эхо вызывает ошибки сегментации, а затем использовать strace, чтобы выяснить, происходит ли ошибка сегментации всегда в одном и том же месте...

Другие вопросы по тегам