Ник:
Пароль:

Контакты

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-MNUC950
SK-MI0430FT-Plug: работа с touchscreen
Tesla
Добавлено 14.10.2010 20:37
0
Сообщение: 1
Tesla
0

Пункты: 350
Регистрация: 12.10.2010
Пол: Мужчина
Доброго времени суток!
Я пока ещё совсем зелёный новичок во встраиваемом линуксе, для первого знакомства с ним приобрёл SK-MNUC950 и SK-MI0430FT-Plug.

Вопрос такой: как достучаться до тачскрина? На движения подключенной usb-мышки 'cat /dev/mice' реагирует потоком байтов, на касания тачскрина - нет. Если я верно понимаю, нужно собирать ядро с поддержкой драйвера тачскрина. Так ли это? И можно ли, не меняя ядро, поработать с тачскрином на низком уровне непосредственно из приложения? Если да, то как?


Чтобы не плодить темы, сразу задам второй вопрос, насчёт framebuffer'а.

В него прекрасно выводятся как изображения (dd if=img.bin of=/dev/fb0), так и символы (через /dev/vcsa), однако в обоих случаях изображение на экране циклически сдвинуто вниз на 1 пиксель (т. е., например, фоновые цвета знакомест последней строки на 1 пиксель выглядывают сверху), что немного раздражает. Где искать разгадку?
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 15.10.2010 10:24 Редактировалось 15.10.2010 10:24 Сообщение: 2
Pavel Ivanchenko
Admin
4.39

Пункты: 92788
Регистрация: 24.03.2009
Пол: Мужчина
Какой ревизии Ваша плата (указана в верхнем левом углу)?
Если не 1.С, тогда в принципе до тачскрина нет доступа (если самому проводами не навесить), т.к. свободных GPIO у процессора крайне мало на более ранних версиях плат я не подключал ничего к пинам TS контроллера.
Начиная с 1.C, я запараллелил часть GPIO сигналов с другого разъема.
В составе штатного BSP так же нет пока драйвера, но на днях собираюсь этим заняться.

Цитата
... что немного раздражает. Где искать разгадку?
Здесь
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 16.10.2010 15:45 Редактировалось 16.10.2010 15:47 Сообщение: 3
Pavel Ivanchenko
Admin
4.39

Пункты: 92788
Регистрация: 24.03.2009
Пол: Мужчина
Вобщем, как говорится - приехали ...
Решил настроить штатный драйвер ADS7846 через GPIO SPI, выпросил у товарищей сорцы своих наработок (спасибо rw9uao), подставляю свои линии GPIO в драйвере - не работает.
Как выяснилось, в их варианте, прерывание PENIRQ идет не "штатным" образом, а формируется по IRQ1.
К счастью, в моем варианте подключения для PENIRQ задействован IRQ0, меняю, запускаю - как ни странно, при старте системы отваливается консоль, но сама система грузится успешно и драйвер ADS7846 номинально работает, но реально видимо нужно еще что то с прерываниями докручивать, т.к. через /proc/interrupts количество событий от ADS7846 идет почт и как от системного таймера (хотя PENIRQ свободна) ...
Разбираться дальше не стал, т.к. понял свой принципиальный промах в выборе пинов для GPIO SPI, как оказывается (ттолько сейчас узнал :)) пины GPIO конфигурируются у NUC950 не по битно (как у всех контроллеров-процессоров) а по блочно!
Т.е. например, в моем случае, CLK=MK_P164=GPIO_D8, чтобы сконфигурировать его как GPIO, нужно прописать в MFSEL[7...4] битах 0, но при этом пины SD интефейса так же перейдут в GPIO.
Т.е. как ни крути, придется перекидывать с учетом этого линии GPIO, например, использовать линии AC97.
Спуститься к концу Подняться к началу
Персональная информация
rw9uao
Добавлено 16.10.2010 17:01 Сообщение: 4
rw9uao
Ранг
5

