Драйверы USB-устройств (devu-*)
devu | ||
Makefile | ||
README.md |
Общая структура USB-стека
┌─────────────────────────────┐ ┌─────────────────────────────┐
│ │ │ │
│ Контроллер USB шины ◂────*────▸ USB устройство │
│ │ │ │
└──────────────▴──────────────┘ └─────────────────────────────┘
│
┌──────────────┴──────────────┐
│ │
│ Драйвер контроллера │
│ USB шины (devu-*hci.so) │
│ │
└──────────────▴──────────────┘
│
*
│
┌──────────────┴──────────────┐ ┌───────────────────────────┐
│ │ │ │
│ Менеджер USB-стека (io-usb) ◂─── * ───┤ USB драйвер (devu-*) ◂───▸ /dev/usb***X
│ │ │ │ ▴
└─────────────────────────────┘ ▲ └───────────────────────────┘ │
│ │
│ ┌─────────────▾─────────────┐
Интерфейс libusbdi ───────┘ │ │
│ Клиентское приложение │
│ │
└───────────────────────────┘
Дерево исходных кодов
|- devu/
| |- keyboard/ - Исходный код драйвера поддержки USB-клавиатур
| |- mouse/ - Исходный код драйвера USB-мыши
| |- printer/ - Исходный код драйвера класса для USB-принтеров
| |- Makefile - Правила сборки дерева исходников
| `- common.mk - Параметры сборки драйверов
|
`- Makefile - Правила сборки дерева исходников
Сборка драйвера
- Установить и настроить комплект разработчика для ЗОСРВ "Нейтрино" редакции 2020.
- Выполнить команду:
make
Запуск драйвера
Общая схема запуска драйвера (не относится к драйверам контроллеров USB шин):
devu-* <опции_драйвера> &
Примеры:
devu-kbd -n /dev/usbkbd0 &
└───┬───┘ └───────┬───────┘
│ │
│ Опции
Драйвер
devu-mouse -n /dev/usbmouse0 -vvvv &
└────┬────┘ └───────────┬───────────┘
│ │
│ Опции
Драйвер
devu-prn -n /dev/usbpar0 -s /dev/io-usb/io-usb &
└───┬───┘ └──────────────────┬──────────────────┘
│ │
│ Опции
Драйвер