Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Не стартует комп на некоторых матерях с PCI-платой собственной разработки
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > ISA/PCI/PCI-X/PCI Express
Pavel_
Имеется PCI-плата собственной разработки с самостоятельно реализованным PCI-контроллером на базе ALTERA MAX II, 32 разряда, target only.
В ходе тестирования на разных материнских платах выяснилось, что плата не работает на 2-х промышленных системах на базе MB886 и PCA-6008. Происходит следующее: компьютер не проходит процедуру POST и останавливается на коде 25 , что означает "Ранняя инициализация устройств PCI. Перечисление устройств на шине. Назначение ресурсов ОЗУ и УВВ. Поиск устройства видеосистемы, расширения BIOS и запись информации в
область C000:0h (сегментный адрес в регистре CS:адрес смещения в регистре IP)"
На многих других платформах разных поколений устройство работает без проблем.
Бьюсь уже неделю, уже не знаю где копать.... Подскажите идею что можно протестировать/проверить...
Pavel_
Пробовал включать устройство после процедуры POST (с помощью джампера) Любой регистр конфигурационного пространства читается правильно, следовательно в логике ошибки нет...
Кто-нибудь знает что БИОСу нужно от устройства PCI на этапе 25h ???
И ещё вопрос: кто как поступает с неиспользуемыми BAR-ами: нужно возвращать ноль при чтении или можно вообще их не поддерживать (для экономии ресурсов ПЛИС)?
BSV
Цитата(Pavel_ @ Oct 15 2009, 09:12) *
И ещё вопрос: кто как поступает с неиспользуемыми BAR-ами: нужно возвращать ноль при чтении или можно вообще их не поддерживать (для экономии ресурсов ПЛИС)?
Ответ на Ваш вопрос есть в спецификации - все поля конфигурационного пространства (обязательной его части) должны читаться корректно (п.6.1):
Цитата
All PCI devices must treat Configuration Space write operations to reserved registers as no-ops; that is, the access must be completed normally on the bus and the data discarded. Read accesses to reserved or unimplemented registers must be completed normally and a
data value of 0 returned.
Времена предустановки, удержания (setup/hold) для сигналов шины выдерживаются?
Elresearch
Цитата
кто как поступает с неиспользуемыми BAR-ами: нужно возвращать ноль при чтении или можно вообще их не поддерживать (для экономии ресурсов ПЛИС)?

У меня возвращает 0. имхо все регистры конф пространства (256 байт) Вы должны поддерживать. + желательно Capability IDs
Pavel_
Заработало!!!! Спасибо большое BSV и Elresearch!!!!
Вот ведь подстава... не каждая система требует поддерживать все конфигурационные регистры, кто как хочет, так и реализует PCI.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.