А ты внимательно статью читал? Там есть пример работы и для юзерспейса и для ядра. Это раз. Второе, цель была именно показать как пишется драйвер. В третьих, тут полноценная консоль, со всеми вытекающими. Стандартный вывод можно туда перенаправлять.
Эээххх... Молодежь... Ну драйвер, ну под Linux... Ну да, просто - за то его (пингвина) и любим... Чего орать-то?
Примеров навалом. От допотопного auxdisplay на KS01008 c LPT до Sharp LQ035 с полноцветкой на SPI. Бери любой за основу и пиши под свой контроллер.
Я тут с пол года назад пробовал Sharp Memory LCD LS027B7DH01 (типа жрет почти как E-INC, но вез его закидонов) - так шел именно этим путем. Сначала SPI драйвер, потом написал фирмварьку для USB (под рукой тогда Atmel'овская X Pro была) и перенес код под Linux с SPI на USB (благо не сложно).
Но если вдруг кому интересно... Схемы здесь не выставляю - они или типовые, или элементарные. А код весь здесь. Консоль работала. Midnight Commander бегал шустро, картинки выводились... А вот с видео беда - не нашел плейера, который бы в реально монохромный фреймбуфер выводить смог.
Ну прости, конечно познавательный элемент в тексте присутствует в приличном количестве. Только вот тогда до конца бы - параметры и шрифты через ioctl (самый идеалогически правильный путь), а не навороченной функцией handleInput(). В качестве бонуса - код станет проще и понятнее. Ну, и в многозадачной системе с такими read и write не ах до чего кошерно. Это про разделение ресурсов и игнорирование семафоров/мьютексов, очередей задач. Кстати, последние классное средство борьбы с задержками. Только о нем мало где написано
( ... )
Можете ещё раз перечитать статью, чтобы понять что ioctl там лишнее, это реализация консоли. Реализовать его - добавить одну функцию. Можно ещё и poll сделать было, и много всяких всячин. Но зачем? Это УЧЕБНЫЙ драйвер. Он априори БЕСПОЛЕЗЕН!!!
Работу с моим экраном можно и НУЖНО делать из юзерспейса
А вот вашу заморочку давайте отдельной статьёй с фотками в общий доступ. Это ж круто.
Comments 7
Reply
Второе, цель была именно показать как пишется драйвер.
В третьих, тут полноценная консоль, со всеми вытекающими. Стандартный вывод можно туда перенаправлять.
Reply
Примеров навалом. От допотопного auxdisplay на KS01008 c LPT до Sharp LQ035 с полноцветкой на SPI. Бери любой за основу и пиши под свой контроллер.
Я тут с пол года назад пробовал Sharp Memory LCD LS027B7DH01 (типа жрет почти как E-INC, но вез его закидонов) - так шел именно этим путем. Сначала SPI драйвер, потом написал фирмварьку для USB (под рукой тогда Atmel'овская X Pro была) и перенес код под Linux с SPI на USB (благо не сложно).
Но если вдруг кому интересно... Схемы здесь не выставляю - они или типовые, или элементарные. А код весь здесь. Консоль работала. Midnight Commander бегал шустро, картинки выводились... А вот с видео беда - не нашел плейера, который бы в реально монохромный фреймбуфер выводить смог.
Reply
А мы не орём, мы учим. Люди не рождаются умеющими писать дрова.
А что было сделано, нихрена не понял...
Reply
Только вот тогда до конца бы - параметры и шрифты через ioctl (самый идеалогически правильный путь), а не навороченной функцией handleInput(). В качестве бонуса - код станет проще и понятнее. Ну, и в многозадачной системе с такими read и write не ах до чего кошерно. Это про разделение ресурсов и игнорирование семафоров/мьютексов, очередей задач. Кстати, последние классное средство борьбы с задержками. Только о нем мало где написано ( ... )
Reply
Работу с моим экраном можно и НУЖНО делать из юзерспейса
А вот вашу заморочку давайте отдельной статьёй с фотками в общий доступ. Это ж круто.
Reply
Leave a comment