Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Ошибки паритета PCI и Windows.
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > ISA/PCI/PCI-X/PCI Express
Novikm
Можно ли у Windows узнать об ошибке паритета на транзакции чтения по шине PCI?
При записи ошибку можно зарегистрировать, обработать и самому. А при чтении у кого об этом спрошивать? Самым простым (и единым, стандартным) вариантом было-бы у ОС или у драйвера шины. Иначе придется разбираться с мостами, хостами, чипсетами .. , и надежды осилить все это не много.
Этот вопрос уже поднимался на телесистемах, но ответа вроде не проэвучало. Может здесь, где вроде пока не столь оживленно, можно разобраться в этом важном (я так думаю) моменте для разработчиков железа и дайверов.
alostap
Возможно многие чипсеты не проверяют паритет. Или эта опция в них не используется. Я делал интерфейс (простой PCI-target) и при этом на паритет нагло наплевал. Однако ничего страшного не произошло. Интерфейс прекрасно работает (проверено наверное на 15 различных материнках), при этом никаких сообщений обшибках от Винда или от биоса или еще от чего не наблюдается. Возможно чипсеты не причем, а просто биос или ОС необрабатывают это ошибки.
Novikm
На своих платах поступал аналогично, и работает тоже вроде везде. Для устройств, с небогатыми ресурсами плисины и не критичных к ошибкам, такое решение наверно приемлимо. Но как быть, если контроль нужен?
При чтении из устройства ошибка фиксируется задатчиком обмена (мастером то бишь). При этом для того, чтобы узнать об ошибке необходимо знать и у кого и как спрашивать. Во-вторых, неизбежно придется терять время на эти опросы. Думаю самостоятельное решение этих проблем не есть правильный путь. Логичнее было бы узнать от Винды об ошибке по событию, исключению, прерыванию .. Но вот как договориться с ОС на сей счет?
Oldring
Да и многие мамы SERR/PERR просто игнорируют
Elresearch
Не всё так радужно. Если на маме установлена 3Com-овская или Marwell-овская сетевуха на гигабит, будут проблемы вплоть до полного зависания мамки. Пробовал на Asus P4C800 и Asus A8V. Эти чипаки выставляют PAR Error на шину, а их драйвер это пытается обработать. Если отключать сетевуху или сносить драйвер, то всё ок. Так что лучше не рисковать со стандартами, если конечно Ваше изделие идёт в широкую продажу.
vhlshik
у меня на нескольких старых материнках при ошибках паритета не шли транзакции или висла винда. (зависит от того, что выставляется SERR или PERR)

а по поводу:

"Можно ли у Windows узнать об ошибке паритета на транзакции чтения по шине PCI?"

мосты, как и все ус-ва PCI имеют конфигурационное пространство - туда и обращайтесь (если сможете smile.gif )
Novikm
С моста прочитать можно - именно таким образом убеждался в работоспособности схеы формирования паритета. При этом на всех доступных мне материнках контроль был отключен (по умолчанию, Виндой). На кой ляд его городить тогда ..?
Но вопрос был о том, как узнать над мостом (иль под мостом ..), т.е. не заморачиваясь на архитектуре, чипсетах и тд и тп? По уму этот момент должен бдить драйвер шины. Но как к нему достучаться, стандартизован ли кокай-нибудь диалог с ним? Что енто такое в общем, и с чем его едяць? Если у кого есть инфа на сей счет - буду благодарен за помощь.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.