Главная страница
    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.048 c
3-1089586197
Daniil
2004-07-12 02:49
2004.08.08
Многострочный DBGrid


14-1090613819
Косто
2004-07-24 00:16
2004.08.08
Подскажите что из литературы стоит почитать...


3-1089636306
libadmin
2004-07-12 16:45
2004.08.08
Что быстрее?


1-1090514193
saimon
2004-07-22 20:36
2004.08.08
TLabel вместо всплывающей подсказки (Hint)


14-1090395782
ИМХО
2004-07-21 11:43
2004.08.08
Ливень в Гондурасе





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский