Программирование PCI в Windows XP
Есть PCI-устройство собственного изготовления на Altera.
Нужно научиться для Windows XP:
-находить его в компьютере;
-считывать и записывать в него 32-разрядные данные;
-реагировать на прерывания.
Работаю в Microsoft Visual C++ 6.0.
С чего начать, что почитать, где посмотреть примеры?
Буду очень благодарен за обстоятельные ответы.
+ тебе нужен DDK
http://www.microsoft.com/downloads/details.aspx?FamilyID=2105564e-1a9a-4bf4-8d74-ec5b52da3d00&displaylang=en
В принципе, когда возьмеш книгу, там все попутно описывается.
Ну и опытом поделись, чего достиг, какие результаты.... DDK уже скачал....
Пока есть вот что:
1) Скачал с http://books.tr200.ru/v.php?&id=23867&p=8
Автор:Уолтер Они
Название: "Использование microsoft windows driver model"
Издательство: Питер Год: 2007 Формат: djvu Размер: 30,2 Мб
Может кто подскажет где скачать приложение с примерами к данной книге на CD, там должно быть около 50 Мб.
2) На http://www.pcports.ru/Articles.php есть статьи и примеры о "Программирование драйверов". Там объясняют "..как написать свой собственный драйвер под Windows XP с использованием Driver Development Kit от Microsoft."
Кстати, там есть и DDK.
Работаю пока с этим источником. Может еще есть что-то аналогичное?
Применительно к PCI...
Цитата: Serhiy_UA
Может еще есть что-то аналогичное?
Применительно к PCI...
Применительно к PCI...
Что-то аналогичное DDK но применительно к PCI? Ну это вы загнули... Читайте.
Ничего не понял....
DDK помогает откомпилировать стек драйверов и создать файл *.sys, который потом включается в реестр. Но перед этим нужно написать эти самые PCI-драйвера, сопрячь их с User-уровнем, но как? Речь об этом, нужна помощь...
Или здесь вопросы задавать запрещают?
Я эмбедер-разработчик, за плечами куча проектов, пишу коды на ассемблере и C++ для AVR, MCS51, MCS196, Silabs и NiosII. Освоил RS, USB, Ethernet-100, E1, SHDSL. Наконец PCI, со стороны железа на Verilog писал сам, теперь нужно работать с платой со стороны Windows XP... Есть опыт работы в C++ Builder 6, теперь немного Visual C++ 6.0. Приходится делать все…
Ничего не делающий не ошибается и вопросов не задает...
Цитата: Serhiy_UA
DDK помогает откомпилировать стек драйверов и создать файл *.sys, который потом включается в реестр. Но перед этим нужно написать эти самые PCI-драйвера, сопрячь их с User-уровнем, но как?
DDK это набор файлов для разработки драйвера (.h, .lib, компилятор, документация, примеры). Стек драйверов получается путем навешивания одних на другие: драйвер фс - драйвер раздела - драйвер диска - драйвер IDE - драйвер PCI. Тема большая и непростая - нужно прочесть книгу. Есть вариант - воспользоваться к-либо сторонним пакетом разработки драйверов именно для PCI (может быть у Jungo, NuMega) - но как правило это некавайно, дорого, велик риск обломаться в будущем (NuMega вроде давно бросила поддержку). Посему я советую засесть за прочтение литературы.
Цитата: Serhiy_UA
Речь об этом, нужна помощь...
Или здесь вопросы задавать запрещают?
Я эмбедер-разработчик, ... Приходится делать все…
Ничего не делающий не ошибается и вопросов не задает...
Создается впечатление что я вас чем-то задел. Но я и не думал. :)
Спасибо за соображения, этот ответ пока самый обстоятельный!
PCI-плата уже работает в DOS на Pascal, но программист, опытный и сильный, уволился в частную фирму. Для дальнейшего развития темы приходится переходить на Windows XP. Там в планах еще PCI-X и PCI-e , но пока бы просто драйвера для PCI осилить.
На счет книг - уже работаю, как говорится, не впервой. Иностранцы меня разочаровывают "водицей", отечественные лучше, но там тоже есть подражатели сырость разводить. Пока отталкиваюсь от статьи и примеров в http://www.pcports.ru/Articles.php.
На Jungo денег не дадут, придется поработать самому.