Имеется связка ПЛИС 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? Нужно ли его считать самостоятельно или куда-нибудь вписывать?
Есть ли какие-нибудь примеры, где описаны подобные манипуляции?
|