Как инициализировать сигналы GPIO при запуске - быстро? - PullRequest
0 голосов
/ 10 октября 2019

У меня есть несколько сигналов GPIO в моей встроенной Linux-системе, которые должны быть настроены на вывод и на низком уровне. СРОЧНО.

Мне показалось, что я в принципе понял дерево устройств. Насколько я понимаю, загрузчик захватил «блоб» дерева устройств и передал его ядру, а ядро ​​сконфигурировало аппаратное обеспечение в соответствии с инструкциями в дереве устройств. Я думал, что весь смысл этого заключался, помимо прочего, в том, чтобы обеспечить подключение к устройствам там, где они настроены так, как они должны быть, и быстро, чтобы у нас не было «гоночной» ситуации. В то время как настройки моего устройства для этих GPIO правильно устанавливают их для вывода (я могу управлять выходами, когда мое приложение работает), я действительно хотел бы, чтобы они инициализировались НИЗКИМИ в течение секунды после включения.

Мой текущий PIN-кодНастройки / PAD:

0x03029:
PAD_CTL_PUS_100K_DOWN + 
PAD_CTL_PKE + 
PAD_CTL_ODE + 
PAD_CTL_DSE_48ohm + 
PAD_CTL_SRE_SLOW

Все же результат, который я получаю, - это ВЫСОКИЕ выходы.

Одна из публикаций в Переполнении стека была близка к моей проблеме, но в решении говорилось об использованииФайлы / etc / rcxx, влияющие на этот результат. Тем не менее, они не выполняются намного позже загрузки ядра, верно? Я действительно ищу решение, которое запускается через <1 секунду после включения / сброса. </p>

Спасибо.

...