inco 1 19 июня, 2012 Опубликовано 19 июня, 2012 · Жалоба Есть демоплата от Альтеры с коркой PCIe. Переделал их проект под себя немного. Поставил на xp драйвер giveo.sys доступа к портам. Конфигурировать плату с PCIe получается. Все регистры PCIe настраиваются правильно. Теперь прописал в регистре BAR[0] адрес памяти для платы по которому хочу в неё писать. Писать хочу просто побайтно и смотреть появились ли данные в памяти ПЛИС. И вот тут наступила полная засада!!! Винда напрямую не пускает. Попробовал написать примитивный драйвер. При попытке записи по адресу записанному в BAR[0] получаю синий экран смерти! Что я делаю не так? Может кто-то по шагам рассказать или у кого-то есть пример, как это сделать со стороны персоналки. Никакие драйвера (кроме своей поделки) на плату с ПЛИС в винде не устанавливаю (хотя она просит), хочется просто пописать и почитать данные из ПЛИС по PCIe напрямую. Свой драйвер тоже не устанавливаю, а просто регистрирую и запускаю с помощью kmdManager. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dsmv 0 19 июня, 2012 Опубликовано 19 июня, 2012 · Жалоба Можно использовать драйвер UNINSYS: http://insys.ru/download/common/setup_uninsys.zip Что нужно сделать: 1. Определить физический адрес BAR0 2. Преобразовать его в виртуальный адрес в адресном пространстве приложения Есть примеры: unpci - поиск PCI устройства unmemmap - преобразование физического адреса в виртуальный Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
inco 1 19 июня, 2012 Опубликовано 19 июня, 2012 · Жалоба Спасибо большое! Похоже то что надо! Буду разбираться... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_pv 74 19 июня, 2012 Опубликовано 19 июня, 2012 · Жалоба Можно использовать драйвер UNINSYS: http://insys.ru/download/common/setup_uninsys.zip а нет вот такого же, но чтобы еще х64 и W7? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dsmv 0 21 июня, 2012 Опубликовано 21 июня, 2012 · Жалоба а нет вот такого же, но чтобы еще х64 и W7? Есть новый драйвер - наследник UNINSYS. Называется ISDRV. Есть версии для Win32 и Windows 7 x64 Но он ещё в стадии тестирования. Так что просьба сообщить о результатах использования. Как положительных так и отрицательных. isdrv.zip Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flood 13 27 июня, 2012 Опубликовано 27 июня, 2012 · Жалоба Платная альтернатива своему драйверу: Windriver от Jungo. http://www.jungo.com/st/windriver_usb_pci_...t_software.html Кроме того, для Windows есть программы типа PCITree, PCIScope, позволяющие читать-писать память PCI-устройств. В отладочных целях, когда нужно просто читать-писать байтики, проще всего делать это под Linux. Драйвер не нужен, от рута можно обращаться к /dev/mem - написать программу с mmap() или вообще использовать hexedit /dev/mem. Текущий BAR вашего устройства можно узнать через lspci. http://tldp.org/LDP/khg/HyperNews/get/devices/fake.html Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться