Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru
Партнеры:
otladka.com.ua - г.Киев

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

User Info


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

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

Ник:
Пароль:

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

ОбновитьПодробнееВсегоВсего:4
Форум » starterkit.ru » Отладочные платы » Hola(Duo)-PC
HolaDuo - GPIO
UFOLab
Добавлено 24.10.2014 07:45
0
Сообщение: 1
UFOLab
0

Пункты: 460
Регистрация: 26.09.2014
Ребята подскажите!
HolaDuo, стоит Ubuntu Server. Пытался установить 0 или 1 на разъеме GPIO, но ни один из пинов не отреагировал.
Написал скрипт на Bash который в цикле экспортирует(export) ноги(от 1 до 300), ставит им 0 и 1 на 1 сек и делает unexport. В общем чтоб вручную не писать...

При попытке импорта некоторых ног, была ошибка что типо ресурс занят, но это ожидаемо.

Осциллографом прошелся по каждому пину, но ни один не отреагировал.

Наверняка есть какая-то хитрость, может какой-нибудь модуль подгрузить надо или ядро с поддержкой чего-нибудь пересобрать.

Да в инете искал, ниче не нашел, кроме RPI GPIO
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 24.10.2014 11:21 Редактировалось 24.10.2014 11:22 Сообщение: 2
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Наверняка есть какая-то хитрость, может какой-нибудь модуль подгрузить надо или ядро с поддержкой чего-нибудь пересобрать.

что там у вас происходит и как написано видно только вам..
могу погадать (ручку золотить не обязательно)..
в общем случае, если разрешена работа в ядре:
включаем работу с пином через sysfs
echo K > /sys/class/gpio/export
если команда прошла успешно, соответствующий пин доступен для чтения командой
cat /sys/class/gpio/gpioK/value
чтобы переключить пин на вывод необходимо
echo out > /sys/class/gpio/gpioK/direction
после этого режим пина переключается на вывод в состояние "0"
переключить состояние можно командой
echo 1 > /sys/class/gpio/gpioK/value

где К в вышеприведенных примерах вычисляется
K=(B-1) * 32+P
пример:
GPIO3_10 = (3-1) * 32+10 = 74 т.е. K=74

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
UFOLab
Добавлено 24.10.2014 12:03 Сообщение: 3
UFOLab
0

Пункты: 460
Регистрация: 26.09.2014
Вот мои действия:
Цепляю осциллограф к GPIO2_14(X6_16)

Импорт: echo 46 > /sys/class/gpio/export
Появилась папка gpio46

Затем указываю что это выход:
echo out > /sys/class/gpio/gpio46/direction

А теперь логический 0:
echo 0 > /sys/class/gpio/gpio46/value

А теперь логическая 1:
echo 1 > /sys/class/gpio/gpio46/value

На осциллографе никакой реакции...
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 24.10.2014 12:47 Сообщение: 4
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
да, все делаете правильно.. похоже придется ядро модифицировать..
в исходниках ядра ищете файл борды, не знаю, как он для Duo называется, примерно
arch/arm/mach-mx6/*board*.c рядом еще должен объектник лежать
там в структуре конфига пинов прописываете "свой" пин, для 46 это будет
MX6DL_PAD_SD4_DAT6__GPIO_2_14,

пересобираете, грузите и пробуете. если все сделали в нужных местах, то пин должен контролироваться.

если что-то непонятно, не стесняйтесь - спрашивайте..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
UFOLab
Добавлено 27.10.2014 10:59 Сообщение: 5
UFOLab
0

Пункты: 460
Регистрация: 26.09.2014
Полазил я по каталогу arch/arm/*
Не нашел там "mach-mx6". Только mach-imx и mach-mxs. Но в них нет ни одного объектника, только заголовочные и исходники.

Прошу дополнительной помощи...
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 27.10.2014 14:17 Сообщение: 6
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Полазил я по каталогу arch/arm/*
Не нашел там "mach-mx6". Только mach-imx и mach-mxs. Но в них нет ни одного объектника, только заголовочные и исходники.

может вы не там смотрите? надо в исходниках ядра, например для HolaPC:
Код
ls arch/arm/mach-mx6/*board*
arch/arm/mach-mx6/board-mx6dl_arm2.h arch/arm/mach-mx6/board-mx6q_sabreauto.c arch/arm/mach-mx6/board-mx6q_sabresd.h
arch/arm/mach-mx6/board-mx6dl_hdmidongle.h arch/arm/mach-mx6/board-mx6q_sabreauto.h arch/arm/mach-mx6/board-mx6q_sabresd.o
arch/arm/mach-mx6/board-mx6dl_sabresd.h arch/arm/mach-mx6/board-mx6q_sabreauto.o arch/arm/mach-mx6/board-mx6sl_arm2.c
arch/arm/mach-mx6/board-mx6q_arm2.c arch/arm/mach-mx6/board-mx6q_sabrelite.c arch/arm/mach-mx6/board-mx6sl_common.h
arch/arm/mach-mx6/board-mx6q_arm2.h arch/arm/mach-mx6/board-mx6q_sabrelite.c_orig arch/arm/mach-mx6/board-mx6sl_evk.c
arch/arm/mach-mx6/board-mx6q_arm2.o arch/arm/mach-mx6/board-mx6q_sabrelite.o arch/arm/mach-mx6/board-mx6solo_sabreauto.h
arch/arm/mach-mx6/board-mx6q_hdmidongle.c arch/arm/mach-mx6/board-mx6q_sabrelite_old.c
arch/arm/mach-mx6/board-mx6q_hdmidongle.h arch/arm/mach-mx6/board-mx6q_sabresd.c

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
UFOLab
Добавлено 27.10.2014 15:14 Редактировалось 28.10.2014 07:58 Сообщение: 7
UFOLab
0

Пункты: 460
Регистрация: 26.09.2014
/usr/src/linux-source-3.8.0/arch/arm/
Этот путь?
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 27.10.2014 15:25 Сообщение: 8
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
/usr/src/linux-source-3.8.0/arch/arm/
Этот путь?

нет. если у вас виртуалка от платы, то путь примерно:
/home/user/src

если у вас все свое, то там, куда положили ядро для платы..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
UFOLab
Добавлено 28.10.2014 08:04 Сообщение: 9
UFOLab
0

Пункты: 460
Регистрация: 26.09.2014
Скачал виртуалку, таки нашел там..
Код
/home/user/src/kernel

вот содержимое:
Код
user@Hola-bld:~/src/kernel$ ls -l
total 12
drwxr-xr-x 4 user user 4096 2008-07-04 19:10 r8168-8.005.00
drwxr-xr-x 3 user user 4096 2014-01-08 08:56 r8168-8.038.00
drwxr-xr-x 23 user user 4096 2014-10-28 04:50 rel_imx_3.0.35_4.1.0-sk

Дальше какие мои действия?
Лезть в rel_imx_3.0.35_4.1.0-sk/arch/arm/mach-mx6 ?
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 28.10.2014 09:26 Сообщение: 10
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Дальше какие мои действия?
Лезть в rel_imx_3.0.35_4.1.0-sk/arch/arm/mach-mx6 ?

именно. это ядро. я перед правками делаю копию архива ядра или копии тех файлов, которые правлю под себя..
находите файлы борды, добавляете свои пины, далее варианты
пересборка в составе билдрута или отдельно только ядро, потом грузитесь и смотрите на пин..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Отладочные платы » Hola(Duo)-PC