Написание драйвера
От: dupamid Россия  
Дата: 16.07.02 10:51
Оценка:
Доброго времени суток всем!

Может быть, кто-нибудь поделиться с чего начать написание драйвера для 9х/NT (точнее видимо двух, для каждого семейства операционных систем свой).

В первую очередь меня интересует литература по данной тематике, желательно на русском языке, но подойдет и на английском главное, чтобы ее можно было в России за разумные деньги и сроки раздобыть (скачать). Конкретный пример кода тоже может помочь. MSDN у меня, естественно, есть, но он в качестве книги для начала мало подходит (уже пробовал).

Моя задача: написать драйвер для карточки ISA, который должен по прерыванию, писать и считывать из портов и выдавать эту информацию в пользовательское приложение. Время отклика на прерывание критично, так как данные пропадут, если их вовремя не прочитать. Это должно работать в 9х и NT.
О себе: я более 5 лет пишу код для win32 и знаю ее достаточно хорошо, неплохо знаю ассемблер, С/С++, работал с аппаратурой, но только в DOS.
Проблема: с чего начать, а дальше можно и по MSDN понять, что и как надо делать.

Заранее благодарен за любую помощь.
Re: Написание драйвера
От: Ken Keray Россия  
Дата: 16.07.02 13:05
Оценка:
Здравствуйте dupamid, Вы писали:

D>Доброго времени суток всем!


D>Может быть, кто-нибудь поделиться с чего начать написание драйвера для 9х/NT (точнее видимо двух, для каждого семейства операционных систем свой).


D>В первую очередь меня интересует литература по данной тематике, желательно на русском языке, но подойдет и на английском главное, чтобы ее можно было в России за разумные деньги и сроки раздобыть (скачать). Конкретный пример кода тоже может помочь. MSDN у меня, естественно, есть, но он в качестве книги для начала мало подходит (уже пробовал).


D>Моя задача: написать драйвер для карточки ISA, который должен по прерыванию, писать и считывать из портов и выдавать эту информацию в пользовательское приложение. Время отклика на прерывание критично, так как данные пропадут, если их вовремя не прочитать. Это должно работать в 9х и NT.

D>О себе: я более 5 лет пишу код для win32 и знаю ее достаточно хорошо, неплохо знаю ассемблер, С/С++, работал с аппаратурой, но только в DOS.
D>Проблема: с чего начать, а дальше можно и по MSDN понять, что и как надо делать.

D>Заранее благодарен за любую помощь.


Смотри DDK (для разных осей соответственно)
Keray
Re: Написание драйвера
От: SergH Россия  
Дата: 16.07.02 13:16
Оценка:
Здравствуйте dupamid, Вы писали:

D>Доброго времени суток всем!


D>Может быть, кто-нибудь поделиться с чего начать написание драйвера для 9х/NT (точнее видимо двух, для каждого семейства операционных систем свой).


D>В первую очередь меня интересует литература по данной тематике, желательно на русском языке, но подойдет и на английском главное, чтобы ее можно было в России за разумные деньги и сроки раздобыть (скачать). Конкретный пример кода тоже может помочь. MSDN у меня, естественно, есть, но он в качестве книги для начала мало подходит (уже пробовал).


D>Моя задача: написать драйвер для карточки ISA, который должен по прерыванию, писать и считывать из портов и выдавать эту информацию в пользовательское приложение. Время отклика на прерывание критично, так как данные пропадут, если их вовремя не прочитать. Это должно работать в 9х и NT.

D>О себе: я более 5 лет пишу код для win32 и знаю ее достаточно хорошо, неплохо знаю ассемблер, С/С++, работал с аппаратурой, но только в DOS.
D>Проблема: с чего начать, а дальше можно и по MSDN понять, что и как надо делать.

D>Заранее благодарен за любую помощь.


С опытом написания дров у меня напряжённо, но раз все молчат..

1. В этом деле MSDN тебе не помошник. Скачай DDK (они почти все бесплатно распространяются MS).
2. Где-то в сети я видел (и даже качал) книжку про написане WDM. Посмотри на http://www.reversing.net , может там.
3. В любом случае посмотри на http://www.reversing.net , там было что-то хорошее.
Делай что должно, и будь что будет
Re: Написание драйвера
От: Debug  
Дата: 16.07.02 13:33
Оценка:
Здравствуйте dupamid, Вы писали:

D>Доброго времени суток всем!


D>Может быть, кто-нибудь поделиться с чего начать написание драйвера для 9х/NT (точнее видимо двух, для каждого семейства операционных систем свой).


D>В первую очередь меня интересует литература по данной тематике, желательно на русском языке, но подойдет и на английском главное, чтобы ее можно было в России за разумные деньги и сроки раздобыть (скачать). Конкретный пример кода тоже может помочь. MSDN у меня, естественно, есть, но он в качестве книги для начала мало подходит (уже пробовал).


Попробуй почитать доки про NuMega DriverStudio. Там есть очень интересная библиотека DriverWorks.
Великолепно интегрируется с VisualStudio (правда только с 5-ой и 6-ой). Позволяет писать драйвера всех типов, начиная от VxD и NT, заканчивая WDM моделью. Вместе с ней идет много примеров. Я в свое время начинал именно с нее. Очень понравилось.

