Заваял постец о написание дров под линь

Dec 16, 2013 01:26

Решил таки показать народу, что дрова писать ОооОооОочень просто


Read more... )

Понт, habr, linux, Инфо

Leave a comment

Comments 7

eddy_em December 15 2013, 22:02:26 UTC
Ну ты намудрил! Оно же в юзерспейсе проще решается!

Reply

dlinyj December 15 2013, 22:05:01 UTC
А ты внимательно статью читал? Там есть пример работы и для юзерспейса и для ядра. Это раз.
Второе, цель была именно показать как пишется драйвер.
В третьих, тут полноценная консоль, со всеми вытекающими. Стандартный вывод можно туда перенаправлять.

Reply


minimumlaw December 16 2013, 03:39:31 UTC
Эээххх... Молодежь... Ну драйвер, ну под Linux... Ну да, просто - за то его (пингвина) и любим... Чего орать-то?

Примеров навалом. От допотопного auxdisplay на KS01008 c LPT до Sharp LQ035 с полноцветкой на SPI. Бери любой за основу и пиши под свой контроллер.

Я тут с пол года назад пробовал Sharp Memory LCD LS027B7DH01 (типа жрет почти как E-INC, но вез его закидонов) - так шел именно этим путем. Сначала SPI драйвер, потом написал фирмварьку для USB (под рукой тогда Atmel'овская X Pro была) и перенес код под Linux с SPI на USB (благо не сложно).

Но если вдруг кому интересно... Схемы здесь не выставляю - они или типовые, или элементарные. А код весь здесь. Консоль работала. Midnight Commander бегал шустро, картинки выводились... А вот с видео беда - не нашел плейера, который бы в реально монохромный фреймбуфер выводить смог.

Reply

dlinyj December 16 2013, 05:49:38 UTC
>>Чего орать-то?

А мы не орём, мы учим. Люди не рождаются умеющими писать дрова.

А что было сделано, нихрена не понял...

Reply

minimumlaw December 16 2013, 07:49:18 UTC
Ну прости, конечно познавательный элемент в тексте присутствует в приличном количестве.
Только вот тогда до конца бы - параметры и шрифты через ioctl (самый идеалогически правильный путь), а не навороченной функцией handleInput(). В качестве бонуса - код станет проще и понятнее. Ну, и в многозадачной системе с такими read и write не ах до чего кошерно. Это про разделение ресурсов и игнорирование семафоров/мьютексов, очередей задач. Кстати, последние классное средство борьбы с задержками. Только о нем мало где написано ( ... )

Reply

dlinyj December 16 2013, 19:38:05 UTC
Можете ещё раз перечитать статью, чтобы понять что ioctl там лишнее, это реализация консоли. Реализовать его - добавить одну функцию. Можно ещё и poll сделать было, и много всяких всячин. Но зачем? Это УЧЕБНЫЙ драйвер. Он априори БЕСПОЛЕЗЕН!!!

Работу с моим экраном можно и НУЖНО делать из юзерспейса

А вот вашу заморочку давайте отдельной статьёй с фотками в общий доступ. Это ж круто.

Reply


Leave a comment

Up