Как получить доступ к gpiochipX
Мы программируем на микроконтроллере на базе Android и хотим иметь доступ к выводам gpio на плате. Просматривая документацию, мы хотим использовать 12 выводов gpio, которые представляют собой различные выводы между # 0-100, однако для него нет доступных gpiochips. Например, gpiochip576 доступен, но нам не нужен gpios 576+ и выше. Мы хотим получить доступ к 0-100. Есть ли простой способ получить к ним доступ? Мы нашли эту статью: http://www.pieter-jan.com/node/15, которая, если мы правы, похоже, получает доступ к gpiochip, но требует много кода на c, и в нашем случае, так как его Android Нам нужно перекомпилировать образ ядра и системы и перенести его на плату. Есть ли более простой способ, может быть, через sysfs(что-то вроде echo "14" > /sys/class/gpio/export) или что-то еще, чтобы мы получили доступ? Или наш единственный вариант - модифицировать ядро и перекомпилировать. Спасибо!
1 ответ
Просто хотел обновить для любых будущих пользователей, имеющих проблемы с этой же проблемой:
Мы искали gpios 0-120 и предполагали, что нам нужен gpio0 с gpion=120, но на самом деле было применено смещение, означающее, что gpios были найдены в диапазоне 576+. Просто нужно было добавить постоянное число к каждому из выводов.
Так же, как СамПроценко описал в комментариях с вопросами, любые необходимые изменения должны быть сделаны в файлах дерева устройств, а затем перекомпилированы и загружены на ваше устройство. СамПроценко хорошо объясняет, что нужно сделать, поэтому, пожалуйста, проверьте комментарии выше. В противном случае вам нужно будет больше узнать о том, как работает дерево устройств.