|
написание PCI драйвера под Win2K/XP/Vista |
|
|
|
Jul 10 2007, 08:56
|

Местный
  
Группа: Свой
Сообщений: 435
Регистрация: 8-03-06
Из: степей Украины
Пользователь №: 15 069

|
В ближней перспективе мне, возможно, придется заняться написанием драйвера для PCI-ной платы под Windows. Интересует WinXP и Win2K с перспективой переноса на Vista. Для начала на уровне чтения/записи в I/O и обработки прерываний от платы, далее-работа с памятью через DMA . Практического опыта в разработке драйверов нет. Нужна информация по состоянию дел в этой области на сегодняшний день и доступным инструментам.
Как я понимаю, раньше была одна модель драйверов – WDM (VxD не рассматриваем как древность) и 3 варианта разработки дров под нее: 1) С помощью Jungo Windriver 2) С помощью Numega Driver Studio 3) С помощью только DDK.
На сегодня, кроме WDM, у майкрософт появилась новая модель драйверов - Kernel-Mode Driver Framework (KMDF) and User-Mode Driver Framework (UMDF). Насколько я понял, с моделью KMDF можно работать в WinXP и Vista. А для Win2K она поддерживается? На какую модель WDM или KMDF лучше ориентироваться в новых разработках? С каким из инструментов (Jungo, Numega, чистый DDK) лучше работать (преимущества/недостатки/доступность)?
P.S. Ссылки на литературу и тематические форумы приветствуются. Google не предлагать.
|
|
|
|
|
 |
Ответов
|
Feb 2 2010, 21:23
|
Местный
  
Группа: Участник
Сообщений: 336
Регистрация: 7-03-07
Из: Петербург
Пользователь №: 25 961

|
Цитата(Serhiy_UA @ Jan 26 2010, 13:55)  4. Где бы найти работающие примеры драйверов и программ по обслуживанию PCI? 4 -> 5 Есть работающий драйвер, его вызовы известны и документированы. А вот как им пользоваться... Я раньше ничего специфического для Win не писал и не использовал. Задача примерно такая: буферизовать от 1 до N кусков данных и передавать их драйверу. Если все N массивов заполнены и ещё не переданы, заблокироваться и ждать, пока хотя бы один массив не освободится. Это задача вывода. И наоборот, ввод: ждать данные из драйвера, заполнить массив и записать его в файл. Повторять, пока из приложения не придёт комада стоп - вызовом StopInput(). Где бы раздобыть примерчик такого алгоритма? Логика не шибко сложная, но я очень плохо знаком с системными вызовами Windows, нужно что-нибудь для "быстрого старта" и в каком месте копать. Очень актуальный вопрос - всем кто поможет советом - спасибо.
|
|
|
|
|
Feb 3 2010, 06:36
|
Знающий
   
Группа: Свой
Сообщений: 721
Регистрация: 23-10-08
Из: next to Odessa
Пользователь №: 41 112

|
Цитата(AndrewN @ Feb 3 2010, 01:23)  Очень актуальный вопрос - всем кто поможет советом - спасибо. Продолжаю изыскания в этом же направлении. Пока ключевые моменты такие: 1.DriverStudio 3.2 (фирма NuMega) скачать можно здесь: http://www.cracklab.ru/download.php?action=list&n=MTA= 2.Затем Visual C++ 6, найти просто, а в него DriverStudio 3.2 включается автоматически. 3.Далее в VC++6, через меню DriverStudio -> DriverWizard создать драйвер и приложение для тестирования PCI-платы и драйверов. 4.Основные книги есть и в продаже и в электронном виде: - Уолтер Они «Использование microsoft windows driver model» - М. Руссинович, Д. Соломон «Внутреннее устройство Microsoft Windows: Windows Server 2003, Windows XP, Windows 2000.» - В. П. Солдатов «Программирование драйверов Windows» 3-е изд. 5. Еще примеры процесса, с пояснениями: - «Программирование драйверов» в DDK для LPT на http://www.pcports.ru/Articles.php - «Использование NuMega DriverStudio для написания WDM-драйверов» http://www.codenet.ru/progr/visualc/wdmnumega/6. А далее, удача и терпение, т.к. готовых примеров тоже не нашел и их никто не выдает, так что все самому....
|
|
|
|
|
Feb 3 2010, 11:03
|
Местный
  
Группа: Участник
Сообщений: 336
Регистрация: 7-03-07
Из: Петербург
Пользователь №: 25 961

|
Цитата(Serhiy_UA @ Feb 3 2010, 09:36)  4.Основные книги Нашёл все, спасибо. Пока искал, натолкнулся ещё на такое: Джонсон Харт, Системное программирование в среде Windows Ссылка: http://www.mirknig.com/knigi/programming/1...ie-v-srede.html
|
|
|
|
|
Feb 5 2010, 09:45
|
Знающий
   
Группа: Свой
Сообщений: 721
Регистрация: 23-10-08
Из: next to Odessa
Пользователь №: 41 112

|
Цитата(AndrewN @ Feb 3 2010, 15:03)  ... Джонсон Харт, Системное программирование в среде Windows Книга, на мой взгляд, скорее про Win32 API. По этому, вопрос такой: могут ли API-функции помочь в обслуживании PCI-плат, если да, то как? Растолкуйте, пожалуйста, кто знает.
|
|
|
|
Сообщений в этой теме
o-henry написание PCI драйвера под Win2K/XP/Vista Jul 10 2007, 08:56 Oldring Цитата(o-henry @ Jul 10 2007, 12:56)... Jul 10 2007, 10:09 Oldring Цитата(Oldring @ Jul 10 2007, 14:09) KMDF... Jul 10 2007, 19:31 v_mirgorodsky В свое время я начинал с двух книг. Первая - Edvar... Jul 10 2007, 10:11 v_mirgorodsky ЦитатаЗаглянул в документацию на последние версии ... Jul 11 2007, 07:11 Oldring Цитата(v_mirgorodsky @ Jul 11 2007, 11:11... Jul 11 2007, 09:09 v_mirgorodsky ЦитатаКонечно, придется. Но IMHO это меньшее зло, ... Jul 11 2007, 09:37 Oldring Цитата(v_mirgorodsky @ Jul 11 2007, 13:37... Jul 11 2007, 11:28  VslavX Цитата(Oldring @ Jul 11 2007, 14:28) Я, н... Jul 11 2007, 15:14 v_mirgorodsky ЦитатаВы при этом уверены, что Ваши драйвера прави... Jul 12 2007, 17:59 o-henry Мне хватило Windriver, ибо устройство для внутренн... Jan 26 2010, 10:08     ElefantElectronics Compuware Driver Studio - End Of Line уже года с 2... Nov 26 2010, 04:09
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|