|
|
  |
PCIe |
|
|
|
Feb 25 2010, 15:50
|
Местный
  
Группа: Свой
Сообщений: 451
Регистрация: 6-09-05
Из: Москва
Пользователь №: 8 284

|
Цитата(Methane @ Feb 15 2010, 17:51)  В конфигурационную флешку, то понятно. Но хотелось бы, чтобы к примеру загрузилась первоначальная прошивка, прошла энумерация. Загрузился драйвер, в какое-то внешнее ОЗУ подключенное к ПЛИС загрузил новую прошивку, что-то на плате перегрузило ПЛИС, прошивкой из внешнего ОЗУ, прошла новая енумерация, драйвер стал работать уже с новой прошивкой в ПЛИС. Это реально. У меня PCI Express на ПЛИС Virtex 5: XC5VSX50T Я написал небольшую программу которая сохраняет в файл на диске значение BAR0, BAR1; После перезагрузки прошивки содержимое BAR0, BAR1 и COMMAND стирается. Программа их восстанавливает. Это нормально работало на комьютере с chipset P45; Сейчас у меня компьютер с P55 и это уже не работает. Почему - не знаю.
|
|
|
|
|
Feb 27 2010, 10:50
|
Местный
  
Группа: Свой
Сообщений: 451
Регистрация: 6-09-05
Из: Москва
Пользователь №: 8 284

|
Цитата(Methane @ Feb 25 2010, 20:19)  А за время перезагрузки, RP не вешает на EP что "ошибка которую не удалось исправить"? Не знаю. А где это можно посмотреть ?
|
|
|
|
|
Mar 29 2010, 17:49
|
Участник

Группа: Участник
Сообщений: 21
Регистрация: 21-01-10
Пользователь №: 54 970

|
Здравствуйте, можно я подключусь к дискуссии? Точно такая же проблема у меня. Идея та же - нужно загрузить первоначальную прошивку, она по PCI-E заливает на флешку новую загрузку, ПЛИС рестартится, устройство переопределяется, всё работает под новой прошивкой. Цитата(disel @ Feb 16 2010, 09:12)  Все это возможно прямо через PCIe безо всякого SMBus-а. Добавить только к ПЛИСине какую нибудь мелкую CPLD, которая будет загрузкой управлять. Насчет хотплуга не знаю, попробую сегодня прошивку залить и запустить поиск оборудования. Чето всегда после перезагрузки тестировал, может зря. Ну, насколько я понимаю, для управления загрузкой не нужна никакая CPLD, у xilinx есть MultiBoot и ICAP, которые под это заточены. Вообще никакого дополнительного обвеса к ПЛИС не понадобится. У меня PCIe устройство, если плис перегрузить нагорячую, вообще нигде не видно после перезагрузки, не находится... Приходится перегружать компьютер. Надо будет попробовать сначала отключить устройство в диспетчере оборудования, а потом перегружать... И ещё я не понял на счёт BAR0, BAR1 и т.д... Зачем записывать их значения и восстанавливать? Я вот этот абзац вообще что-то не понял...
|
|
|
|
|
Mar 29 2010, 18:22
|

Гуру
     
Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230

|
Цитата(SiTi @ Mar 29 2010, 19:49)  Здравствуйте, можно я подключусь к дискуссии? Точно такая же проблема у меня. Идея та же - нужно загрузить первоначальную прошивку, она по PCI-E заливает на флешку новую загрузку, ПЛИС рестартится, устройство переопределяется, всё работает под новой прошивкой. Угу. На всё про все 0.2 секунды. Иначе, PC имеет полное право сказать "нет там ничего". Цитата Ну, насколько я понимаю, для управления загрузкой не нужна никакая CPLD, у xilinx есть MultiBoot и ICAP, которые под это заточены. Вообще никакого дополнительного обвеса к ПЛИС не понадобится. Может быть, у хилых. Цитата У меня PCIe устройство, если плис перегрузить нагорячую, вообще нигде не видно после перезагрузки, не находится... Приходится перегружать компьютер. Надо будет попробовать сначала отключить устройство в диспетчере оборудования, а потом перегружать... Под линухом, говорят ноужно загрузить специальный драйвер, тогда и хот-свап появится. у PCIe. Цитата И ещё я не понял на счёт BAR0, BAR1 и т.д... Зачем записывать их значения и восстанавливать? Я вот этот абзац вообще что-то не понял... BAR0 - обычная память. BAR1 - память для таблицы дескрипторов для чайнинг-ПДП. Вы говорите, что вам нужно столько-то памяти для BAR0, столько-то памяти для BAR1 итд. Это для того что Альтера предлагает. А уж где эта память будет, решает BIOS или OS при загрузке.
|
|
|
|
|
Mar 30 2010, 05:29
|
Знающий
   
Группа: Свой
Сообщений: 610
Регистрация: 22-04-05
Пользователь №: 4 410

|
Цитата(SiTi @ Mar 29 2010, 20:49)  Ну, насколько я понимаю, для управления загрузкой не нужна никакая CPLD, у xilinx есть MultiBoot и ICAP, которые под это заточены. Вообще никакого дополнительного обвеса к ПЛИС не понадобится. Ну например если прошивок больше четырех. А так конечно можно и ИКАПом. У меня после прошивки на лету происходит следующее: данные в пространстве конфигурации читаются новые, но в БАРах нули. Плата соответственно не работает.
|
|
|
|
|
Mar 30 2010, 06:25
|

Гуру
     
Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230

|
Цитата(disel @ Mar 30 2010, 08:16)  Не стоит на мой опыт ориентироваться, поскольку задача хотплуга у меня не стояла. И честно говоря я даже в стандарте не успел про это почитать. Дело не только в хотплаге. Дело в том что хотелось бы 1. Грузить прошивку прямо из драйвера. 2. Не перезагружать комп при каждой смене прошивки. Да, а поставить плату в компютер, (пустую, без прошивки) а потом запрограммировать ее через JTAG, получается? Я читал что у народа работает, но тоже только один раз. Если сменить прошивку, не работает.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|