Ник:
Пароль:

Контакты

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

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

User Info


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

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

Ник:
Пароль:

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

ОбновитьПодробнееВсегоВсего:6
Форум » starterkit.ru » Процессорные модули » SK-A40i-SODIMM
Настройка портов ввода/вывода
Alex61RUS
Добавлено 31.01.2023 11:47
0
Сообщение: 1
Alex61RUS
5

Пункты: 3161
Регистрация: 30.05.2014
Пол: Мужчина
Подскажите пожалуйста, в каком файле находятся настройки режимов работы gpio?
Для imx6 SODIMM это был файл imxqdl-sodimm.dtsi, а для A40 какой?
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 31.01.2023 12:54 Редактировалось 31.01.2023 12:55 Сообщение: 2
sasamy
4.71

Пункты: 83558
Регистрация: 14.08.2009
Цитата
Для imx6 SODIMM это был файл imxqdl-sodimm.dtsi


Зависит от того какой выбран видеовыход в меню buildroot

buildroot-2022.08.2-sk-a40i/output/build/linux-custom/arch/arm/boot/dts/

выход на hdmi
sun8i-a40i-sodimm-hdmi-sk.dts

lvds + hdmi
sun8i-a40i-sodimm-lvds-800-480-hdmi-sk.dts

два lvds
sun8i-a40i-sodimm-lvds-800-480-lvds-800-480-sk.dts

один lvds
sun8i-a40i-sodimm-lvds-800-480-sk.dts
Спуститься к концу Подняться к началу
Персональная информация
Alex61RUS
Добавлено 31.01.2023 13:10 Редактировалось 31.01.2023 14:32 Сообщение: 3
Alex61RUS
5

Пункты: 3161
Регистрация: 30.05.2014
Пол: Мужчина
Сформулирую вопрос иначе: где в этом файле видна настройка PB19 (X9.6 MB) именно как порта дискретного ввода/вывода?
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 31.01.2023 15:31 Сообщение: 4
sasamy
4.71

Пункты: 83558
Регистрация: 14.08.2009
Цитата
Сформулирую вопрос иначе: где в этом файле видна настройка PB19 (X9.6 MB) именно как порта дискретного ввода/вывода?


там не описан PB19, если пин не используется каим-то драйвером этот пин можно использовать как GPIO из пространства пользователя через библиотеку libgpiod ничего не меняя в DTS

https://devdotnet.org/post/rabota-s-gpio-v-linux-chast-6-biblioteka-libgpiod/#the-new-way-chardev-interface

libgpiod включена в конфиги сборки buildroot, номер gpio

(position of letter in alphabet - 1) * 32 + pin number

для PB19

B=2

gpio = (2 - 1) * 32 + 19 = 51

есть готовые инструменты для дергания ножками

Цитата

В состав libgpiod входят следующие утилиты:

gpiodetect — выведет список всех чипов GPIO, их метки и количество линий;
gpioinfo — выведет информацию о линиях GPIO конкретного контроллера GPIO. В таблице вывода по колонкам будет указано: номер линии, название контакта, направление ввода/вывода, текущее состояние;
gpioget — считает текущее состояние линии GPIO;
gpioset — установит значение для линии GPIO;
gpiofind — выполняет поиск контроллера GPIO и линии по имени;
gpiomon — осуществляет мониторинг состояния линии GPIO и выводит значение при изменение состояния.
Спуститься к концу Подняться к началу
Персональная информация
Alex61RUS
Добавлено 31.01.2023 15:33 Сообщение: 5
Alex61RUS
5

Пункты: 3161
Регистрация: 30.05.2014
Пол: Мужчина
Спасибо!
Спуститься к концу Подняться к началу
Персональная информация
Vladimir8246
Добавлено 03.11.2023 00:06 Сообщение: 6
Vladimir8246
0

Пункты: 403
Регистрация: 02.11.2023
Через sysfs gpio недоступны ?
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 03.11.2023 16:55 Сообщение: 7
sasamy
4.71

Пункты: 83558
Регистрация: 14.08.2009
Цитата
Через sysfs gpio недоступны ?


в штатных конфигах нет, можно включить но не знаю зачем - этот интерфейс объявлен как устареший уже давно и в любом релизе могут удалить

make linux-menuconfig

сначала нужно активировать экспертные настройки

