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

Можете читать мой вопрос как "за него не надо доплачивать".

Изменено пользователем Koluchiy

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


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

В конфигурационную флешку, то понятно. Но хотелось бы, чтобы к примеру загрузилась первоначальная прошивка, прошла энумерация. Загрузился драйвер, в какое-то внешнее ОЗУ подключенное к ПЛИС загрузил новую прошивку, что-то на плате перегрузило ПЛИС, прошивкой из внешнего ОЗУ, прошла новая енумерация, драйвер стал работать уже с новой прошивкой в ПЛИС.

 

 

Это реально. У меня PCI Express на ПЛИС Virtex 5: XC5VSX50T

Я написал небольшую программу которая сохраняет в файл на диске значение BAR0, BAR1;

После перезагрузки прошивки содержимое BAR0, BAR1 и COMMAND стирается. Программа их восстанавливает.

Это нормально работало на комьютере с chipset P45; Сейчас у меня компьютер с P55 и это уже не работает. Почему - не знаю.

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


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

Это реально. У меня PCI Express на ПЛИС Virtex 5: XC5VSX50T

Я написал небольшую программу которая сохраняет в файл на диске значение BAR0, BAR1;

После перезагрузки прошивки содержимое BAR0, BAR1 и COMMAND стирается. Программа их восстанавливает.

Это нормально работало на комьютере с chipset P45; Сейчас у меня компьютер с P55 и это уже не работает. Почему - не знаю.

А за время перезагрузки, RP не вешает на EP что "ошибка которую не удалось исправить"?

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


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

А за время перезагрузки, RP не вешает на EP что "ошибка которую не удалось исправить"?

 

Не знаю. А где это можно посмотреть ?

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


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

Господа, прикиньте, сколько времени будет через SMBus загружаться прошивка? Там ведь не десятки мегагерц, даже не единицы. 100 KHz там всего :wacko: (пусть даже 400 в PMBus, все равно не спасет)

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


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

Господа, прикиньте, сколько времени будет через SMBus загружаться прошивка? Там ведь не десятки мегагерц, даже не единицы. 100 KHz там всего :wacko: (пусть даже 400 в PMBus, все равно не спасет)

Прикидывал. Терпимо.

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


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

Здравствуйте, можно я подключусь к дискуссии?

Точно такая же проблема у меня. Идея та же - нужно загрузить первоначальную прошивку, она по PCI-E заливает на флешку новую загрузку, ПЛИС рестартится, устройство переопределяется, всё работает под новой прошивкой.

Все это возможно прямо через PCIe безо всякого SMBus-а. Добавить только к ПЛИСине какую нибудь мелкую CPLD, которая будет загрузкой управлять. Насчет хотплуга не знаю, попробую сегодня прошивку залить и запустить поиск оборудования. Чето всегда после перезагрузки тестировал, может зря.

Ну, насколько я понимаю, для управления загрузкой не нужна никакая CPLD, у xilinx есть MultiBoot и ICAP, которые под это заточены. Вообще никакого дополнительного обвеса к ПЛИС не понадобится.

 

У меня PCIe устройство, если плис перегрузить нагорячую, вообще нигде не видно после перезагрузки, не находится... Приходится перегружать компьютер. Надо будет попробовать сначала отключить устройство в диспетчере оборудования, а потом перегружать...

 

И ещё я не понял на счёт BAR0, BAR1 и т.д... Зачем записывать их значения и восстанавливать? Я вот этот абзац вообще что-то не понял...

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


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

Здравствуйте, можно я подключусь к дискуссии?

Точно такая же проблема у меня. Идея та же - нужно загрузить первоначальную прошивку, она по PCI-E заливает на флешку новую загрузку, ПЛИС рестартится, устройство переопределяется, всё работает под новой прошивкой.

Угу. На всё про все 0.2 секунды. Иначе, PC имеет полное право сказать "нет там ничего".

 

Ну, насколько я понимаю, для управления загрузкой не нужна никакая CPLD, у xilinx есть MultiBoot и ICAP, которые под это заточены. Вообще никакого дополнительного обвеса к ПЛИС не понадобится.

Может быть, у хилых.

У меня PCIe устройство, если плис перегрузить нагорячую, вообще нигде не видно после перезагрузки, не находится... Приходится перегружать компьютер. Надо будет попробовать сначала отключить устройство в диспетчере оборудования, а потом перегружать...

Под линухом, говорят ноужно загрузить специальный драйвер, тогда и хот-свап появится. у PCIe.

 

 

И ещё я не понял на счёт BAR0, BAR1 и т.д... Зачем записывать их значения и восстанавливать? Я вот этот абзац вообще что-то не понял...

BAR0 - обычная память. BAR1 - память для таблицы дескрипторов для чайнинг-ПДП. Вы говорите, что вам нужно столько-то памяти для BAR0, столько-то памяти для BAR1 итд. Это для того что Альтера предлагает. А уж где эта память будет, решает BIOS или OS при загрузке.

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


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

Ну, насколько я понимаю, для управления загрузкой не нужна никакая CPLD, у xilinx есть MultiBoot и ICAP, которые под это заточены. Вообще никакого дополнительного обвеса к ПЛИС не понадобится.

Ну например если прошивок больше четырех. А так конечно можно и ИКАПом.

 

У меня после прошивки на лету происходит следующее: данные в пространстве конфигурации читаются новые, но в БАРах нули. Плата соответственно не работает.

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


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

Ну например если прошивок больше четырех. А так конечно можно и ИКАПом.

 

У меня после прошивки на лету происходит следующее: данные в пространстве конфигурации читаются новые, но в БАРах нули. Плата соответственно не работает.

Какая ось? Если линух то по идее pciehp.ko можно загрузить.

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


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

Какая ось? Если линух то по идее pciehp.ko можно загрузить.

 

WINXP и Мандрива 2009. Поведение одинаковое. pciehp.ko загружен.

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


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

WINXP и Мандрива 2009. Поведение одинаковое. pciehp.ko загружен.

Значит про загрузку прошивки прямо из драйвера придется забыть. :(

Значит ПЛИС + CPLD + NOR память. :( :( :(

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


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

Значит про загрузку прошивки прямо из драйвера придется забыть. :(

Значит ПЛИС + CPLD + NOR память. :( :( :(

 

Не стоит на мой опыт ориентироваться, поскольку задача хотплуга у меня не стояла. И честно говоря я даже в стандарте не успел про это почитать.

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


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

Не стоит на мой опыт ориентироваться, поскольку задача хотплуга у меня не стояла. И честно говоря я даже в стандарте не успел про это почитать.

Дело не только в хотплаге. Дело в том что хотелось бы

1. Грузить прошивку прямо из драйвера.

2. Не перезагружать комп при каждой смене прошивки.

 

Да, а поставить плату в компютер, (пустую, без прошивки) а потом запрограммировать ее через JTAG, получается? Я читал что у народа работает, но тоже только один раз. Если сменить прошивку, не работает.

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


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

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...