|
Изменение конфигурационной флэш, Для fpga Altera и Xilinx |
|
|
|
Aug 19 2015, 18:53
|
Частый гость
 
Группа: Свой
Сообщений: 75
Регистрация: 10-12-04
Из: spb
Пользователь №: 1 435

|
Да как к обычным, только нужно понимать что у вас там сидит конфигурационная EPCS (EEPROM). И НИОСОМ дрыгая этими ножками я обновлял прошивку. Почему не нашли, приложил картинки.
|
|
|
|
|
Aug 20 2015, 19:15
|
Знающий
   
Группа: Свой
Сообщений: 642
Регистрация: 15-11-07
Пользователь №: 32 353

|
Цитата(Andrew Su @ Aug 18 2015, 21:39)  Добрый день Golikov A., еще раз. Был реализован проект на базе Virtex5FX70T (внутри PowerPC), в качестве конфигурационной флэшки XCF128XFTG64C, подключенная по параллельной шине. В программе PowerPC была реализована функция приема новой прошивки по PCIe, сохранение ее в DDR2, а потом перепрошивки флэш. Реально работает. Думаю, аналогично можно что-то похожее реализовать и на Спартане6, вставив в проект, например Microblaze простенькой конфигурации. С Альтерой не работал, советовать не берусь. Удачи. 2Andrew Su: Virtex5FX70T и XCF128XFTG64C были в одной JTAG-цепочке? Служебными ножками ПЛИС дергала при записи в XCF?
--------------------
Правильно сформулированый вопрос содержит в себе половину ответа. P.S.: Некоторые модераторы в качестве ответа так навязчиво предлагают посетить свой сайт, что иначе как саморекламу такие действия интерпретировать сложно.
|
|
|
|
|
Aug 23 2015, 12:39
|
Местный
  
Группа: Свой
Сообщений: 371
Регистрация: 24-07-05
Из: Москва
Пользователь №: 7 056

|
Цитата(Golikov A. @ Aug 19 2015, 12:44)  Пока я только видел предложения из исходников ALTASMI_PARALLEL выдрать подключение самого ASMI, и через него работать, но это типа не документировано. А чем сам ALTASMI_PARALLEL не устраивает? Там же вроде всё предельно просто.
|
|
|
|
|
Aug 24 2015, 06:30
|
Гуру
     
Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454

|
Просто, даже слишком. То есть запись, чтение, верификация и прочее превращены в отдельные законченные, самостоятельные операции и каждую надо поддержать (а у нас есть еще семейство ксалинкс, где такого нет, то есть там еще и дописать такое же). Опустившись на уровень обмена по SPI, мне надо поддержать команды опустить/поднять чипселект и передать/считать байт по SPI, причем для всех семейств. А вопрос формирования данных выноситься на уровень выше, в процессор, где делать это удобнее. Прошивка ПЛИС упрощается, и какие-бы функции работы с флэш не понадобились бы в будущем (защита секторов и так далее) нет шансов их не сделать.
|
|
|
|
|
Jul 12 2017, 13:04
|
Местный
  
Группа: Свой
Сообщений: 244
Регистрация: 4-03-08
Из: Москва
Пользователь №: 35 621

|
Возникла задача, похожая на сформулированную автором темы. А именно: заливать в Xilinx Plastform Flash XL прошивку для Virtex 5, действуя из самой ПЛИС через штатные ноги связи со флэш (подключение в режиме slave SelectMAP). JTAG при этом доступен только до ПЛИС, но не до флэш. Посему, вопросы: 1) Как вообще сгенерировать mсs-файл для Platform Flash XL? В Impact 14.7 всё так, как описано в UG161, список доступных устройств заканчивается xcf32, xcf128 там просто нет. 2) В UG161 (Xilinx Platform Flash PROM User Guide) описано множество специальных регистров во флэш, которые нужно записывать при записи в неё прошивки. А в DS617 (на саму Platform Flash XL) они не упоминаются. Нужно ли что-то кроме самой прошивки записывать в исходно чистую флэш, чтоб с неё загрузиться?
С тем, использовать ли Microblaze + LogiCORE IP XPS Multi-channel External Memory Controller или же изобретать велосипеды на КА - ещё предстоит разбираться.
--------------------
...а Сила, Брат - она - в несиловых решениях.
|
|
|
|
|
Jul 12 2017, 14:15
|
Местный
  
Группа: Свой
Сообщений: 301
Регистрация: 18-09-07
Из: Украина
Пользователь №: 30 647