D>Моя задача: написать драйвер для карточки ISA, который должен по прерыванию, писать и считывать из портов и выдавать эту информацию в пользовательское приложение. Время отклика на прерывание критично, так как данные пропадут, если их вовремя не прочитать. Это должно работать в 9х и NT.


Нет проблем. Стандартный визард генерит уже готовый код для работы с железом (портами, прерываниями, DMA и т.д.), остается только в разделы // TODO: добавить свой код.

D>О себе: я более 5 лет пишу код для win32 и знаю ее достаточно хорошо, неплохо знаю ассемблер, С/С++, работал с аппаратурой, но только в DOS. Проблема: с чего начать, а дальше можно и по MSDN понять, что и как надо делать.


Кстати, на www.reversing.net видел хорошую книгу по разработке WDM драйверов.

D>Заранее благодарен за любую помощь.


Успехов
Re: Написание драйвера
От: shilon Молдова  
Дата: 17.07.02 06:41
Оценка:
Здравствуйте dupamid, Вы писали:

D>Доброго времени суток всем!


у меня было тоже самое:
— програмил под win32 много, и потом вот пришлось писать Драйвер под Нт\95.
сразу скажу что переход из мира Win32 в Kernel Mode ох как тяжко идет ...
я писал дравер для COM портового девайса (т.е. я с железом не работал на прямую!, а через менеджер портов ), и я этот дравер (вернее 4 штуки, под 2 аналогичных девайса для 95 и НТ )писал 5 мес. с одладкой (и все равно остались проблемы)...

и на сколько я понял, писать дравер для железа намного сложнее.
так что желаю удачи, если что пиши.

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

всетаки один совет дам: сразу же параллельно начинай юзать софтайс..
Re: Написание драйвера
От: dupamid Россия  
Дата: 17.07.02 09:40
Оценка:
Здравствуйте.

Спасибо всем ответившим!
Не могу не съехидничать, что DDK у меня естественно есть :) Когда я писал, что у меня есть MSDN – это был превентивный ответ, на самый популярный ответ, встречающийся в форумах «читайте MSDN». Интересно отметить, что документация по DDK была выведена из состава MSDN по моим ощущениям примерно год назад.
Так как не было ни одного отзыва про печатные книги на русском языке, видимо их просто нет, а очень жаль…
Re: Написание драйвера
От: Andrew S Россия http://alchemy-lab.com
Дата: 17.07.02 09:48
Оценка:
Здравствуйте dupamid, Вы писали:

Начни вот с этого:

1. Соломон, Руссинович "Внутреннее устройство MS Windows 2000.
Мастер-класс (с CD-ROM)" (http://www.books.ru/shop/books/2661)
2. Шрайбер "Недокументированные возможности Windows 2000. Библиотека
программиста (с CD-ROM)" (http://www.books.ru/shop/books/23294)

Обе книги с примерами на CD.

Успехов! (я сейчас и сам с KDM ковыряюсь. Если что — спрашивай)


D>Доброго времени суток всем!


D>Может быть, кто-нибудь поделиться с чего начать написание драйвера для 9х/NT (точнее видимо двух, для каждого семейства операционных систем свой).


D>В первую очередь меня интересует литература по данной тематике, желательно на русском языке, но подойдет и на английском главное, чтобы ее можно было в России за разумные деньги и сроки раздобыть (скачать). Конкретный пример кода тоже может помочь. MSDN у меня, естественно, есть, но он в качестве книги для начала мало подходит (уже пробовал).


D>Моя задача: написать драйвер для карточки ISA, который должен по прерыванию, писать и считывать из портов и выдавать эту информацию в пользовательское приложение. Время отклика на прерывание критично, так как данные пропадут, если их вовремя не прочитать. Это должно работать в 9х и NT.

D>О себе: я более 5 лет пишу код для win32 и знаю ее достаточно хорошо, неплохо знаю ассемблер, С/С++, работал с аппаратурой, но только в DOS.
D>Проблема: с чего начать, а дальше можно и по MSDN понять, что и как надо делать.

D>Заранее благодарен за любую помощь.
http://www.rusyaz.ru/pr — стараемся писАть по-русски
Re[2]: Написание драйвера
От: Аноним  
Дата: 17.07.02 10:25
Оценка:
Здравствуйте Andrew S, Вы писали:

AS>Здравствуйте dupamid, Вы писали:


AS>Начни вот с этого:


AS>1. Соломон, Руссинович "Внутреннее устройство MS Windows 2000.

AS>Мастер-класс (с CD-ROM)" (http://www.books.ru/shop/books/2661)
AS>2. Шрайбер "Недокументированные возможности Windows 2000. Библиотека
AS>программиста (с CD-ROM)" (http://www.books.ru/shop/books/23294)

AS>Обе книги с примерами на CD.


AS>Успехов! (я сейчас и сам с KDM ковыряюсь. Если что — спрашивай)


Большое спасибо, это вроде бы подойдет для начала.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.