|
|
  |
PCIe |
|
|
|
Mar 30 2010, 07:00
|
Знающий
   
Группа: Свой
Сообщений: 610
Регистрация: 22-04-05
Пользователь №: 4 410

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

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

|
Цитата(disel @ Mar 30 2010, 09:00)  Согласен, правильная идея. Вот только как оказалось, не реализуемая. По идее. Цитата Пустая плата через джитаг программируется нормально, косяков не было. Альтера говорит, что чтобы оно и работало потом, это должно произойти за 0.2 с с момента подачи питания.
|
|
|
|
|
Mar 30 2010, 08:01
|

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

|
Цитата(disel @ Mar 30 2010, 09:30)  Наверное я не о том написал, вопроса не понял. Под программированием платы я понимал прошивку ПЗУ. Заливать же через джитаг в ПЛИС прошивку при старте не побывал. Да и смысла в этом нет. Альтера правильно говорит про 0,2 с. Стандарт PCIe говорит о том же. Залить прошивку за это время не реально. Вот. Я читал, что если плата уже воткнута, и компьютер загружен, то если загрузить прошивку, то компьютер распознает, и правильно проинициализирует. Но если потом в плату прошивку перезагрузить, то правильно работать она уже не будет. Но по идее под линухом можно это обойти.
|
|
|
|
|
Mar 30 2010, 09:36
|

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

|
Цитата(dmitry-tomsk @ Mar 30 2010, 11:30)  Если хочется грузить прошивку с пользовательского приложения, то на плате дожно быть устройство для хранения загружаемой прошивки - флэш память (медленно программруется, ограничен ресурс) или микроконтроллер, который будет хранить прошивку в ОЗУ. Тогда можно было бы зашить в ПЛИС бутлоадер - чистый интерфейс с PCIe и интерфейсом к этому микроконтроллеру. Перед загрузкой рабочей прошивки нужно считать configuration space PCIe платы, который устанавливается ОС или БИОС при старте, перегрузить прошивку, а потом восстановить configuration space своим драйвером. Загрузиться из флеши, дождаться конфигурации, записать конфигурацию к примеру во флеш, записать новую прошивку из драйвера во флеш, перезагрузиться с новой прошивкой из флеши, восстановить конфигурацион спейс из флеши. Где-то так? Слишком сложно.
|
|
|
|
|
Mar 30 2010, 09:56
|
Знающий
   
Группа: Свой
Сообщений: 672
Регистрация: 18-02-05
Пользователь №: 2 741

|
Цитата(Methane @ Mar 30 2010, 12:36)  Загрузиться из флеши, дождаться конфигурации, записать конфигурацию к примеру во флеш, записать новую прошивку из драйвера во флеш, перезагрузиться с новой прошивкой из флеши, восстановить конфигурацион спейс из флеши. Где-то так? Слишком сложно. Зачем это configuration space во флэш писать? Это неколько регистров, они в памяти приложения остаются, которое прошивку перегружает (или драйвера). Сложного ничего нет, основная проблема - где хранить новую прошивку (флэш не самый удобный вариант).
|
|
|
|
|
Mar 30 2010, 10:38
|
Знающий
   
Группа: Свой
Сообщений: 610
Регистрация: 22-04-05
Пользователь №: 4 410

|
Цитата(Methane @ Mar 30 2010, 11:45)  В стандарте написано что прочитайте регистр, и в этом регистр бит говорит поддерживает сплот хотплаг или не поддерживается. Вопрос, как сказать системе, то какой-то конкретный сплот поддерживает хотплаг? Читать нужно: PCI Standard Hot-Plug Controller and Subsystem Specification 1.0 Только не знаю где взять.
|
|
|
|
|
Mar 30 2010, 10:46
|

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

|
Цитата(dmitry-tomsk @ Mar 30 2010, 11:56)  Зачем это configuration space во флэш писать? Это неколько регистров, они в памяти приложения остаются, которое прошивку перегружает (или драйвера). Сложного ничего нет, основная проблема - где хранить новую прошивку (флэш не самый удобный вариант). Флеш, это минимум 10тыс циклов. Так что можно и в ней. Прошивать, так по любому нужна будет CPLD, которая будет грузить. Проще уж ней выкрутится. Дело не в этом. Криво получается. И как я понял, от настроек root port зависит, что будет делать компютер, если на время перезагрузки endPoint перестанет отвечать.
|
|
|
|
|
Mar 30 2010, 11:43
|
Участник

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

|
Цитата(Methane @ Mar 30 2010, 13:36)  Загрузиться из флеши, дождаться конфигурации, записать конфигурацию к примеру во флеш, записать новую прошивку из драйвера во флеш, перезагрузиться с новой прошивкой из флеши, восстановить конфигурацион спейс из флеши. Где-то так? Слишком сложно. Вот да... Я это и хотел сказать. Только вот не догадался, что конфигурационное пространство тоже надо сохранять... Цитата Зачем это configuration space во флэш писать? Это неколько регистров, они в памяти приложения остаются, которое прошивку перегружает (или драйвера). Вот только не понятно, как это приложение будет иметь доступ к устройству (для записи), которое на какое-то время отрубилось... Это возможно?
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|