|
|
  |
Сбой при работе на PCI, Подскажите, кто сталкивался |
|
|
|
Oct 13 2005, 18:10
|
Группа: Новичок
Сообщений: 3
Регистрация: 13-10-05
Пользователь №: 9 610

|
Подскажите, кто сталкивался с такой ситуацией: при работе созданной мной платы на шине PCI иногда компьютер вылетает в DUMP и после этого даже приходиться перустанавливать Windows. Может, кто хоть теоретически объяснит, как такая ситуация может возникать. Плата только записывает данные, но с неё не считываются. Спасибо, за любую подсказку.
|
|
|
|
|
Oct 14 2005, 10:36
|
Частый гость
 
Группа: Свой
Сообщений: 79
Регистрация: 24-11-04
Пользователь №: 1 220

|
Начнем с того, что причина может быть как аппаратной так и программной. Если ядро собственное, то неисключены ошибки в реализации алгоритмов выхода на шину (порядок включения/выключения драйверов, завершения транзакции, генерации бита паритета). Это справедливо как для мастера, так и для таргета. Более сложен в реализации мастер, конечно же. С мастером часто бывает так, что он пишет не туда, куда вы хотите. Т.е. что то напутали со стартовым адресом бёрста. Но и при рабочей аппаратной части, драйвер может тоже напортачить выше крыши. Проверьте для начала каким образом вы получаете физиический адрес ячейки памяти, для организации бёрста вашего мастера из логического или виртуального эквивалента. Большие проблемы могут быть из за так называемого разделения прерываний. Ваше устройство может откликаться на чужое прерывание, со всеми последствиями, если вы не предусмотрели этот ход событий. Ну и в конце, правильно ли вы преобразовали физические адреса регистров контроллера в логические адреса вашей ОС?
|
|
|
|
|
Oct 15 2005, 18:25
|
Группа: Новичок
Сообщений: 3
Регистрация: 13-10-05
Пользователь №: 9 610

|
Если более точно, то плата представляет собой таргет. И плата работает только на запись информации. Прерывания не подключены. Плата реагирует на ошибки контроля четности выдачей сигналов SERR и PERR и записью соответствующих битов в регистр статуса. Возможен ли выход в DUMP при ложной выдаче сигналов SERR и PERR. Кстати, я не очень понимаю слэнг бёст, по-русски или английскими буквами можно? Еще не подскажите в интернете можно бесплатно скачать отладчик ядра?
|
|
|
|
|
Oct 15 2005, 18:57
|

Местный
  
Группа: Свой
Сообщений: 330
Регистрация: 10-06-05
Из: Россия, Москва
Пользователь №: 5 894

|
Цитата(Евдокимов @ Oct 15 2005, 22:25) Если более точно, то плата представляет собой таргет. И плата работает только на запись информации. Прерывания не подключены. Плата реагирует на ошибки контроля четности выдачей сигналов SERR и PERR и записью соответствующих битов в регистр статуса. Возможен ли выход в DUMP при ложной выдаче сигналов SERR и PERR. Кстати, я не очень понимаю слэнг бёст, по-русски или английскими буквами можно? Еще не подскажите в интернете можно бесплатно скачать отладчик ядра? SERR, PERR и контроль четности советую вообще отрубить, без них плата будет прекрасно работать, тем более SERR относится к категории фатальных ошибок... бёст = burst И всетаки неясно, какой PCI контроллер на вашей плате??? Свой собственный на ПЛИС или что-то готовое???
|
|
|
|
|
Oct 16 2005, 18:50
|
Группа: Новичок
Сообщений: 3
Регистрация: 13-10-05
Пользователь №: 9 610

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

Местный
  
Группа: Свой
Сообщений: 330
Регистрация: 10-06-05
Из: Россия, Москва
Пользователь №: 5 894

|
Цитата(Евдокимов @ Oct 16 2005, 22:50) Контроллерп свой собственный на ПЛИС. SERR относится к категории фатальных ошибок...,но ошибок предусмотренных системой и не должных приводить к порче ядра и переустановке винды. Или я чего то не понимаю? Тогда копайте свой собственный контроллер, скорее всего ошибка в нем ( и уберите оттуда SERR и PERR, ненужны они в вашем случае). SERR и PERR могут убить систему, если возникают спонтанно. А так как винда слетает насовсем, значит на диск пишется чушь -> конфликт с контроллером ЖД, причем с порчей данных! Может конечно и драйвер совсем криво написан... Проверьте временные диаграммы на шине PCI от Вашего контроллера, может он где-то шину не отпускает, или включается не вовремя или... так можно перечислять долго... SERR - предусмотрен спецификацией PCI, а как на него отреагирует система - ХЗ
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|