реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Не стартует комп на некоторых матерях с PCI-платой собственной разработки, Хелп!!!
Pavel_
сообщение Oct 14 2009, 13:09
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 18
Регистрация: 8-09-09
Пользователь №: 52 238



Имеется PCI-плата собственной разработки с самостоятельно реализованным PCI-контроллером на базе ALTERA MAX II, 32 разряда, target only.
В ходе тестирования на разных материнских платах выяснилось, что плата не работает на 2-х промышленных системах на базе MB886 и PCA-6008. Происходит следующее: компьютер не проходит процедуру POST и останавливается на коде 25 , что означает "Ранняя инициализация устройств PCI. Перечисление устройств на шине. Назначение ресурсов ОЗУ и УВВ. Поиск устройства видеосистемы, расширения BIOS и запись информации в
область C000:0h (сегментный адрес в регистре CS:адрес смещения в регистре IP)"
На многих других платформах разных поколений устройство работает без проблем.
Бьюсь уже неделю, уже не знаю где копать.... Подскажите идею что можно протестировать/проверить...
Go to the top of the page
 
+Quote Post
Pavel_
сообщение Oct 15 2009, 05:12
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 18
Регистрация: 8-09-09
Пользователь №: 52 238



Пробовал включать устройство после процедуры POST (с помощью джампера) Любой регистр конфигурационного пространства читается правильно, следовательно в логике ошибки нет...
Кто-нибудь знает что БИОСу нужно от устройства PCI на этапе 25h ???
И ещё вопрос: кто как поступает с неиспользуемыми BAR-ами: нужно возвращать ноль при чтении или можно вообще их не поддерживать (для экономии ресурсов ПЛИС)?
Go to the top of the page
 
+Quote Post
BSV
сообщение Oct 15 2009, 06:06
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 541
Регистрация: 11-04-05
Из: Москва
Пользователь №: 4 045



Цитата(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) для сигналов шины выдерживаются?


--------------------
Дурак, занимающий высокий пост, подобен человеку на вершине горы - все ему кажется маленьким, а всем остальным кажется маленьким он сам. /Законы Мерфи/
Go to the top of the page
 
+Quote Post
Elresearch
сообщение Oct 15 2009, 06:11
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 214
Регистрация: 29-12-04
Пользователь №: 1 730



Цитата
кто как поступает с неиспользуемыми BAR-ами: нужно возвращать ноль при чтении или можно вообще их не поддерживать (для экономии ресурсов ПЛИС)?

У меня возвращает 0. имхо все регистры конф пространства (256 байт) Вы должны поддерживать. + желательно Capability IDs
Go to the top of the page
 
+Quote Post
Pavel_
сообщение Oct 15 2009, 08:06
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 18
Регистрация: 8-09-09
Пользователь №: 52 238



Заработало!!!! Спасибо большое BSV и Elresearch!!!!
Вот ведь подстава... не каждая система требует поддерживать все конфигурационные регистры, кто как хочет, так и реализует PCI.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 7th July 2025 - 10:29
Рейтинг@Mail.ru


Страница сгенерированна за 0.01372 секунд с 7
ELECTRONIX ©2004-2016