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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Прошивку Плис загрузить на флешку используя свое ПО
go2winner
сообщение Oct 19 2015, 07:14
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 78
Регистрация: 19-10-15
Пользователь №: 88 917



Есть Плис семейства spartan 6 от Xilinx. Есть файл конфигурации расширения .mcs и сопутствующие ему.

Есть ПО, которое может, загрузить в конфигурационную флаш память прошивку для ПЛИС (каким образом не важно, важно что мы имеет доступ через ПО к флаш). Цель: обновлять прошивку используя данный софт, используя конфигурационный файл.
Покопался в файле .mcs, осознал структуру (используется intel hex) и нашел в них ту часть файла, в которой хранится данные.

Теперь вопрос, как это "ложиться" в flash? Просто подряд, последовательно считываю и записываю во флаш или есть хитрые алгоритмы(к примеру, перемежение)?
Т.е. как этот файл записать во флаш? по какому алгоритму?



Так как еще читал, что изначальный поток данных зеркалится (свапинг ), прежде чем образуется .mcs

Сообщение отредактировал go2winner - Oct 19 2015, 07:15
Go to the top of the page
 
+Quote Post
vladec
сообщение Oct 19 2015, 07:14
Сообщение #2


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

Группа: Свой
Сообщений: 1 167
Регистрация: 3-10-05
Из: Москва
Пользователь №: 9 158



А почему именно формат .mcs? Гораздо проще и в двое компактнее заказать при имплементации конфигурационный файл в формате .bin. Что же касается формата размещения во FLASH, все зависит от тех программых средств с которыми Вы будете с ним работать, самый правильный и вместе с тем самый сложный организовать на FLASHке файловую систему.
Go to the top of the page
 
+Quote Post
go2winner
сообщение Oct 19 2015, 07:25
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 78
Регистрация: 19-10-15
Пользователь №: 88 917



Скажем так, задание такое.
В принципе можно использовать и другие форматы....главное осознать структуру файла и как это во флаш загнать .

Файловая система не вариант. Есть работающее устройство, просто необходимо обновлять прошивку/конфигурацию ПЛИС. Используется собственноручное написанное ПО, которое может "общаться " с флаш.

Вот так вот. Файл бин просто не разбирал, попался только mcs, поэтому сел за него.


Я просто понял, что фалй mcs он уже как-то подготовлен специально для записи в память...
Go to the top of the page
 
+Quote Post
ASN
сообщение Oct 19 2015, 07:40
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 459
Регистрация: 15-07-04
Из: g.Penza
Пользователь №: 326



go2winner
Файл в формате bin записываете во flash как массив байт.
Потом последовательно (или параллельно) загружаете.
Это всё, что требуется.
Go to the top of the page
 
+Quote Post
go2winner
сообщение Oct 19 2015, 08:01
Сообщение #5


Частый гость
**

Группа: Участник
Сообщений: 78
Регистрация: 19-10-15
Пользователь №: 88 917



А сам формат файл bin представляет собой последовательность данных информационных , без контрольных сумм и другой служебной информации?

В любом случае буду теперь в этом направлении смотреть...

На всякий. Вот я точно видел файл формата bit, из него, как я понимаю, получают mcs

А где файл формата бин? или Как я понимаю они идентичны с bit?

Запись во флаш получается последовательная без всяких хитростей?

Еще вопрос...как флаш подготовить? получается я ее предварительно стираю и на чистую записываю файл конфигурации..?


Спасибо за быстрые ответы)

А для чего тогда в файле mcs происходит зеркаливание битов? Если записать во флаш нужно в прямом порядке?
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Oct 19 2015, 18:14
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



В настройках генерации выходного файла поставьте галочку делать bin файл - это просто последовательность байт которую надо положить во флэш
bit файл что делается по умолчанию это тоже самое с дурным заголовком.
mcs файл - это hex формат bin файла, для 1 битной SPI флэшки там прям один в один bin файл с добавленным адресом и контрольными суммами по строкам.

свап и реверс нужен для параллельных флэшек, это связано с механизмом работы автомата загрузки.

Самая главная беда это то что Spartan6 записывает память через програмvный ногодрыг организованный JTAG, потому это дико медленно и надо еще прошивку вертеть.

Запись в SPI флэш надо прочитать в инструкции к флэше, некоторые из них имеют функцию автоматического стирания страницы перед записью, некоторые надо стирать изначально. Завист от вашей флешки
Go to the top of the page
 
+Quote Post
go2winner
сообщение Oct 20 2015, 07:46
Сообщение #7


Частый гость
**

Группа: Участник
Сообщений: 78
Регистрация: 19-10-15
Пользователь №: 88 917



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

За свап спасибо, потому что я догадывался , что это опция нужна для параллельных, но пока не видел подтверждения

Моя флеш имеет функцию чип ераз, которая как раз пригодится, я так думаю.
Тему не закрою, т.к. если вопросы будут(а они будут скорее всего), сразу сюда буду задавать, чтобы не создавать "пустые топики".
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Oct 20 2015, 08:02
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



ug380.pdf - там можете почитать, там есть и про свап и про ICAP и прочие интерфейсы, это если прям хочется%)



Цитата
Моя флеш имеет функцию чип ераз, которая как раз пригодится, я так думаю.

не всегда лучшее решение, к примеру стирать флешку 64 МБит - это не менее 3 секунд, иногда постранично стереть нужную область быстрее. Потом если у вас есть обновлялка прошивки, почему бы не сделать мультибут систему с golden имеджем который будет не затираемым? Тут опять стирать все - это не верно. Опять же во флэшку можно положить настройки, зачем им страдать при обновлении прошивки... ну и так далее...

