Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Сбой при работе на PCI
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > ISA/PCI/PCI-X/PCI Express
Евдокимов
Подскажите, кто сталкивался с такой ситуацией: при работе созданной мной платы на шине PCI иногда компьютер вылетает в DUMP и после этого даже приходиться перустанавливать Windows. Может, кто хоть теоретически объяснит, как такая ситуация может возникать. Плата только записывает данные, но с неё не считываются. Спасибо, за любую подсказку.
makc
В Windows для платы наверняка установлен какой-нибудь драйвер. Если проблема в драйвере, то нужно аккуратненько записать то, что выдает винда на синем экране при возникновении ошибки, взять отладчик уровня ядра (kd) и натравить его на дамп. После определенных усилий можно будет понять, что привело к фатальной ошибке.
-Al-
Похоже Ваша плата вызывает конфликт на шине... в качестве контроллера PCI что используется?
_pegas_
Начнем с того, что причина может быть как аппаратной так и программной.
Если ядро собственное, то неисключены ошибки в
реализации алгоритмов выхода на шину (порядок включения/выключения драйверов,
завершения транзакции, генерации бита паритета). Это справедливо как для
мастера, так и для таргета. Более сложен в реализации мастер, конечно же.
С мастером часто бывает так, что он пишет не туда, куда вы хотите. Т.е.
что то напутали со стартовым адресом бёрста.

Но и при рабочей аппаратной части, драйвер может тоже напортачить
выше крыши. Проверьте для начала каким образом вы получаете физиический
адрес ячейки памяти, для организации бёрста вашего мастера из логического или
виртуального эквивалента.
Большие проблемы могут быть из за так называемого разделения прерываний. Ваше устройство
может откликаться на чужое прерывание, со всеми последствиями, если вы не предусмотрели этот ход
событий. Ну и в конце, правильно ли вы преобразовали физические адреса
регистров контроллера в логические адреса вашей ОС?
Евдокимов
Если более точно, то плата представляет собой таргет. И плата работает только
на запись информации. Прерывания не подключены. Плата реагирует на ошибки контроля четности выдачей сигналов SERR и PERR и записью соответствующих битов в регистр статуса. Возможен ли выход в DUMP при ложной выдаче сигналов SERR и PERR.
Кстати, я не очень понимаю слэнг бёст, по-русски или английскими буквами можно?
Еще не подскажите в интернете можно бесплатно скачать отладчик ядра?
-Al-
Цитата(Евдокимов @ Oct 15 2005, 22:25)
Если более точно, то плата представляет собой таргет. И плата работает только
на запись информации. Прерывания не подключены. Плата реагирует на ошибки контроля четности выдачей сигналов SERR и PERR и записью соответствующих битов в регистр статуса. Возможен ли выход в DUMP при ложной выдаче сигналов SERR и PERR.
Кстати, я не очень понимаю слэнг бёст, по-русски или английскими буквами можно?
Еще не подскажите в интернете можно бесплатно скачать отладчик ядра?
*

SERR, PERR и контроль четности советую вообще отрубить, без них плата будет прекрасно работать, тем более SERR относится к категории фатальных ошибок...

бёст = burst

И всетаки неясно, какой PCI контроллер на вашей плате??? Свой собственный на ПЛИС или что-то готовое???
makc
Цитата(Евдокимов @ Oct 15 2005, 21:25)
Еще не подскажите в интернете можно бесплатно скачать отладчик ядра?
*


http://www.microsoft.com/whdc/devtools/deb...installx86.mspx
Евдокимов
Цитата(-Al- @ Oct 15 2005, 21:57)
Цитата(Евдокимов @ Oct 15 2005, 22:25)
Если более точно, то плата представляет собой таргет. И плата работает только
на запись информации. Прерывания не подключены. Плата реагирует на ошибки контроля четности выдачей сигналов SERR и PERR и записью соответствующих битов в регистр статуса. Возможен ли выход в DUMP при ложной выдаче сигналов SERR и PERR.
Кстати, я не очень понимаю слэнг бёст, по-русски или английскими буквами можно?
Еще не подскажите в интернете можно бесплатно скачать отладчик ядра?
*

SERR, PERR и контроль четности советую вообще отрубить, без них плата будет прекрасно работать, тем более SERR относится к категории фатальных ошибок...

бёст = burst

И всетаки неясно, какой PCI контроллер на вашей плате??? Свой собственный на ПЛИС или что-то готовое???
*



Контроллерп свой собственный на ПЛИС. SERR относится к категории фатальных ошибок...,но ошибок предусмотренных системой и не должных приводить к порче ядра и переустановке винды. Или я чего то не понимаю?
-Al-
Цитата(Евдокимов @ Oct 16 2005, 22:50)
Контроллерп свой собственный на ПЛИС. SERR относится к категории фатальных ошибок...,но ошибок предусмотренных системой и не должных приводить к порче ядра и переустановке  винды. Или я чего то не понимаю?
*

Тогда копайте свой собственный контроллер, скорее всего ошибка в нем ( и уберите оттуда SERR и PERR, ненужны они в вашем случае). SERR и PERR могут убить систему, если возникают спонтанно. А так как винда слетает насовсем, значит на диск пишется чушь -> конфликт с контроллером ЖД, причем с порчей данных! Может конечно и драйвер совсем криво написан...
Проверьте временные диаграммы на шине PCI от Вашего контроллера, может он где-то шину не отпускает, или включается не вовремя или... так можно перечислять долго...

SERR - предусмотрен спецификацией PCI, а как на него отреагирует система - ХЗ
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.