General setup --->
[*] Configure standard kernel features (expert users) --->

посде этого появится меню с gpio sysfs

Device Drivers --->
-*- GPIO Support --->
[*] /sys/class/gpio/... (sysfs interface)
Спуститься к концу Подняться к началу
Персональная информация
Vladimir8246
Добавлено 04.11.2023 22:11 Сообщение: 8
Vladimir8246
0

Пункты: 403
Регистрация: 02.11.2023
Цитата
Цитата
Через sysfs gpio недоступны ?


в штатных конфигах нет, можно включить но не знаю зачем - этот интерфейс объявлен как устареший уже давно и в любом релизе могут удалить

make linux-menuconfig

сначала нужно активировать экспертные настройки

General setup --->
[*] Configure standard kernel features (expert users) --->

посде этого появится меню с gpio sysfs

Device Drivers --->
-*- GPIO Support --->
[*] /sys/class/gpio/... (sysfs interface)


Спасибо !
я правильно понимаю, в buildroot все изменения конфигурации, сделанные в
make linux-menuconfig
, как и в
make menuconfig
будут жить только до make clean ?
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 05.11.2023 10:52 Сообщение: 9
sasamy
4.71

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

я правильно понимаю, в buildroot все изменения конфигурации, сделанные в
make linux-menuconfig
, как и в
make menuconfig
будут жить только до make clean ?


да, но если вам нужно постоянно то есть смысл сделать свой дефолтный конфиг - взять из директории output/build/linux-custom/.config и назвать его посвоему и сохранить. В конфигураторе буилдрута make menuconfig

Kernel --->
Kernel configuration (Using a custom (def)config file) --->
указать путь у нему
() Configuration file path (NEW)

конфиг буилдрута тоже можно сделать свой - дефолтные конфиги для быстрого старта.
Спуститься к концу Подняться к началу
Персональная информация
mosolov
Добавлено 29.12.2023 14:07 Сообщение: 10
mosolov
0

Пункты: 230
Регистрация: 20.12.2023
Подскажите пожалуйста где я могу ошибаться:

Взял распространяемый buildroot, собрал defconfig sun8i-a40i-sodimm-hdmi-sk

title
Через резистор PH7 подключен к 3.3, через кнопку и клеммник PH7 подключен к земле. Кнопка в ненажатом состоянии разомкнута.
По умолчанию PH7 подтянут проводами к 3.3.
При нажатии на кнопку подтягивается к земле.
Мультиметром на пине Х9 это подтверждается.

В то же время gpioget PH7 всегда возвращает 1
Цитата

# gpioget --bias=disable 0 231
1

Через devmem видно, что регистры настроены так что PH7 - вход, регистр Data для PH7 не изменяется от нажатия на кнопку.

При этом gpiomon кратковременно детектирует при нажатии на кнопку (при подтяжке к земле прерывание по фронту FALLING затем через милисекунды несмотря на то, что кнопка так же зажата детектируется RISING):
Цитата

# gpiomon -r -f 0 231
event: RISING EDGE offset: 231 timestamp: [ 677.197302530]
event: FALLING EDGE offset: 231 timestamp: [ 679.144232489]
event: RISING EDGE offset: 231 timestamp: [ 679.169932740]
event: FALLING EDGE offset: 231 timestamp: [ 679.607664448]
event: RISING EDGE offset: 231 timestamp: [ 679.660313406]
event: FALLING EDGE offset: 231 timestamp: [ 679.940830990]
event: RISING EDGE offset: 231 timestamp: [ 679.993845073]
event: FALLING EDGE offset: 231 timestamp: [ 680.172607740]
event: RISING EDGE offset: 231 timestamp: [ 680.203006615]

Как будто бы что-то к земле через кнопку все-таки подтягивается и это что-то на время и PH7 просаживает до уровня 0?

Нет ли каких-либо особенностей о которых я не знаю?

В моем случае версия процессорного модуля:
SK-A40i-SODIMM V1.A
Версия мат.платы:
SK-A40i-SODIMM-MB V1.B
Нет ли тут проблем совместимости?

P.S. на X2 (UART DBG) пин c маркировкой +3.3V это GND

Актуальна ли схема мат.платы http://starterkit.ru/html/index.php?name=shop&op=view&id=171 для V1.B (там есть только V1.A)?
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Процессорные модули » SK-A40i-SODIMM