реклама на сайте
подробности

 
 
> framebuffer драйвер
amaora
сообщение Jun 11 2009, 21:46
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 421
Регистрация: 2-01-08
Пользователь №: 33 778



Пишу драйвер PCF8833 (дисплей от nokia), оказалось взаимодействовать с ядром гораздо сложнее, чем с контроллером LCD.
Дисплей подключен по SPI, в связи с чем такая проблема,
mmap из userspace, похоже нет ни какого хорошего способа узнать, что память была отмэплена и перезаписана, и что новые данные пора отправить контроллеру.
есть два варианта,
- регулярно проверять буфер на изменения, не подходит т.к. это постоянный расход времени процессора
- обновлять по запросу из userspace, есть там какой то sync но как я понял он совсем не для этого, и ни кто его так не использует

может кто нибудь знает вариант получше?

Спасибо,
пока работает только fbcon, Прикрепленный файл  pcf8833.c.txt ( 10.02 килобайт ) Кол-во скачиваний: 426
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
amaora
сообщение Jun 16 2009, 14:00
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 421
Регистрация: 2-01-08
Пользователь №: 33 778



Да в чем разница то? ну растеризатор там вместо mpeg декодера, как это на работу драйвера влияет?

Переписать софт было бы правильнее, не плохо бы ещё сделать нормальную синхронизацию (ну то есть flush должен блокировать процесс или сообщать, что тот слишком часто шлет новые данные) а не пропуск кадров. Только это все не оправдано для такого дисплея, там 20 кадров в секунду похоже предел самого LCD.

Но скорее сделаю как проще, добавлю свой ioctl, для включения/отключения постоянной отправки кадров в контроллер LCD, а из userspace, когда надо запустить "не правленный" софт, можно включать это. Думаю это окончательный и лучший вариант.

И ещё раз про atmel_spi,
spi_write это синхронная функция, то есть явно не для больших объемов данных. Да можно было бы усложнить драйвер и избавится от этого недостатка, это ворос равновесия между сложностью интерфейса и реализации. Вы похоже сторонник хорошего внешнего интерфейса, и пусть будет кривая (но работающая) его реализация, так?

Это не баг по тому что автор драйвера видимо писал его зная об этой особенности, это именно особенность.

Сообщение отредактировал amaora - Jun 16 2009, 14:08
Go to the top of the page
 
+Quote Post
sasamy
сообщение Jun 16 2009, 15:06
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 783
Регистрация: 22-11-08
Пользователь №: 41 858



Цитата(amaora @ Jun 16 2009, 17:00) *
Переписать софт было бы правильнее
.....
Это не баг по тому что автор драйвера видимо писал его зная об этой особенности, это именно особенность.


В общем не вижу смысла в дальнейшей дискуссии smile.gif
Go to the top of the page
 
+Quote Post
VDV
сообщение May 24 2010, 11:19
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 152
Регистрация: 18-03-06
Пользователь №: 15 366



подскажите пожалуйста, можно где-то прочитать о том, что такое фрейм буфер?
в чем его отличие от символьного устройства?
(sceleton.c видел)
как с ним работать со стороны пользовательского пространства?
нашел только документы от 2000 и 2002 года.
технология с тех пор не менялась?
Go to the top of the page
 
+Quote Post
sasamy
сообщение May 24 2010, 16:13
Сообщение #5


Знающий
****

Группа: Участник
Сообщений: 783
Регистрация: 22-11-08
Пользователь №: 41 858



Цитата(VDV @ May 24 2010, 14:19) *
подскажите пожалуйста, можно где-то прочитать о том, что такое фрейм буфер?


Это буфер окна smile.gif

Цитата
в чем его отличие от символьного устройства?


В терминах системы это и есть символьное устройство.

Цитата
(sceleton.c видел)
как с ним работать со стороны пользовательского пространства?


Как с символьным устройством - read/write или mmap (последний чаще всего, вернее первый я кроме консоли нигде не встречал)

Цитата
нашел только документы от 2000 и 2002 года.
технология с тех пор не менялась?


Да какие там технлогии - это просто кусок памяти который имеет структуру в соответствии с текущим режимом: разрешение и цветность. Для fbcon кроме того есть специальные ф-ции с помощью которых можно ускорить работу с кусором или скролингом экрана - если это не поддерживается устройством аппаратно то их нет смысла эмулировать програмно, они не нужны для нормальной работы. Для примера простой вариант: экран 320х200@16 будет соответствовать сишному массиву uin16t fbscreen[200][320]; и для 16 бит пиксель состоит из rgb 565.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- amaora   framebuffer драйвер   Jun 11 2009, 21:46
- - Harbour   Смысл использовать mmap при последовательном обмен...   Jun 12 2009, 06:55
- - amaora   Если правильно использовать, то mmap быстрее write...   Jun 12 2009, 09:53
- - Harbour   mmap-то быстрее, но ведь все равно SPI в конце, д...   Jun 12 2009, 20:08
- - sasamy   Цитата(amaora @ Jun 12 2009, 00:46) Диспл...   Jun 14 2009, 15:50
|- - sasamy   Кстати насчет подобных конструкций: Кодstatic int...   Jun 14 2009, 17:02
- - amaora   Этот вариант я уже видел, мне он не понравился по ...   Jun 14 2009, 22:40
|- - sasamy   По поводу переключения bits_per_word - не совпадае...   Jun 15 2009, 05:45
- - amaora   Я понял, только написал не очень ясно. Прямая отпр...   Jun 15 2009, 15:48
|- - sasamy   Цитата(amaora @ Jun 15 2009, 19:48) Я пон...   Jun 15 2009, 18:56
|- - sasamy   Цитата(amaora @ Jun 15 2009, 19:48) Пряма...   Jun 16 2009, 04:08
- - amaora   Ну вот давайте ещё померяемся Попробовал сегодня...   Jun 16 2009, 10:05
|- - sasamy   Цитата(amaora @ Jun 16 2009, 14:05) Ну во...   Jun 16 2009, 11:37
- - VDV   тогда напрашиваются 2 вопроса. 1. если это просто ...   May 25 2010, 08:18
- - sasamy   Цитата(VDV @ May 25 2010, 12:18) тогда на...   May 25 2010, 10:00
- - VDV   Цитата(sasamy @ May 25 2010, 14:00) 2 Я д...   May 25 2010, 10:03
- - sasamy   Цитата(VDV @ May 25 2010, 13:03) я потому...   May 25 2010, 11:15
- - VDV   видимо я опять задал не тот вопрос... даже не знаю...   May 26 2010, 08:39
- - VDV   нашел наконец-то что-то http://books.google.ru/boo...   May 26 2010, 14:52
- - VDV   вопрос появился написал драйвер для своего дисплея...   Jun 10 2010, 15:16


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 3rd August 2025 - 09:25
Рейтинг@Mail.ru


Страница сгенерированна за 0.01414 секунд с 7
ELECTRONIX ©2004-2016