Группа: Клиенты
Пункты: 6973
Регистрация: 26.03.2009
Паш. там еще вылезла интересность. я тебе закидывал доработку по CS и прямо на плате с экраном потребовалось напаять конденсатор в 15 нф с 16-й ноги ADSки на массу. шлейф длинный, лезет чёрти-чё.
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 16.10.2010 19:05 Редактировалось 16.10.2010 19:05 Сообщение: 5
Pavel Ivanchenko
Admin
4.39

Пункты: 92788
Регистрация: 24.03.2009
Пол: Мужчина
Я видел, там до вольта какая то беготня вылазит (причем на DI), это явно не простая наводка (для этого кабель пятиметровым должен быть), с LPC2478 или AT91SAM9G45 подобного нет, откуда-что, разбираться не стал.
Спуститься к концу Подняться к началу
Персональная информация
Tesla
Добавлено 16.10.2010 19:13 Сообщение: 6
Tesla
0

Пункты: 350
Регистрация: 12.10.2010
Пол: Мужчина
Спасибо за ответы, я даже половину из написанного смог понять :)

Плата у меня ревизии 1.C

Теперь возник вопрос: как мне без драйверов, напрямую из приложения "подёргать за ноги" тот же ADS7846 (кажется, это называется bit-banging)?

На мою попытку сделать что-то наподобие *((volatile unsigned char *)0x...) = ... операционная система ответила "Segmentation Fault", намекнув тем самым, что шалости с доступом к портам ввода-вывода из приложения с ней не пройдут :)

Значит ли это, что мне нужно писать модуль ядра, или всё же есть возможность пообщаться с железом из приложения?
Спуститься к концу Подняться к началу
Персональная информация
Hermes
Добавлено 17.10.2010 00:04 Сообщение: 7
Hermes
5

Пункты: 3383
Регистрация: 02.04.2010
можно и драйвер написать, но это не универсально
тут пробегала статья про мапинг памяти. по мойму она даже в местной вики есть для SAM9200.
Для Вашей платы будет примерно тоже самое
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 17.10.2010 11:16 Сообщение: 8
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
выпросил у товарищей сорцы своих наработок

долго медитировал над этой частью фразы - постичь не смог :)

Цитата
при старте системы отваливается консоль

на эти грабли уже наступали

Цитата
пины GPIO конфигурируются у NUC950 не по битно (как у всех контроллеров-процессоров) а по блочно!

и на эти тоже :)

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
rw9uao
Добавлено 19.10.2010 12:22 Сообщение: 9
rw9uao
Ранг
5

Группа: Клиенты
Пункты: 6973
Регистрация: 26.03.2009
Юр, а как тогда GPIO конфигурить? а то я питание на i2c подаю, а у меня консоль отваливается. в старом ядре таких глюков точно не было.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 23.10.2010 04:19 Сообщение: 10
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Юр, а как тогда GPIO конфигурить? а то я питание на i2c подаю, а у меня консоль отваливается. в старом ядре таких глюков точно не было.

пардон за молчание - жадные немцы с платным инетом :-/
выплываю в Балтику, есть инет - жизнь наладилась :)

как-как.. искать свободные "ненужные" пины и пробовать. в каком-то треде (о мнуке и мио430) описывались подобные неудобства
выбрал паябельные пины, привернул туда тачскрин, при попытке загрузки драйвера отсыхала консоль. вывернулся, припаявшись к 0.65 площадке, т.е. физически сменил пин
зато теперь часы на И2Ц работают, консоль жива и драйвер тача грузится, но не работает ибо неправильный..
я, когда колбасился с аппаратным SPI на мнуке, столкнулся с этой же хренью - расшаренные пины на 2 шины И2Ц и SPI - четко или тот или другой.. если бы пошел хардварный SPI, то навесить программный i2c задача несложная

зы: у меня счас "страдная" пора - в ближайший месяц паяльником помахать не дадут :-/

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