Я обычно всегда стираю под конкретную область, которую надо записать, даже если приложение одно во флешке, мало ли что будет в будущем.
Go to the top of the page
 
+Quote Post
go2winner
сообщение Oct 20 2015, 11:41
Сообщение #9


Частый гость
**

Группа: Участник
Сообщений: 78
Регистрация: 19-10-15
Пользователь №: 88 917



У меня два вопроса
1) открываю Prom file formatter, выбираю spi flash->single FPGA->выбираю размер->но нет сохранить в формате bin....только mcs,ufp,exo
Бинарного формата нету
Размер flash 64
2) Вот кто-то создал другую прошивку для Плис. Разве прежде чем "залить" ее на флаш не нужно ли предварительно стереть ее полностью? Если не полностью, как Плис узнает, где окончание прошивки?


Цитата
во флэшку можно положить настройки


Если вы про какие-то настройки, которые вообще используются(к примеру, некие коэффициенты), то для них есть своя память


Сяду дальше изучать данный вопрос пока что..гайд почитаю за одно

насчет мультибут и т.п. поизучаю...реализовать пока не смогу т.к. видно, что мои знания несколько скудны
Go to the top of the page
 
+Quote Post
XVR
сообщение Oct 20 2015, 12:42
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата(go2winner @ Oct 20 2015, 14:41) *
У меня два вопроса
1) открываю Prom file formatter, выбираю spi flash->single FPGA->выбираю размер->но нет сохранить в формате bin....только mcs,ufp,exo
Бинарного формата нету
Не то открываете. Бинарный формат это не 'Prom file', это то, что делается непосредственно из результатов разводки FPGA. И скорее всего (если у вас стандартный flow в ISE или Vivado) он уже сгенерирован.

Цитата
2) Вот кто-то создал другую прошивку для Плис. Разве прежде чем "залить" ее на флаш не нужно ли предварительно стереть ее полностью? Если не полностью, как Плис узнает, где окончание прошивки?
В самой прошивке записано.
Go to the top of the page
 
+Quote Post
go2winner
сообщение Oct 20 2015, 13:29
Сообщение #11


Частый гость
**

Группа: Участник
Сообщений: 78
Регистрация: 19-10-15
Пользователь №: 88 917



Цитата(XVR @ Oct 20 2015, 13:42) *
Не то открываете. Бинарный формат это не 'Prom file', это то, что делается непосредственно из результатов разводки FPGA. И скорее всего (если у вас стандартный flow в ISE или Vivado) он уже сгенерирован.

В самой прошивке записано.




"
File Format: PROM files can be generated in any number of industry standard formats. Depending on the PROM file format your PROM programmer uses, you output a MCS, HEX, UFP, ISC or BIN file. MCS is the most popular. ISC is used when targeting programming flows that utilize IEEE Std 1532. Third Party socket-based programmers usually accept any of the listed formats. If you are using a microprocessor to configure your devices, you output a HEX, UFP, or BIN file."

Это гласит, что такая возможность в prom есть...
Файла бин нашел total commander, в папке проект..xst/work
Но он не совпадает по содержанию с mcs.поэтому я в недоумении
Go to the top of the page
 
+Quote Post
XVR
сообщение Oct 20 2015, 13:33
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата
Это гласит, что такая возможность в prom есть...
Это не тот bin. Тот bin который надо служит входным файлом для Prom formatter'а (или bit - сейчас точно не скажу)
Цитата
Файла бин нашел total commander, в папке проект..xst/work
Это оно
Цитата
Но он не совпадает по содержанию с mcs.поэтому я в недоумении
Ну у них форматы разные (хотя содержание отчасти и одинаковое), так что не мудрено sm.gif
Go to the top of the page
 
+Quote Post
andrew_b
сообщение Oct 20 2015, 13:45
Сообщение #13


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

Группа: Свой
Сообщений: 1 975
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757



Цитата(go2winner @ Oct 20 2015, 15:41) *
1) открываю Prom file formatter, выбираю spi flash->single FPGA->выбираю размер->но нет сохранить в формате bin....только mcs,ufp,exo
bin, как и bit, получается на выходе bitgen. Ищите настройку там.
Go to the top of the page
 
+Quote Post
vladec
сообщение Oct 20 2015, 13:54
Сообщение #14


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

Группа: Свой
Сообщений: 1 167
Регистрация: 3-10-05
Из: Москва
Пользователь №: 9 158



bin файл заказываете на в промформаторе, а как Вам сказал Golikov A.: "В настройках генерации выходного файла поставьте галочку делать bin файл" (то есть там, где Вы делаете имплементацию - в ISE)
Go to the top of the page
 
+Quote Post
go2winner
сообщение Oct 20 2015, 14:01
Сообщение #15


Частый гость
**

Группа: Участник
Сообщений: 78
Регистрация: 19-10-15
Пользователь №: 88 917



Выставил найстройку на create binary configuration file.....

Но теперь я потерял идею...
Если mcs получается из bin/bit, тогда куски какие-то должны быть равными(без учета контрольных сумм и адресов)...у меня не очень сходиться

Как тогда получаем mcs файл из бит/бин по какому алгоритму?


В описании (гайд) все ясно написано Bin-"Binary configuration data file with no header information" и mcs-адрес+конфигурация+сумма
Значит же должны совпадать? mcs bin?
но чем же mcs еще отличается...в идеале я должен же явно куски из бин находить в mcs?
Чтобывечно не редактировать сяду хорошенько дочитаю денек другой...как я понял mcs включает загаловок bit и синхрослова оттуда.
SYNC WORD и тому подобное не нужная(в моем случае) служебная информация?
ЗАчем она нужна тогда?

Сообщение отредактировал go2winner - Oct 20 2015, 14:56
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


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


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