Глава 5, Драйверы встраиваемых устройств |
Предыдущая Содержание Следующая |
Перенос драйверов устройств из других RTOS (Real-Time Operating System, Операционных Систем Реального Времени) для встраиваемого Linux является сложной работой. Драйверы устройств являются частью подсистемы ввода-вывода Linux.Подсистема ввода-вывода обеспечивает доступ для приложений к низкоуровневому оборудованию с использованием чётко определённого интерфейса системных вызовов. Рисунок 5.1 даёт общий обзор того, как приложения используют драйверы устройств.
Рисунок 5.1 Обзор архитектуры драйверов устройств Linux.
Драйверы устройств в Linux делятся на три типа:
▪Драйверы символьных устройств: они используются для управления устройствами с последовательным доступом. Объём адресуемых данных не ограничен по размеру. Приложения обращаются к драйверам символьных устройств с помощью стандартных вызовов, таких как open, read, write. Например, драйвер последовательного порта является драйвером символьного устройства. ▪Драйверы блочных устройств: они используются для управления устройствами с произвольным доступом. Обмен данными происходит в терминах блоков. Драйверы блочных устройств используются для хранения файловых систем. В отличие от символьных драйверов, приложения не могут обращаться напрямую к драйверам блочных устройств; они могут быть доступны только через файловую систему. Файловая система монтируется на блочное устройство, в результате чего драйвер блочного устройства становится посредником между накопителем информации и файловой системой. Например, дисковый драйвер является драйвером блочного устройства. ▪Драйверы сетевых устройств: драйверы сетевых устройств рассматриваются как отдельный класс драйверов устройств, потому что они взаимодействуют со стеком сетевых протоколов. Приложения не обращаться к ним напрямую; с ними взаимодействует только сетевая подсистема.
Эта глава объясняет некоторые из наиболее часто используемых подсистем драйверов устройств на встраиваемых платформах. Мы обсуждаем последовательные, сетевые, I2C драйверы, а также драйверы периферийных устройств (gadget) USB и сторожевого таймера.
|
Предыдущая Содержание Следующая |