Методика портирования USB-драйвера c Windows на Linux на примере драйвера цифрового микроскопа Эксперт

Автор: Губин Павел

Методика портирования драйвера с Windows на Linux содержит в себе следующие ключевые этапы:

а) изучение принципа работы USB-драйвера Linux (прежде чем приступить к разработке, нужно хорошо понимать общее устройство модулей ядра Linux, а так же подробно представлять работу USB-драйвера – без этого дальнейшая работа невозможна);

б) исследование протокола общения устройства с компьютером по USB в Windows (протокол общения – правила, по которым идет взаимодействие по USB между компьютером и устройством; исследование протокола в данной методике осуществляется путем «прослушки» USB во время работы с устройством в Windows: посылая на устройства различные команды, с помощью программы «USB Sniffer» получаем логи общения, далее, фильтруя эти логи, мы получаем управляющие команды, из структуры которых выясняем состав протокола общения);

в) исследование исходного кода драйвера Windows для управления подсветкой микроскопа, если он доступен;

г) реализации модуля ядра (используя теорию, описанную во втором пункте и данные в третьем, мы можем реализовать драйвер (модуль ядра) работающий на Linux и использующий выясненный протокол).

В результате выполнения данной курсовой работы можно сделать вывод о том, что методика портирования USB-драйвера описана и реализована на частном примере (микроскоп). В процессе написания данной методики были освоены и изучены:

а) язык программирования С;

б) программирование модулей ядра Linux;

в) протокол общения компьютера и USB-устройства.

Поставленные задачи решены полностью, а именно:

а) исследован принцип работы USB модуля ядра Linux (рассмотрены все основные составляющие (см. пункт 2 основной части), опробованы на практике простые примеры написания драйвера (такие, как «HelloWorld»), что значительно упростило дальнейшее изучение);

б) выделены ключевые паттерны взаимодействия с устройством по USB (изучено такое понятие, как протокол общения, применен и описан метод получения протокола);

в) приведен пример реализации модуля ядра для микроскопа.

Контактная информация

Председатель студенческого научного общества: Копылов Д.С.

197101, Санкт-Петербург, пр. Кронверкский, д.49, ауд. 455

Центр дистанционного обучения НИУ ИТМО  Кафедра компьютерных образовательных технологий НИУ ИТМО  Страница ВКонтакте