Ник:
Пароль:

Контакты

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-iMX233
Где искать библиотеку gpio???
Spirit
Добавлено 17.07.2010 00:17
0
Сообщение: 1
Spirit
0

Пункты: 3257
Регистрация: 06.05.2010
Пол: Мужчина
Из: Энгельс-Саратов
Хотел подергать ноги по средствам #include <gpio.h> но не понял как эту библиотеку, и главное, какую прикрутить. Все перекрутил, никак не пойму: использовать родную линуксовую или для конкретной железяки?! В линуксе есть "родная" собранная библиотека. Для железяк есть исходники библиотек, как бы и собрать не сложно, но одно смущает для какой железяки собирать??? Порылся, исходнников нет ни для iMXxxx ни для STMP3xxx, хотя для STMP3xxx есть gpio.h. Или можно использовать линуксовую? Может кто сталкивался???? Линукс на стационарном ПК.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 17.07.2010 03:41 Редактировалось 17.07.2010 03:42 Сообщение: 2
sasamy
4.71

Пункты: 83542
Регистрация: 14.08.2009
Я ничего не понял - особенно последнее предложение. Для gpio в ядре linux есть вполне себе универсальный интерфейс о котором вы можете прочитать в Documentation/gpio.txt в исходниках ядра - это справедливо в том числе и для imx233.
Спуститься к концу Подняться к началу
Персональная информация
Lavin
Добавлено 17.07.2010 11:03 Сообщение: 3
Lavin
2.4

Пункты: 1267
Регистрация: 22.05.2009
Пол: Мужчина
Из: Москва
Есть в википедии местной хороший пример.Адреса под свой проц подкрутить и все.Они в датащите должны быть.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 17.07.2010 11:22 Сообщение: 4
sasamy
4.71

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

Порылся, исходнников нет ни для iMXxxx ни для STMP3xxx, хотя для STMP3xxx есть gpio.h.


Если вы не нашли исходники в ядре - это не значит что их там нет :) Посмотрите файл linux-2.6.31/arch/arm/plat-stmp3xxx/pinmux.c - в этом файле и реализованы все низкоуровневые ф-ции работы с gpio для платформы stmp3xxx.
Спуститься к концу Подняться к началу
Персональная информация
Spirit
Добавлено 18.07.2010 14:42 Сообщение: 5
Spirit
0

Пункты: 3257
Регистрация: 06.05.2010
Пол: Мужчина
Из: Энгельс-Саратов
спасибо за ответы:) неприменно все исследуем-с:)

Цитата
Я ничего не понял - особенно последнее предложение.


Как я понимаю, под каждую архитектуру пишется своя библиотека (хотя понимаю я плохо). Если у меня собрана библиотека, которую я хочу использовать, под другую архитектуру (i386) могу ли я ее использовать при кросплатформенной компиляции для приложений запущенных на ARM9 или необходимо собирать такую библиотеку из сырцов для каждого камушка??? - Это и был мой вопрос:)
Спуститься к концу Подняться к началу
Персональная информация
fsat
Добавлено 18.07.2010 17:55 Сообщение: 6
fsat
0

Регистрация: 13.07.2010
Для каждой архитектуры требуется своя сборка.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 26.07.2010 16:20 Редактировалось 26.07.2010 16:49 Сообщение: 7
sasamy
4.71

Пункты: 83542
Регистрация: 14.08.2009
Цитата
Хотел подергать ноги по средствам #include <gpio.h> но не понял как эту библиотеку, и главное, какую прикрутить.


Понадобилось дернуть пару раз ноги, так как писать ничего своего не предполагалось а нужно всего лишь при необходимости сделать сброс по питанию внешнего устройства на USB, то решил оформить это дело через sysfs - к счастью в ядре 2.6.31 этот интерфейс уже реализован. Что имеем:
1 Определился с ногой которой буду управлять - это MK_P91 по схеме, она же PWM2/GPMI_RDY3 (Она же Элла Кацнельбоген... Она же Светлана Агуреева... Она же Валентина Панеят. Проверяй, Шарапов! :-) на контроллере (свободна в моем случае для использования)
2 Включил в ядре интерфейс sysfs для gpio
Код

Location:
-> Device Drivers
-> GPIO Support (GPIOLIB [=y])

CONFIG_GPIO_SYSFS:

Say Y here to add a sysfs interface for GPIOs.


3 Пересобрал и загрузился с новым ядром.
Код

# ls /sys/class/gpio/
export gpiochip0 gpiochip32 gpiochip64 unexport
# cd /sys/class/gpio/


Код

echo 60 > export
# ls
export gpio60 gpiochip0 gpiochip32 gpiochip64 unexport
# cd gpio60/
# ls
direction subsystem uevent value
# cat direction
in

Это я подключил интерфейс для gpio с номер 60 (это наш pwm2 если смотреть pins.h) gpio настроен на ввод.

Код

# echo out > direction
# echo 1 > value
# echo 0 > value
# echo 1 > value


Перевел gpio на вывод и подергал уровни - все работает судя по вольтметру :)
Спуститься к концу Подняться к началу
Персональная информация
Spirit
Добавлено 28.07.2010 11:08 Редактировалось 28.07.2010 11:14 Сообщение: 8
Spirit
0

Пункты: 3257
Регистрация: 06.05.2010
Пол: Мужчина
Из: Энгельс-Саратов
Цитата
Это я подключил интерфейс для gpio с номер 60 (это наш pwm2 если смотреть pins.h) gpio настроен на ввод.


никак не могу найти указатель на то что этот вывод "60". Уточните, откуда это видно?! у меня в pins.h #define PINID_PWM2 STMP3XXX_PINID(1, 28)
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 28.07.2010 11:50 Сообщение: 9
sasamy
4.71

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

Уточните, откуда это видно?!


pins.h:
Код

#define STMP3XXX_PINMUX_BANK_SIZE 32
...................
#define STMP3XXX_PINID(bank, pin) (bank * STMP3XXX_PINMUX_BANK_SIZE + pin)
.....................
#define PINID_PWM2 STMP3XXX_PINID(1, 28)


Путем сложных матричных преобразований получаем:
PINID_PWM2 = 1 * 32 + 28 = 60
Спуститься к концу Подняться к началу
Персональная информация
Spirit
Добавлено 28.07.2010 13:59 Сообщение: 10
Spirit
0

Пункты: 3257
Регистрация: 06.05.2010
Пол: Мужчина
Из: Энгельс-Саратов
Да, именно так я и получил Ваши "60". Спасибо. Только вывод не ожил, что-то:(
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Отладочные платы » SK-iMX233