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

 
 
> Проблема в программировании SPI-флеш
Art55555
сообщение Sep 28 2016, 18:43
Сообщение #1


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

Группа: Участник
Сообщений: 184
Регистрация: 7-10-10
Пользователь №: 59 981



Имеется связка ПЛИС Artix 7 и SPI флеш N25Q256.

Делаем всё так, как описано в XAPP 1081.
1) Создаём bit-файл.
2) В IMPACT создаём MCS файл. Настройки - MultiBoot для прошивки SPI флэшки.
3) Перловским скриптом создаём Initial и Update MCS файлы, т.е. Golden и Update Bitstream.
4) Прошиваем флешку из IMPACT - успешно. Флешка грузит плисину после включения.

Следующая задача прошить Update - область флешки средствами ПЛИС. Для этого получаем с компа файл прошивки (Update.mcs) и пытаемся его зашить в SPI-флешку с помощью модулей, приложенных к XAPP 1081 (SpiFlashProgrammer.vhd+SpiSerDes.vhd).

Вопросы:
1) При работе перл - скрипта, то он выдаёт: Update_Start_address=x"00200000" и Update_End_address=x"00400000" , что не сходится с реальными размером MCS файла (5,5 Мб) . Реально в это адресное пространство занимает около 2 Мб.
2) MCS файл в ASCII формате. В каком виде его отправлять? Нужно ли что-то модифицировать в нём?
2) Надо ли вообще делать для этого MCS или нужно отправлять BIT или BIN?
3) Где и как просчитвать адреса для областей Golden и Update Areas?
4) Что делать с CRC? Нужно ли его считать самостоятельно или куда-нибудь вписывать?


Есть ли какие-нибудь примеры, где описаны подобные манипуляции?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 3)
maxics
сообщение Oct 4 2016, 14:03
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 229
Регистрация: 16-11-09
Пользователь №: 53 649




Присоединяюсь к вопросу. Интересует формат mcs файла для отправки его в фифо SPI. На зарубежных форумах где-то читал, что нужно модернизировать mcs. Обрезать адрес и CRC каждой строки. Так-ли это?
Go to the top of the page
 
+Quote Post
ivanoffer
сообщение Oct 4 2016, 15:33
Сообщение #3


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

Группа: Участник
Сообщений: 120
Регистрация: 21-07-11
Пользователь №: 66 348



Цитата(maxics @ Oct 4 2016, 17:03) *
Присоединяюсь к вопросу. Интересует формат mcs файла для отправки его в фифо SPI. На зарубежных форумах где-то читал, что нужно модернизировать mcs. Обрезать адрес и CRC каждой строки. Так-ли это?



Воспользуйтесь утилитой Vivado 2016.2 Tools->Generate Memory Configuration File для создания файла конфигурации загрузочной SPI.
Наглядно и интуитивно понятно создание файла инициализации.
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Oct 4 2016, 17:22
Сообщение #4


Гуру
******

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



Цитата(maxics @ Oct 4 2016, 17:03) *
Присоединяюсь к вопросу. Интересует формат mcs файла для отправки его в фифо SPI. На зарубежных форумах где-то читал, что нужно модернизировать mcs. Обрезать адрес и CRC каждой строки. Так-ли это?


во флэш в итоге лежит только прошивка, то что получается в bit файле за вычетом спец заголовка или то что в bin файле (-g Binary) для битгена.
Для мультиобразов надо не забывать ставить -g next_config_register_write:Disable
Надо не забывать включать перезагрузку по ошибке CRC

mcs имеет так называемый intel hex формат, про него можно почитать в википедии. Там кроме самих данных записаных аски символами добавлены в каждой строке смещение адреса и контрольная сумма строки, это все естественно отрезается при прошивке. Более того там есть команды переключения адреса, так как смещение там 16 битное, то время от времени попадаются команды переключения страниц, так же есть какая то команда начала и команда конца. Это все есть в вики если интересно.
Для разработчика удаленной прошивки это наименее удобный формат, куча накладных расходов и раздувания информации. Мало того что каждый байт представлен 2, так еще из аски в бинарь переводить надо, вырезать команды и т.д....

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

П.С. я теперь редко тут бываю, пишите в личку если какие вопросы, удачи wink.gif
Go to the top of the page
 
+Quote Post

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

 


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


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