Перейти к содержанию

    

инициализация линка PCIe без выключения питания

Добрый день!

 

Стоит задача разработать систему с передачей данных от PCIe endpoint к rootport.

Использую отладочную плату на Cyclone V GT - https://www.altera.com/products/boards_and_...clone-v-gt.html

На начальном этапе заливаю пример http://www.alterawiki.com/wiki/Reference_D...DMA_-_Cyclone_V

 

Проверяю наличие платы в системе (Win7) прогой http://teledynelecroy.com/protocolanalyzer...px?seriesid=447

После включения питания материнки и загрузки системы плата определяется.

Если заново сконфигурировать альтеру то система плату не находит.

 

Возможно спрошу дурь, но я еще в начале процесса приседаний с PCIe, поэтому не обессудьте)))

 

Вопрос - каким образом можно перезапускать инициализации линка PCIe в системе после загрузки циклона без выключения/включения питания материнки?

 

Спасибо!

 

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Вопрос - каким образом можно перезапускать инициализации линка PCIe в системе после загрузки циклона без выключения/включения питания материнки?

Только Ctrl-Alt-Del и принудительной паузой путем захода в Bios. Т.е. перезагружаем комп, заходим в Bios. Затем конфигурируете циклон, как надо и выходите из BIOSа путем "Exit saving changes". Почему "Saving Changes"? - потому что на некоторых матерях только в этом случае генерится нормальный хардварный ресет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Win7 делает enumerate для PCIe если подергать сигналом Present на слоте.

Если на материнке Present не разведён - то перенумерацию шины PCIe в винде не сделать никак. Только полная перезагрузка.

Естественно PCIe device должен быть уже готов принять конфигурацию BARов к этому моменту.

 

а на деле всё ещё запущеннее.

Винда ждёт прихода ACPI-сообщения.

А его может сформировать только SMI (кусок BIOS-a).

А есть ли там эта обработка - зависит от того, насколько ответственно подходил производитель материнки к перепиливанию BIOS под конкретный экземпляр.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

Перед загрузкой прошивки надо сохранить регистры COMMAND, BAR0-5. После загрузки прошивки эти регистры надо восстановить. И можно продолжать работать. Windows при этом не замечает временного пропадания платы из системы.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Перед загрузкой прошивки надо сохранить регистры COMMAND, BAR0-5. После загрузки прошивки эти регистры надо восстановить. И можно продолжать работать. Windows при этом не замечает временного пропадания платы из системы.

Вы сами то так пробовали?? Это может прокатить в случае реконфигурации, не более... Но и в этом я не уверен. Т.к. сохраняют всю таблицу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как ни странно, способ, описанный здесь, работает!

 

Есть ли разумное объяснение почему ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация