Главная страница
    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.029 c
4-1088594150
noname
2004-06-30 15:15
2004.08.08
Оптимизация в Delphi


1-1090933296
Phoenix
2004-07-27 17:01
2004.08.08
Сортировка в ListView


1-1090568878
NJoe
2004-07-23 11:47
2004.08.08
TImage и рисование на канвасе


4-1088176298
Alaman
2004-06-25 19:11
2004.08.08
Как программно свернуть/ восстановить форму?


3-1089461301
JIurafdsfsdt
2004-07-10 16:08
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский