Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: SPI FLASH фирмы ST для конфигурирования Xilinx FPGA
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Goose
Доброго всем времени суток,
Есть плата, на которой Virtex-6 и для его конфигурирования установлена флэшка ST M25P64-VME6TG, причем один JTAG-разъем подведен отдельно к плисине, а другой подведен к флэшке,
каким образом можно прошить эту флешку? я делаю в impactе .mcs-файл прошивки, указываю размер памяти. после пытаюсь через импакт создать non-xilinx device, пишу его название и длину инструкции, далее хочу сделать assign configuration file, но в это момент появляется окошко в котором говорится "unable to generate a list of suitable sized PROM/Storage Device". может быть дело в указанной мной длине инструкции? я поставил 8 из даташита, но может я просто что-то не так понял?
Буду очень признателен за помощь.
Goose
Цитата(Гусь @ Oct 5 2012, 19:15) *
Доброго всем времени суток,
Есть плата, на которой Virtex-6 и для его конфигурирования установлена флэшка ST M25P64-VME6TG, причем один JTAG-разъем подведен отдельно к плисине, а другой подведен к флэшке,
каким образом можно прошить эту флешку? я делаю в impactе .mcs-файл прошивки, указываю размер памяти. после пытаюсь через импакт создать non-xilinx device, пишу его название и длину инструкции, далее хочу сделать assign configuration file, но в это момент появляется окошко в котором говорится "unable to generate a list of suitable sized PROM/Storage Device". может быть дело в указанной мной длине инструкции? я поставил 8 из даташита, но может я просто что-то не так понял?
Буду очень признателен за помощь.


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

Selected part: M25P64
// *** BATCH CMD : attachflash -position 1 -spi "M25P64"
Unprotect sectors: FALSE
// *** BATCH CMD : assignfiletoattachedflash -position 1 -file "D:/MyDesigns/ledV6/mem.mcs"
INFO:iMPACT - Current time: 06.10.2012 13:50:06
// *** BATCH CMD : Program -p 1 -dataWidth 1 -spionly -loadfpga
PROGRESS_START - Starting Operation.
Maximum TCK operating frequency for this device chain: 66000000.
Validating chain...
Boundary-scan chain validated successfully.
1: Device Temperature: Current Reading: 43.98 C, Min. Reading: 37.58 C, Max. Reading: 44.47 C
1: VCCINT Supply: Current Reading: 0.984 V, Min. Reading: 0.979 V, Max. Reading: 0.993 V
1: VCCAUX Supply: Current Reading: 2.476 V, Min. Reading: 2.473 V, Max. Reading: 2.479 V
'1': SPI access core not detected. SPI access core will be downloaded to the device to enable operations.
INFO:iMPACT - Downloading core file C:/Xilinx/13.2/ISE_DS/ISE/virtex6/data/xc6vlx130t_spi.cor.
'1': Downloading core...
Match_cycle = NoWait.
Match cycle: NoWait
LCK_cycle = NoWait.
LCK cycle: NoWait
done.
INFO:iMPACT:2219 - Status register values:
INFO:iMPACT - 0011 1111 1111 1110 0000 1011 1000 0000
INFO:iMPACT:2492 - '1': Completed downloading core to device.
'1': IDCODE is 'ffffff' (in hex).
'1': ID Check failed.
INFO:iMPACT:2488 - The operation did not complete successfully.
INFO:iMPACT - SPI Device not found.
INFO:iMPACT:2488 - The operation did not complete successfully.
INFO:iMPACT - '1': Flash was not programmed successfully.
PROGRESS_END - End Operation.
Elapsed time = 17 sec.

что бы это могло значить?
Flood
Ну, не видит флешку и все. Там уже есть какая-нибудь программа, плисина с нее загружается?
Если плата своя - смотреть схему.
Если плата неизвестного происхождения, то вызывает вопросы вот это: "для его конфигурирования установлена флэшка ST M25P64-VME6TG, причем один JTAG-разъем подведен отдельно к плисине, а другой подведен к флэшке".
Что за JTAG разъем у SPI флешки?

Да, и еще. Если используется ISE 14.2, полезно накатить вот этот патч:
http://www.xilinx.com/support/answers/51145.htm

Хотя у вас явно не этот случай, т.к. ядро прошивалки загрузилось нормально.
Goose
Цитата(Flood @ Oct 6 2012, 13:36) *
Ну, не видит флешку и все. Там уже есть какая-нибудь программа, плисина с нее загружается?
Если плата своя - смотреть схему.
Если плата неизвестного происхождения, то вызывает вопросы вот это: "для его конфигурирования установлена флэшка ST M25P64-VME6TG, причем один JTAG-разъем подведен отдельно к плисине, а другой подведен к флэшке".
Что за JTAG разъем у SPI флешки?

Да, и еще. Если используется ISE 14.2, полезно накатить вот этот патч:
http://www.xilinx.com/support/answers/51145.htm

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

плата новая производства какой то фирмы(кажется телум), на флешке что есть не знаю, но плиса с нее при включении не грузится. сам я могу загрузить свой проект с мигающими лампочками, а вот его же .mcs записать в флеш не могу. а дополнительно к spi flash параллельно подведен разъем как jtag (всмысле сам разъем, естественно spi-ный), если я к нему подключаю jtag он радуется и горит зеленая лампочка. и честно говоря хотел уже попробовать прошить через него память но не могу найти чем. но естественно лучше б разобраться как через обычный разъем зашиваться. ise 13.2 (может что с ним не так? раньше 12.4 юзал)
Flood
ISE вроде умеет напрямую шить SPI, может для этого и сделали разъем?
Посмотрите схему, все ли правильно заводится для конфигурации. Если схем нет, можно хотя бы считать регистр статуса ПЛИС по JTAG - там отражается состояние ножек INIT, Mx. По крайней мере, можно будет разобраться, в нужной ли моде стоит ПЛИС.
Как правило, задача шить чужие платы возникает не часто, а если и возникает, то предполагает наличие какой-нибудь инструкции. Может с ее поисков и стоит начать, чтобы не ломать зря голову.
vitus_strom
Была подобная фигня!
Пробовал индирект программинг через импакт.
Поставил для С6 флэш от СТ, после небольших танцев с бубном выяснилось что ИД Флэши читается правильно но флэш програмится не хочет...
После замены флэши на флэш от фирмы спаншн все великолепно завелось...
А вам суда по вашему репорту порекомендовал бы снизить частоту кабеля для начала а то 66 МГц как то многовато как мне кажется - начните с самой низкой...
Если после снижения ИД Флэши считается правильно - перепаяйте на ту что есть в списке ну или флэш индивидуально программируйте...
Импакт к сожалению зорко следит за производителем флэешей в случае индирект программирования
Flood
Цитата(vitus_strom @ Oct 6 2012, 23:42) *
А вам суда по вашему репорту порекомендовал бы снизить частоту кабеля для начала а то 66 МГц как то многовато как мне кажется - начните с самой низкой...


Да нет там 66МГц, просто макс. частота показана (что значит, что в цепочке JTAG-а только виртекс сидит). При работе с этими ядрами импакт сбрасывает частоту до 6 МГц, даже если было выставлено больше. А раз нет сообщения о снижении частоты - значит, и так 6 стоит.
Я все-таки думаю, что производители платы не зря на флешку отдельный разъем для импакта поставили. Скорее всего, предполагается прямое программирование по SPI. Другая возможность - SPI флешка может быть вообще не к виртексу подключена. Но это надо плату смотреть.
Goose
Цитата(Flood @ Oct 6 2012, 14:35) *
ISE вроде умеет напрямую шить SPI, может для этого и сделали разъем?
Посмотрите схему, все ли правильно заводится для конфигурации. Если схем нет, можно хотя бы считать регистр статуса ПЛИС по JTAG - там отражается состояние ножек INIT, Mx. По крайней мере, можно будет разобраться, в нужной ли моде стоит ПЛИС.
Как правило, задача шить чужие платы возникает не часто, а если и возникает, то предполагает наличие какой-нибудь инструкции. Может с ее поисков и стоит начать, чтобы не ломать зря голову.

Да разъем для этого наверняка и сделан (схема есть, и все вроде бы нормально сделано)
А как все таки это делается правильно? Add non-xilinx device?
Goose
кстати отличаются ли чем либо чипы ST и numonix? m25p64?
http://www.xilinx.com/support/documentatio...ehelp_start.htm
в списке поддерживаемых флешек только numonix, a ST нет
Самурай
Цитата(Гусь @ Oct 8 2012, 14:42) *
кстати отличаются ли чем либо чипы ST и numonix? m25p64?
http://www.xilinx.com/support/documentatio...ehelp_start.htm
в списке поддерживаемых флешек только numonix, a ST нет


Можно предположить, что чипы ST и Numonyx практически идентичны, особенно если учесть, что Numonyx "...основана в 2008 году как совместное предприятие Intel Corporation и STMicroelectronics". Кстати, в даташите в истории ревизий есть характерная запись: "10-Dec-2007 7 Applied Numonyx branding":) До кучи, уже и Numonyx как такового нет, это теперь Micron:). Соответственно и злополучная m25p64 пошла по рукам, теперь все ссылки на ее даташит ведут к Микронуsm.gif.

А если возвращаться к началу топика, то, например, в случае Спартан-6 проблем с m25p64 не было, все нормально шьется через ЖТАГ самого Спартана. MCS файл создается стандартно через iMPACT PROM File Formatter, сам iMPACT ее находит при подключении к ЖТАГу Спартана, дальше все как обычно.
Goose
Цитата(Самурай @ Oct 8 2012, 15:30) *
А если возвращаться к началу топика, то, например, в случае Спартан-6 проблем с m25p64 не было, все нормально шьется через ЖТАГ самого Спартана. MCS файл создается стандартно через iMPACT PROM File Formatter, сам iMPACT ее находит при подключении к ЖТАГу Спартана, дальше все как обычно.

Да вот именно с этим случаем я раньше сталкивался, и действительно все просто работало)
И все-таки флешка не дает считать статус или ID как будто с ней что-то не так, но такая же флешка прикрепленная к блэкфину работает нормально, смотрел сигналы на флешке все вроде в порядке,
какие еще пути могут быть?
vitus_strom
Цитата(Гусь @ Oct 8 2012, 14:42) *
кстати отличаются ли чем либо чипы ST и numonix? m25p64?
http://www.xilinx.com/support/documentatio...ehelp_start.htm
в списке поддерживаемых флешек только numonix, a ST нет


в первую очередь отличаются ИД
ReAl
Цитата(Самурай @ Oct 8 2012, 15:30) *
Можно предположить, что чипы ST и Numonyx практически идентичны, особенно если учесть, что Numonyx "...основана в 2008 году как совместное предприятие Intel Corporation и STMicroelectronics". Кстати, в даташите в истории ревизий есть характерная запись: "10-Dec-2007 7 Applied Numonyx branding":)
+1
Аналогичная запись у M25P16, с которой работал.
При этом сигнатуры у M25P16 в обеих документах одинаковые, в более позднем документе numonix (выглядит как подредактированный документ ST, те же гарнитуры шрифтов, тот же стиль картинок, только немного покрупнее шрифт и логотип другой) повыше тактовые частоты, поменьше время записи.

M25P16 с логотипом ST где-то 5-летней давности успешно опознаётся квартусами 7.2 и 9.1 как EPCS16.
Goose
Цитата(ReAl @ Oct 8 2012, 18:32) *
+1
Аналогичная запись у M25P16, с которой работал.
При этом сигнатуры у M25P16 в обеих документах одинаковые, в более позднем документе numonix (выглядит как подредактированный документ ST, те же гарнитуры шрифтов, тот же стиль картинок, только немного покрупнее шрифт и логотип другой) повыше тактовые частоты, поменьше время записи.

M25P16 с логотипом ST где-то 5-летней давности успешно опознаётся квартусами 7.2 и 9.1 как EPCS16.


да, я нашел документ, где xilinx официально заявил что direct программирование это пережитки прошлого и что теперь его не поддерживает с 12 ise impact
cerg19
direct программирование флешки можно произвести только ISE 11.1 и старее.
Подключите JTAG кабель к разьёму идущему к ПЛИС и iMPACT увидит эту флешку, подключённую к ПЛИС. Дальнейшее программирование не составляет труда.
Goose
огромное всем спасибо! разобрался и через 10.1 ise зашил флешку, но самая проблема была на плате: одновременно с подключением флэшки к fpga (джампером) ножка program_b висла в воздухе, я соединил ее через резистор с землей и все чудесным образом заработало в т.ч. индирект программирование. не совсем уверен в том почему, на картинке изображен джампер отключающий память от fpga, который одновременно обнуляет program_b ( он по даташиту актив-лоу) но заработало именно в такой конфигурации
Flood
Жуть какая-то на схеме. Видимо, решение перекочевало с ранних виртексов, т.к. у Virtex-6 program_b уже не active-low. Эта особенность обсуждалась в соседней вашей теме.
В целом, в рабочем режиме притягивать program-b к земле как-то противоестественно.
Goose
Цитата(Flood @ Oct 9 2012, 20:36) *
Жуть какая-то на схеме. Видимо, решение перекочевало с ранних виртексов, т.к. у Virtex-6 program_b уже не active-low. Эта особенность обсуждалась в соседней вашей теме.
В целом, в рабочем режиме притягивать program-b к земле как-то противоестественно.

PROGRAM_B_0 Input Active Low asynchronous reset to configuration logic. This pin has a permanent
weak pull-up resistor.
это Virtex-6 FPGA Packaging and Pinout Specifications UG365
а на самом деле по фронту) теперь понял)
yes
столкнулся с похожей проблемой:
S6 и ST M25P64
программирование флашки inderect не идет, то есть на ножках похоже на нормальное обращение и флашка откликается, но пока не успел в деталях разобрать
до этого никогда не использовал ксайлинсы с стандартной SPI, не платформ флашкой (альтеры пользовал, проблем ни разу не было)

ISE 13.4
правильно ли я понимаю:
при построении цепочки IMPACT не опрашивает SPI FLASH и диалог "подключить SPI FLASH" выскакивает в любом случае?
при этом M25P64 есть в списке поддерживаемых вариантов

вопросы:
можно ли как-то сохранить в FPGA прошивку этого inderect загрузчика при FAIL-е флашки, чтобы можно было тот же ID флашки читать несколько раз (ну или запустить операцию в цикле)? сейчас я вижу два варианта: после FAIL-а конфигурация сбрасывается и ПЛИС либо пытается загрузиться из этой флэшки, либо импакт грузит по JTAG bit файл
то есть ПЛИСина большая, долго ждать загрузки этого прошивальшика - неудобно осциллографом смотреть

может в каких-то документах/форумах описана такая проблема? с чего начинать ковыряние?

Goose
Цитата
ISE 13.4
правильно ли я понимаю:
при построении цепочки IMPACT не опрашивает SPI FLASH и диалог "подключить SPI FLASH" выскакивает в любом случае?
при этом M25P64 есть в списке поддерживаемых вариантов

правильно

я не совсем понял в чем вопрос, а программинг фэйл может быть либо из-за неправильно сгенеренного mcs либо еще что-нибудь (например как у меня из-за новшеств 6 и 7 виртексов)
а прошивку собственно нельзя сохранить в плисе, если хотите несколько раз запускать один и тот же тест при отсутствии рабочей флешки, наверно придется описать это в программе, и вывести например кнопку, которая будет переводить программу в начатьное состояние ( но не в начальное состояние плисы после прошивки, а в предусмотренное в вашей программе начало петли)
yes
буду не торопясь микроблейсовскую систему писать, она и для других дел нужна, с нее попытаюсь эту SPI флэшку "потыкать"
если че, то своими силами прошью, без импакта, но как то муторно это...

с импакта фэйлы идут не только при программировании, но и, например, при считывании ID флэшки (хотя бывает, что читается правильное)
вобщем какая-то фигня

так как не пользовался для ксайлинсов таким струментом, то хотел консультации по отладке этого inderect progaming-a получить, вдруг есть какое-то тайное знание sm.gif
Flood
Цитата(yes @ Oct 17 2012, 15:54) *
с импакта фэйлы идут не только при программировании, но и, например, при считывании ID флэшки (хотя бывает, что читается правильное)
вобщем какая-то фигня


Покажите полный лог импакта, с начала и до конца.
yes
прошу прощения - чисто моя бага:
к этим ножкам были контрольные точки подведены и пока не нужен был ксайлинс я через CPLD-шку туда какие-то сигналы с процессора вытащил для отладки (и назывались они TPтакая-то и т.п., поэтому как-то забыл, что это не только TP, но и MISO sm.gif. ну и забытый процессор там подгаживал слегка

то есть все вполне нормально у импакта в indirect programming
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.