реклама на сайте
подробности

 
 
 
Closed TopicStart new topic
> MAXII Parallel Flash Loader - формат данных в ПЗУ
ISK
сообщение Apr 18 2014, 10:44
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 59
Регистрация: 9-06-05
Из: Киев
Пользователь №: 5 857



Есть проект, в котором Stratix IV конфигурируется посредством PFL, расположенного в MAXII, по схеме FPP(fast passive parallel). Конфигурационные данные хранятся в параллельной 1-гигабитной 16-битной ПЗУ (CFI). Есть задача удалённого обновления фирмваре. При программировании CFI через JTAG из .pof - файла - всё ОК, конфигурируется, работает. Теперь пытаюсь запрорграммировать флешку собственным софтом, для чего использую сгенерированный квартусом .rbf - файл. Проблема в том, что нужно правильно расположить данные из этого файла в адресном пространстве флешки. Как написано в "Parallel Flash Loader Megafunction User
Guide" нужно также записать т.н. "Option bits". В этих "Option bits" есть 4-х байтные поля с координатами расположения страниц конфигурационных данных, а по смещению 0x80 расположен т.н. ".pof version", который может принимать значения 0x3 и 0x4 (компрессированный битстрим или нет). Больше ничего в этом описании нет. Но когда я записал .rbf во флешку, конфигурация не происходит. Когда я сравнил свой вариант, и тот, который прошивал из .pof через itag, вижу что есть отличия в данных. Причём не в option битах, а в самом битстриме. Там в самом начале и в конце дописываются ещё 4 байта. О них я ничего в описании не нашёл. Кто нибудь с таким сталкивался?


Go to the top of the page
 
+Quote Post
doom13
сообщение Apr 18 2014, 11:45
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



У Вас отличаются данные в .pof и .rbf или результаты прошивки во флэш-памяти? У меня под Cyclone 5 в q13.0.1 .rbf файл формируется неправильно, тут обсуждалось.
На форуме альтеры также обсуждался вопрос неправильного генерирования .rbf, но, если не ошибаюсь, тоже под Cyclone 5. Может у Вас та же проблема и со Stratix 4.

Вот тема с форума Альтеры.

Сообщение отредактировал doom13 - Apr 18 2014, 12:11
Go to the top of the page
 
+Quote Post
ISK
сообщение Apr 22 2014, 20:13
Сообщение #3


Участник
*

Группа: Свой
Сообщений: 59
Регистрация: 9-06-05
Из: Киев
Пользователь №: 5 857



Цитата(doom13 @ Apr 18 2014, 13:45) *
У Вас отличаются данные в .pof и .rbf или результаты прошивки во флэш-памяти?


отличаются и те и другие. У меня проблема не в том, что rbf формируется неправильно. У меня он правильный. Проблема в том, чтобы имея сгенерированный квартусом rbf (или hexout) файл запрограммировать ПЗУ так, чтобы PFL мог сконфигурировать ПЛИС. Просто так записать голый rbf файл нельзя, для PFL нужны ещё дополнительные служебные биты. Альтера предлагает генерировать pof файл, и программировать его. Но pof содержит в себе образ всей флешки, а мне это не подходит, так как у меня в ПЗУ содержится ещё другая информация, которую нельзя перезатирать. Можно конечно выдрать из pof файла только нужный кусок и его прошивать, но это некрасивое решение. Неужели нет у альтеры решения на такой случай? Или никто дистанционно ПО не обновляет?
Go to the top of the page
 
+Quote Post
doom13
сообщение Apr 23 2014, 15:50
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(ISK @ Apr 22 2014, 23:13) *
Просто так записать голый rbf файл нельзя, для PFL нужны ещё дополнительные служебные биты. Альтера предлагает генерировать pof файл, и программировать его. Но pof содержит в себе образ всей флешки, а мне это не подходит, так как у меня в ПЗУ содержится ещё другая информация, которую нельзя перезатирать. Можно конечно выдрать из pof файла только нужный кусок и его прошивать, но это некрасивое решение.


Всегда использовался rbf-файл для удалённой перезаливки флэша, правда, это был либо PS-mode либо AS-mode, проблемы возникли только с q13.1 + Cyclone V + epcq.
Тут вот пишут, что rbf может использоватьться для программирования перед установкой флэша на плату, но разницы быть не должно. Только не совсем понял зачем смещать адрес.


Что-то мне подсказывает, что Ваши "Option bits" должны уже содержаться в rbf-файле при условии, что он был сгенерирован с правильными настройками (FPP и т.д.)
Go to the top of the page
 
+Quote Post
ISK
сообщение Apr 24 2014, 08:37
Сообщение #5


Участник
*

Группа: Свой
Сообщений: 59
Регистрация: 9-06-05
Из: Киев
Пользователь №: 5 857



Нет, Option Bits там нет точно. В общем я уже понял что вопрос можно решить с помощью

sof2flash --input=sof_file.sof --output=flash_file.flash --offset=0x20000 --pfl --optionbit=0x0 --programmingmode=FPP

из командной строки. Тогда при выполнении команды автоматически создаётся .pof, и из него затем генерируется .flash. Потом можно с помощью nios2-elf-objcopy сгенерить .bin. Тогда полученный файл содержит всё что нужно для загрузчика, кроме всё тех же Option Bit, но их можно вычислить самому, в PFL User Guide это расписано. Не написано только почему-то про все эти телодвижения с генерацией правильного .rbf (или .bin)
Go to the top of the page
 
+Quote Post

Closed TopicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th June 2025 - 13:12
Рейтинг@Mail.ru


Страница сгенерированна за 0.01362 секунд с 7
ELECTRONIX ©2004-2016