rw9uao (Guest) |
|
|
в иниттабе все прописано. смонтировал sysfs. появилась /sys с кучей подпапок. cat /sys/class/vtconsole/vtcon1/name сообщает fb dysplay или что-то в этом духе. на экране - нифига. роем дальше при наличии времени. |
|
|
|
|
|
sasamy (Guest) |
|
|
Обновленная версия для nokia 6100:
работает намного быстрей - зметно даже на глаз
за счет основной пересылки в асинхронном режиме еще меньше ест процессор :)
С идеей асинхронной отрисовки экрана ничего не получилось - во первых на экране абракадабра, во вторых загрузка процессора 30% - я отказался вообще от этой идеи :) На очереди поддержка режима highcolor :) правда это будет псевдохайколор - больше 12 бит контроллер не умеет. |
|
|
|
|
|
rw9uao (Guest) |
|
|
саш, ты минигуй то завел? я тут что заметил, на cat /dev/fb0 мне не приходит та информация в консоль которую я закинул во фрейм буффер. может там собака порылась? |
|
|
|
|
|
sasamy (Guest) |
|
|
Нет - с гуями пока полная тишина :) только консоль. сегодня собрал microwindows (nano-x), это микроаналог х11, вроде работает но приложения - ниодно не работает, хотя может и сам нано не работает :) похоже все дело в нестандартном маленьком разрешении. с minigui вообще не понятно - там заявлено что независит от разрешения и теоретически работает на любом - в эмуляторе 132х132х8 работает а у меня на реальной сисстеме нет... написал им в форум - тишина.. такое ощущение что он использует какое-то поле в структурах fb_var_ или fb_fix_ которое я не инициализирую, у меня подозрение на параметры pixclock хотя нафига ему это может понадобиться совсем непонятно... ошибка в драйвере - маловероятна, сейчас с буфером напрямую работают встроенные в ядро в ф-ции - они 100% рабочие, драйвер только транслирует изменеиня на реальную память lcd. Уменя была подобная проблема в самом начале - я не указал длину строки .line_length в fb_fix_screeninfo - клиент читал ноль и соответственно ничего не выводил, если длина ноль то вроде как некуда выводить :) хотя разрешение экрана и все остальное получал правильно.. но сейчас в linux - все работает а эти внешние утилиты нет... например minigui даже не пытается что-то в буфер передать - я делал вставки при отладке в виде printk во все ф-ции вывода - там вообще тишина.
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Отредактированно sasamy 20.02.2009 г. в 18:15:48 |
|
|
|
|
|
rw9uao (Guest) |
|
|
снимал на сотик. подсветка скачет - блок питания маловат. 5 вольт, полампера всего. мадплэй играет в наушники. ффт честный с плавучкой на 256 точек. производительность ффт специально задавил с 10 фпс до 2-х иначе звук тормозит. пишет в /dev/fb0. консоли так и нет =( |
|
|
|
|
|
mysasa (Guest) |
|
|
Я решил не заморачиваться на minigui. Ошибку я свою понял в драйвере - как всегда подвело тупое копирование чужих идей в надежде что у когото работает - даже если это нечто идет вместе с ядром :) В общем даже если этот ks108 заработает с консолью толку от него будет немного - я как раз с него копировал идею. С графикой он тоже не будет работать как и мой - они оба не могут делать mmap на виртуальный буфер в ядре из пользовательского пространства, вернее даже если сделают (а для этого нужно вместо vmalloc при выделении места под буфер использовать что-то другое - так как он выделяет виртуальную память) они отображают только те области которые измнил модуль fbcon при вызове imagefill и тд или read и write при файловом вводе-выводе в то время как большинство программ используют именно mmap для обращения к буферу :) Для lcd на 2хks0108 (128х64) есть другой драйвер - я даже не знал о нем потому что он лежит совсем в другом месте
linux-2.6.28.1/Documentation/auxdisplay
тут все подробно с примерами расписано и он работает с mmap, правда он на lpt написан - переделать недолго там даже распиновка вся есть. Для своего я буду разбираться дальше - мне не хочется в очередной раз копировать чужие ошибки :) Мне не нравится как там разделен модуль на 2 части - думаю сделаю все в одном, у меня уже что-то работает, но экран искажен..не могу понять откуда грабли. мне все больше нравится nano-x :) я буду на него ориентироваться, нафик этих китайцев - там софта под минигуй нет почти а с наной можно практически все что под х11 работает завести и по отзывам он шустрый, по сравнению сним qt/e говорят просто тормоз неюзабельный. Интересный ресурс
http://sourceforge.net/projects/linux-on-sx1/
там арм920 вроде - в общем с нашей платой бинарники ослика работают на ура :) |
|
|
|
|
|
rw9uao (Guest) |
|
|
да видел я этот аухдисплей. он меня что-то вообще не возбудил. да и маловат все же 128х64 =( фтопку короче. |
|
|
|
|
|
mysasa (Guest) |
|
|
Победил графику :) все работает отлично - процессор вообще не грузит - асинхронная передача через pdc, теперь вся память мапится. ссылка с видео - на внешнем ресурсе, тут я забанен и мой ip тоже - прокся заокеанская очень медленная..
www.sasamy.narod.ru/pcf8833.zip
Исходники
www.sasamy.narod.ru/pcf_8bpp.zip
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Отредактированно mysasa 26.02.2009 г. в 04:31:11 |
|
|
|
|
|
rw9uao (Guest) |
|
|
молодца! тукс как живой =) а где исходники то? =) |
|
|
|
|
|
mysasa (Guest) |
|
|
На исходники вторая ссылка - видимо я правил как раз в то же время когда было прочитано сообщение. Вот еще рабочий вариант с параллельным потоком вместо таймера - я вообще не понял зачем тот мигель делал отдельный модуль для потока... 3 отдельных модуля для которых критичен строгий порядок загрузки... Для чего поток понятно - обработчик таймера вызывается в контексте прерывания и далеко не все ф-ции ядра могут корректно работать в этом контексте, другое дело поток - там все что есть заработает.
www.sasamy.narod.ru/pcf8833_thread.c
кстати грабли у меня были связаны с самим lcd - он оказывается не умеет принимать данные на весь экран - пришлось бить на блоки и передавать блокми. я нигде не видел это в оописаниях - возможно это хрень конкретно в моем контроллере китайского производства, я не сразу понял в чем дело, думал проблемы с мапом физической памяти, весь интернет перерыл...на старом драйвере это не проявлялось потому что fbcon как раз маленьки блоками передает данные по размеру шрифта - 4х6=24 байта всего либо строки целиком - 6х132=792 байта - по моим экспериментальным данным lcd в состоянии принять 2048 байт, поэтому раньше этот глюк никак не проявлялся.
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Отредактированно mysasa 26.02.2009 г. в 07:56:02 |
|
|
|
|
|
|