Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.08;
Скачать: CL | DM;

Вниз

Как прочитать данные с 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 вся ветка

Текущий архив: 2004.08.08;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.034 c
3-1089902393
KETT
2004-07-15 18:39
2004.08.08
Как суммировать значения полей двух таблиц получить третию ?


1-1090911200
faost
2004-07-27 10:53
2004.08.08
ActionToolBar с градиентной заливкой


14-1089411617
Johnramireswolf
2004-07-10 02:20
2004.08.08
OGG (VEG 10.07.04 02:14) » Интересный формат - не зависимо


3-1089617066
Prohodil Mimo
2004-07-12 11:24
2004.08.08
При загрузке системы почему-то стал отключаться сервер ИБ.


6-1086783090
Orion2
2004-06-09 16:11
2004.08.08
IE





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