Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:1
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:5
Форум » starterkit.ru » Процессорные модули » SK-iMX6S/D-SODIMM
Проблема с GPIO
gsus
Добавлено 01.09.2020 09:35
0
Сообщение: 1
gsus
0

Пункты: 217
Регистрация: 01.09.2020
Здравствуйте.

На плате SK-iMX6S-SODIMM пытаюсь изменить состояние выводов GPIO2_IO16 и GPIO3_IO27.

Делаю так (для GPIO3_IO27):

Код
echo 91 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio91/direction
echo 1 > /sys/class/gpio/gpio91/value

Всё работает.

Для GPIO2_IO16 - аналогично, с заменой 91 на 48.
Не работает.

Вопрос: есть какие-то тонкости с выводом GPIO2_IO16?
В документации оба - GPIO3_IO27 и GPIO2_IO16 помечены как GPIO по умолчанию.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 01.09.2020 16:05 Редактировалось 01.09.2020 16:06 Сообщение: 2
sasamy
4.71

Пункты: 83540
Регистрация: 14.08.2009
Цитата

Делаю так (для GPIO3_IO27):

echo 91 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio91/direction
echo 1 > /sys/class/gpio/gpio91/value
Всё работает.

Для GPIO2_IO16 - аналогично, с заменой 91 на 48.
Не работает.


gpio2 16 свободен и должен работать, наоборот gpio3 27 используется для тачскрина. Какая версия buildroot и ядра у вас используется ? может на gpio не переключен пин. Может еще ошиблись с выводом и не на том пине смотрите ?
Спуститься к концу Подняться к началу
Персональная информация
gsus
Добавлено 01.09.2020 20:46 Сообщение: 3
gsus
0

Пункты: 217
Регистрация: 01.09.2020
Для сборки использовалась виртуальная машина buildroot-2014.08-sk-3.10.17. Насколько я понимаю, buildroot - 2014-08, ядро - 3.10.17.

Смотрю на выводах 30 (GPIO2_IO16) и 32 (GPIO3_IO27).
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 02.09.2020 17:06 Редактировалось 02.09.2020 17:07 Сообщение: 4
sasamy
4.71

Пункты: 83540
Регистрация: 14.08.2009
Цитата
Для сборки использовалась виртуальная машина buildroot-2014.08-sk-3.10.17. Насколько я понимаю, buildroot - 2014-08, ядро - 3.10.17.

Смотрю на выводах 30 (GPIO2_IO16) и 32 (GPIO3_IO27).


проверил у себя на штатной MB

http://www.starterkit.ru/html/index.php?name=shop&op=view&id=101

разъем Х9, пин 3 "GPIO2_16" - все работает как надо, в ядре ничего не менял - собрал дефолтный минимальный конфиг

# echo 48 > /sys/class/gpio/export
# echo out > /sys/class/gpio/gpio48/direction
# echo 1 > /sys/class/gpio/gpio48/value
# echo 0 > /sys/class/gpio/gpio48/value

вы свою плату выбрали в меню загрузчика в buildroot ?
Спуститься к концу Подняться к началу
Персональная информация
gsus
Добавлено 02.09.2020 23:15 Сообщение: 5
gsus
0

Пункты: 217
Регистрация: 01.09.2020
Я попробовал собрать минимальную конфигурацию, и у меня тоже GPIO2_IO16 работает (правда, не работает GPIO3_IO27).

Видимо, коллеги, делавшие сборку, что-то меняли в конфигурации оборудования.

Подскажите, пожалуйста, можно ли на уже имеющейся сборке (т.е. не пересобирая ОС) сконфигурировать GPIO2_IO16, чтобы он работал как GPIO?
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 03.09.2020 09:19 Сообщение: 6
sasamy
4.71

Пункты: 83540
Регистрация: 14.08.2009
Цитата

Видимо, коллеги, делавшие сборку, что-то меняли в конфигурации оборудования.

Подскажите, пожалуйста, можно ли на уже имеющейся сборке (т.е. не пересобирая ОС) сконфигурировать GPIO2_IO16, чтобы он работал как GPIO?


если вам не важно что и для чего меняли коллеги вы можете изменить DTS

buildroot-2014.08-sk/output/build/linux-custom/arch/arm/boot/dts/imx6qdl-sodimm.dtsi

пересобрать ядро и закинуть на плату свой dtb из

buildroot-2014.08-sk/output/images/imx6dl-sodimm.dtb

ничего больше не меняя
Спуститься к концу Подняться к началу
Персональная информация
gsus
Добавлено 04.09.2020 08:31 Сообщение: 7
gsus
0

Пункты: 217
Регистрация: 01.09.2020
sasamy, а нельзя ли поменять только dts, перекомпилировать его с помощью dtc и обновить соответствующий dtb в rootfs, не пересобирая всё ядро?

Я понимаю, что вопрос, наверное, идиотский, но есть вероятность, что добыть нужный .config не удастся. А если я начну делать его с нуля (ну, с imx6sk_min_defconfig), то подобных идиотских вопросов будет слишком много :)
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 04.09.2020 09:48 Редактировалось 04.09.2020 09:54 Сообщение: 8
sasamy
4.71

Пункты: 83540
Регистрация: 14.08.2009
Цитата
а нельзя ли поменять только dts, перекомпилировать его с помощью dtc и обновить соответствующий dtb в rootfs, не пересобирая всё ядро?


я вам об этом и написал

Цитата

А если я начну делать его с нуля (ну, с imx6sk_min_defconfig), то подобных идиотских вопросов будет слишком много :)


так вы уже сделали это

Цитата

Я попробовал собрать минимальную конфигурацию, и у меня тоже GPIO2_IO16 работает (правда, не работает GPIO3_IO27).


поправьте после этого что вам нужно и запустите

./kernel_rebuild.sh

пересоберется только device tree и он не зависит от конфига ядра. В buildroot пересобрать проще.
Спуститься к концу Подняться к началу
Персональная информация
gsus
Добавлено 08.09.2020 09:08 Сообщение: 9
gsus
0

Пункты: 217
Регистрация: 01.09.2020
Всё получилось.
Спасибо за помощь!
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Процессорные модули » SK-iMX6S/D-SODIMM