|
Цитата(Intekus @ Jul 12 2017, 16:04)  Возникла задача, похожая на сформулированную автором темы. А именно: заливать в Xilinx Plastform Flash XL прошивку для Virtex 5, действуя из самой ПЛИС через штатные ноги связи со флэш (подключение в режиме slave SelectMAP). JTAG при этом доступен только до ПЛИС, но не до флэш. Посему, вопросы: 1) Как вообще сгенерировать mсs-файл для Platform Flash XL? В Impact 14.7 всё так, как описано в UG161, список доступных устройств заканчивается xcf32, xcf128 там просто нет. 2) В UG161 (Xilinx Platform Flash PROM User Guide) описано множество специальных регистров во флэш, которые нужно записывать при записи в неё прошивки. А в DS617 (на саму Platform Flash XL) они не упоминаются. Нужно ли что-то кроме самой прошивки записывать в исходно чистую флэш, чтоб с неё загрузиться?
С тем, использовать ли Microblaze + LogiCORE IP XPS Multi-channel External Memory Controller или же изобретать велосипеды на КА - ещё предстоит разбираться. Добрый день. 1) Надеюсь по картинке понятно, как выбрать xcf128. Или для SPI Flash
Прикрепленные файлы
1.pdf ( 284.77 килобайт )
Кол-во скачиваний: 17
2.pdf ( 574.15 килобайт )
Кол-во скачиваний: 15
|
|
|
|
|
Jul 12 2017, 14:55
|
Местный
  
Группа: Свой
Сообщений: 244
Регистрация: 4-03-08
Из: Москва
Пользователь №: 35 621

|
Цитата(Andrew Su @ Jul 12 2017, 17:15)  Добрый день. Надеюсь по картинке понятно, как выбрать xcf128. Или для SPI Flash Выбрать получилось, благодарю! Правда, потребовался вариант с несколькими ревизиями. А что по второму вопросу, на счёт записи особых регистров (USERCODE, например)? Есть они в Platform Flash XL? И возник ещё один вопрос: при выбранном варианте iMpact запрашивает начальные адреса ревизий; их лучше указать ровно по границам четвертей, чтоб иметь возможность выбирать нужную ревизию исключительно двумя старшими битами адреса - верно?
--------------------
...а Сила, Брат - она - в несиловых решениях.
|
|
|
|
|
Aug 18 2017, 14:02
|
Местный
  
Группа: Свой
Сообщений: 244
Регистрация: 4-03-08
Из: Москва
Пользователь №: 35 621

|
Посмотрел генерируемый iMpact файл mcs - по-моему, там расположена вся необходимая информация, так что дополнительных записей в некие регистры, о которых я спрашивал ранее, не нужно.
Возник следующий вопрос, отчасти по теме дистанционного обновления прошивок. В "Virtex-5 FPGA Configuration User Guide" (ug191.pdf) на стр. 153 внизу встретилась фраза "Fallback is disabled if AES is enabled and for Slave SelectMAP mode." Верно ли я понял, что загрузка в аварийную прошивку в случае ошибки при загрузке основной (механизм "Fallback MultiBoot") недоступна в варианте конфигурации Slave SelectMAP (даже для нешифрованных прошивок)? Т. е., если конфигурирование сделано по схеме Slave SelectMAP, то, чтоб воспользоваться загрузкой в аварийную прошивку при сбое, необходимо выбрать другую схему конфигурирования (а значит - и физически переделать печатную плату)?
--------------------
...а Сила, Брат - она - в несиловых решениях.
|
|
|
|
|
Aug 18 2017, 15:53
|

Частый гость
 
Группа: Свой
Сообщений: 164
Регистрация: 27-06-04
Пользователь №: 194

|
Цитата(Intekus @ Aug 18 2017, 17:02)  Посмотрел генерируемый iMpact файл mcs - по-моему, там расположена вся необходимая информация, так что дополнительных записей в некие регистры, о которых я спрашивал ранее, не нужно.
Возник следующий вопрос, отчасти по теме дистанционного обновления прошивок. В "Virtex-5 FPGA Configuration User Guide" (ug191.pdf) на стр. 153 внизу встретилась фраза "Fallback is disabled if AES is enabled and for Slave SelectMAP mode." Верно ли я понял, что загрузка в аварийную прошивку в случае ошибки при загрузке основной (механизм "Fallback MultiBoot") недоступна в варианте конфигурации Slave SelectMAP (даже для нешифрованных прошивок)? Т. е., если конфигурирование сделано по схеме Slave SelectMAP, то, чтоб воспользоваться загрузкой в аварийную прошивку при сбое, необходимо выбрать другую схему конфигурирования (а значит - и физически переделать печатную плату)? В слэйв режиме вы сами контролирует загрузку. Что хотите, то и грузите
--------------------
qwerty
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|