Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Драйвер под Windows для платы NI DAQ через PCI
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Программирование
Nathan Stark
В общем, вопрос к специалистам. Есть следующая задача:
Написать драйвер для платы DAQ 6281 от Natianal Instruments подключаемой к шине PCI. ОС Windows. Знаю, что есть офф. драйвер, но задача именно написать свой. Минимально допустимо сделать хотя бы идентификацию платы в Windows и частично разобраться с протоколом обмена этой платы, не реализуя это все в готовом драйвере. Задача максимум конечно создать рабочий драйвер. Разобраться с протоколом нужно так как ни одного описания по структуре платы и способу обмена данными я не нашел, хотя может просто не то и не там искал. В общем задачу можно разделить на анализ "чужой" платы как черного ящика и собственно реализацию драйвера

Теперь собственно в чем конкретно мне нужна помощь. Я никогда в жизни не писал драйверов. Опыт в программировании конечно есть, в том числе и в низкоуровневом кодировании МК. Но я никак не построю для себя четкой картины и плана действий, учитывая плохое знание Принципов написания драйверов и Архитектуры Windows. Делать все за меня не прошу, хотелось бы просто услышать общие сведения о подходе к решению данной задаче, литературу, форумы. Начал читать книгу Солдатова, но пока особо вопросы не разрешились. Ведь главное вообще узнать:

1) Как выяснить протокол работы чужой платы (дампы памяти делать, как их анализировать?) и насколько это реально конкретно мне как не профи.
2) Как вообще узнать о работе с PCI шиной?
3) Какие инструменты использовать для написания драйвера?

Всем заранее Спасибо!
XVR
Цитата(Nathan Stark @ Feb 26 2011, 00:18) *
1) Как выяснить протокол работы чужой платы (дампы памяти делать, как их анализировать?) и насколько это реально конкретно мне как не профи.

Сеё называется reverse engineering и требует весьма и весьма солидной квалификации
Цитата
2) Как вообще узнать о работе с PCI шиной?
С самой шиной вам работать и не надо, за вас это сделает Windows. Читайте MSDN (в разделах DDK и WDK). Для понимания драйверов 'в общем' советую книжку 'Использование Microsoft Windows Driver Model', 2е издание, Уолтер Они.
В принципе можно сделать не PnP драйвер (т.е. классический, не WDM), он попроще, но 'не рекомендуется' MS.
Цитата
3) Какие инструменты использовать для написания драйвера?
WDK (или DDK - устаревший) от MS. Их можно скачать с сайта MS. В состав и того и другого входит документация (она так же есть on-line на сайте с MSDN) и масса примеров (втом числе и работы с PCI)

Еще можно взять готовые framework'и (например (NuMega) Compuware Driver Studio - увы discontinued), или серия windrv (Jungo WinDriver)

Nathan Stark
Спасибо, XVR, за термин Reverse Engineering, это послужило ключом к целенаправленному поиску информации и часть вопросов у меня уже отпала по мере чтения статей)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.