Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2004.08.08;
Скачать: [xml.tar.bz2];

Вниз

Как прочитать данные с PCI шины?   Найти похожие ветки 

 
pavel_guzhanov ©   (2004-06-25 14:34) [0]

Суть задачи в следующем: В PCI слот включена плата стороннего производителя. Она время от времени посылает информацию. Можно ли как то просмотреть, что она посылает? Возможно вопрос тупо сформулирован, извините


 
N170   (2004-06-25 15:48) [1]

Смотря куда посылает.
Вовне или внутрь.


 
pavel_guzhanov ©   (2004-06-25 15:57) [2]

К плате подключено внешнее устройство, которое и передает данные в компьютер. Моя задача - написать программу, которая обрабатывала бы эти данные


 
N170   (2004-06-25 16:06) [3]

Значит, надо выяснить, во-первых, идут ли с ней родные драйверы, через которые с нею можно работать.


 
pavel_guzhanov ©   (2004-06-25 16:13) [4]

драйверы от производителя есть, но нет их исходников


 
pavel_guzhanov ©   (2004-06-25 16:15) [5]

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


 
N170   (2004-06-25 16:16) [6]

Исходники не нужны, нужно описание, так сказать, интерфейсной части - документация по использованию: как работать с девайсом через драйвер, в общих словах; коды ioctl, описания параметров для взаимодействия через DeviceIoControl и тому подобная информация


 
N170   (2004-06-25 16:18) [7]

А карта поддерживает PnP?


 
pavel_guzhanov ©   (2004-06-25 16:21) [8]

а откуда это все можно узнать?


 
Reindeer Moss Eater ©   (2004-06-25 16:27) [9]

включена плата стороннего производителя

а откуда это все можно узнать?

от стороннего производителя


 
N170   (2004-06-25 16:29) [10]

[6] из сопроводительной документации,
[7] через редактор реестра, посмотрев раздел HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\PCI

Вообще, есть два пути - пытаться покоцать участок драйвер -- приложение, перехватывая пакеты, идущие по каналу от приложения к драйверу (это принципиально можно сделать, сотворив и внедрив драйвер-фильтр). Тогда можно узнать коды ioctl, попытаться расшифровать пакеты, если протокол незащищён криптографически.

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

И то, и другое довольно сложные задачи.


 
pavel_guzhanov ©   (2004-06-25 16:30) [11]

Я знаю только диапазон ввода вывода: 033E-033F, и что включена она в PCI гнездо 3(PCI шина 0, устройство 13, функция 0)


 
N170   (2004-06-25 16:42) [12]

Ну вот, уже неплохо. Теперь осталось сообразить, как платой управлять через эти два порта.
Так что можно найти, напр., компонент ZLPortIo и попытаться почитать эти адреса. В цикле. С выводом на консоль. Во время работы проги стороннего производителя.


 
pavel_guzhanov ©   (2004-06-29 10:20) [13]

ничего не выходит. показывает какую-то лажу, не имеющую ничего общего с тем, что мне надо. А можно как-то средствами делфи просто послушать pci шину? Или может быть есть такие компоненты?


 
Anatoly Podgoretsky ©   (2004-06-29 10:33) [14]

pavel_guzhanov ©   (29.06.04 10:20) [13]
Это возможно только на апаратном уровне, средствами анализатора шины.


 
pavel_guzhanov ©   (2004-06-29 12:13) [15]

я так понимаю, что сделать это ОЧЕНЬ сложно?


 
Anatoly Podgoretsky ©   (2004-06-29 12:18) [16]

И дорого, обычно анализаторы стоят килобаксы



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2004.08.08;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.036 c
1-1090494788
~ShamaN~
2004-07-22 15:13
2004.08.08
Quick Report


4-1088608218
Rain
2004-06-30 19:10
2004.08.08
Голосовой режим модема


1-1090829144
oss
2004-07-26 12:05
2004.08.08
присоединение файла obj


4-1088157926
AleXqwq
2004-06-25 14:05
2004.08.08
number o drives


10-1026384652
А. Н. Оним
2002-07-29 17:34
2004.08.08
Возврат DCOM сервером строки





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский