Как писать драйвера (часть 1) - Направления и технологии - Shelek
Часть первая: "Что нужно для компиляции простейшего драйвера?"

Для разных типов Windows вам понадобиться разный набор программ. В любом случае надо скачать Win DDK (Driver Development Kit), для той платформы, под которую пишется драйвер. Его можно брать с разных источников, лично я предпочитаю сайт Майкрософта. Для линейки 9х вам понадобится и SDK (Software Development Kit), который возьмите там же.

Так как под продукцию Билла Гейтса стоит поставить и VC++ , я посоветую ставить в таком порядке.

1. Visual C++ 6
2. SDK
3. DDK

Для более поздних платформ достаточно только DDK. Установив все эти продукты вы получите возможность собирать и инсталлировать драйвера.

Первая тестовая компиляция.

Да, не удивляйтесь, начнем мы именно с этого. По принципу создания, я обычно предпочитаю не писать весь драйвер целиком с нуля. Поверьте, очень нудное и практически невозможное занятие. Мне так и не удалось довести это до конца, уж слишком глубоких знаний самой системы это требует.

Мы пойдем более простым и надежным путем. После установки DDK, у вас появились в директории samples или sources, в зависимости от версии, коды примеров драйверов. Это ваша библия, которую стоит изучить. Проверка, собственно, правильности прописывания путей (environments), и собственно самой DDK и SDK - состоит в пробной компиляции примера. Компиляция осуществляется посредством стандартных средств. Программами build, make и link. Makefile уже написан за вас, и вам надо сделать следующее. Зайдя в Start menu в разделе Programs|DDK|Build environment выберите вариант free и запустите. Запустится стандартное окно терминала, с установленными переменными среды сборки DDK. Перейдите в директорию с sources драйвера, который вы выбрали. Компилировать и собирать в корневой директории DDK не стоит. Это приведет к сборке ВСЕХ драйверов примеров и компиляции всех библиотек, а это очень долго. В корневой директории примера (драйвер принтера в нашем случае) запустите build с параметрами -cZ. Если вы получили ошибки перепроверьте ваши установки. В нормальном случае вы получите возможность увидеть надпись об удачной сборки sys или vxd файла - в определенной директории. Чаще всего это Free/i386/. Но бывает и другая. Это говорит о том что ваш драйвер собран правильно и установка прошла успешно.
Information
  • Posted on 01.02.2010 00:58
  • Просмотры: 3841