nickita startcev (nicka_startcev) wrote,
nickita startcev
nicka_startcev

linux, drivers

Чего бы такого прочитать про драйвера в линуксе и их идеологию?

как писать тупой блочный драйвер - понятно.
как сделать тупой псевдофайл в sysfs - понятно.
как делать юзерлевел фс - непонятно, но и пока что не нужно.

а вот есть такая недодуманная и недодизайненная задачка.

есть некая железяка (разберри пи), из нее торчит недошина spi, недошина i2c, несколько gpio.
всю эту группку "низкоуровневого железа" можно сконфигурировать разными способами прямо на ходу.
к этой группе выводов подключены несколько внешних устройств. эти устройства полуразумны, идея работы с ними "сконфигурил, выдал ЦУ, забыл. когда понадобилось - опросил состояние". Очевидно что эти устройства не могут работать одновременно (в смысле, одновременно общаться по шине сразу с несколькими из них нельзя, надо закончить общение с одним, перевести его в одно из каноничных состояний и только потом общаться с другим). Точнее, начав некую транзакцию общения с одним из них, ее нельзя прерывать, переключаясь на другое устройство. Как я понимаю, именно для таких случаев придумано понятие "шины" и "драйвера шины". На этой "шине" сидит как минимум два сорта устройств - один "кадровый буфер", в который надо долго но низкоприоритетно попиксельно или блоками заливать картинку плюс несколько "расширений", каждое из которых можно переконфигурировать как "7 линий ввода" или "7 линий вывода" или "7 ацп" или "7 ШИМов" или некие сочетания указанных состояний. Соответственно, хочется чтоб куда-то в юзерлевел торчала пачка псевдофайлов, каждый из которых соответствовал бы одному каналу управления и при переконфигурировании всего этого цирка динамически появлялось что нужно.

В общем, как корректнее всего разбить этот веселый зоопарк на отдельные драйвера, какие "сорта" драйверов мне понадобятся, какие еще есть архитектурные идеи, какую литературу читать по теме?
(англицкий, русский, болгарский языки годятся, прочие - лучче не надо)
Subscribe

  • обложки

    любопытно, а почему на обложках и иллюстрациях современных приключенческих книжек у всех героев такие дебиловатые лица?

  • цитата, величко

    Вы, конечно, вправе удивиться - что, канцлеру империи стало уж вовсе нечем заняться? Разумеется, нет, и чтением я занялся из соображений прикинуть…

  • маразмы

    Эммануэль - такой древний эро-фильм. Макаронг - какой-то филиппинский вариант вампира. а всё вместе - новая реальность, да еще и подретушированная

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 25 comments

  • обложки

    любопытно, а почему на обложках и иллюстрациях современных приключенческих книжек у всех героев такие дебиловатые лица?

  • цитата, величко

    Вы, конечно, вправе удивиться - что, канцлеру империи стало уж вовсе нечем заняться? Разумеется, нет, и чтением я занялся из соображений прикинуть…

  • маразмы

    Эммануэль - такой древний эро-фильм. Макаронг - какой-то филиппинский вариант вампира. а всё вместе - новая реальность, да еще и подретушированная