|
|
  |
Чтение SPI Flash через USB Blaster (Altera, Quartus II) |
|
|
|
Jul 8 2013, 13:40
|
Участник

Группа: Участник
Сообщений: 41
Регистрация: 8-07-13
Пользователь №: 77 437

|
Здравствуйте! Никогда не требовалось читать с плат ПЛИС от Альтеры данные с спи флеш (то есть взять текущую прошивку и перенести в её такой же, но не разбитый прибор). Собственно есть некоторые варианты в которых я путаюсь, помоги выбрать верное.
1) Возможно ли через JTAG из Quartus Programmer прочитать данные с SPI Flash? (Я так понимаю надо чем-то, что может в ПЛИС загрузить какой-то преобразователь JTAG - SPI Flash. Загрузить данные во флеш, не проблема, как извесно это можно сделать стандартными средствами квартуса, тогда данные в флеш будут загружены через джитаг и плис в флеш.)
2) Возможно ли автоматическое определение спи флеш и чтение из неё через режим "Active Serial Programming"? (Сейчас через джитаг не активна кнопка чтения прошивки с ПЛИС, будет ли она активна при выборе другого типа подключения?)
3) Для чтения спи флеш необходим стороний программатор? (На данный момент мне известен только BlackCatUSB и то, только по слухам, сам я с ним не работал)
|
|
|
|
|
Jul 10 2013, 18:55
|
Участник

Группа: Участник
Сообщений: 41
Регистрация: 8-07-13
Пользователь №: 77 437

|
ПЛИС cyclone III ep3c25u256 флеш mx25L12845e, то есть аналог я так понимаю epcs128
|
|
|
|
|
Jul 10 2013, 19:36
|
Участник

Группа: Участник
Сообщений: 41
Регистрация: 8-07-13
Пользователь №: 77 437

|
Да, проводочки подпаял, там выходы по схеме отыскали. По описанию разъема юсб бластера, нашли контакты которые нужны, они с плис оказались выведены. Провода подпаял, как есть, ничего не перекрещивал. Пока что опасаюсь подключать к юсб бластеру и пробовать через квартус программер. Как бы что не испортить, решил на пару дней отложить подключение, а то одно не ловкое движение и нет платки. =) Появились пару вопросов: выход nCE с плис идет на землю на плате, надо ли этот выход с юсб бластера сажать на землю платы? и перекрещивать ли выходы asdo-asdi, asdi-asdo или как есть так и подключать asdo-asdo и asdi-asdi?
ЗЫ. Сработает ли Auto Detect плис и памяти в квартус программере при подключении через актив сериал программинг? (По аналогии как определяется плис через джитаг)
|
|
|
|
|
Jul 10 2013, 20:00
|
Местный
  
Группа: Свой
Сообщений: 491
Регистрация: 16-01-05
Из: Санкт-Петербург
Пользователь №: 1 987

|
Проконтролируйте подключение по AN523. Думаю, вам будет любопытно взглянуть на стр.16.
|
|
|
|
|
Jul 11 2013, 19:02
|
Участник

Группа: Участник
Сообщений: 41
Регистрация: 8-07-13
Пользователь №: 77 437

|
по an523 сказано что кабель бластера ставит пин nCE в единицу если требуется работать с флешкой. Но у меня на плате этот пин сразу идет на землю, возможно ли работа с флешкой через AS в моем случае? На столько ли критично неподключение пина nCE для работы с флеш?
|
|
|
|
|
Jul 14 2013, 16:17
|
Местный
  
Группа: Свой
Сообщений: 491
Регистрация: 16-01-05
Из: Санкт-Петербург
Пользователь №: 1 987

|
Цитата(alexei-developer @ Jul 11 2013, 23:02)  по an523 сказано что кабель бластера ставит пин nCE в единицу если требуется работать с флешкой. Но у меня на плате этот пин сразу идет на землю, возможно ли работа с флешкой через AS в моем случае? На столько ли критично неподключение пина nCE для работы с флеш? Это значит, что прямое обращение бластера к Flash чипу через ASMI-интерфейс в вашем случае невозможно. Но остается возможность обращаться к ней руками (т.е., пинами  ) FPGA через тот же интерфейс. В этом случае бластер д.б. подключен к JTAG ногам ПЛИСины (схем подключения полно в Альтеровских документах по конфигурированию), Quartus Programmer может загружать в ПЛИС спец. логику, которая организует правильное общение с ASMI-интерфейсом в ПЛИС, и через него - с EPCS. Этому варианту посвящена AN370. Схема ASMI подключения EPCS-FPGA должна быть, как на рис. 3 (AN523, page 7). Ну и почитайте близкую тему Чтение прошивки из EPCS.
|
|
|
|
|
Jul 14 2013, 20:42
|
Участник

Группа: Участник
Сообщений: 41
Регистрация: 8-07-13
Пользователь №: 77 437

|
Цитата(Raven @ Jul 14 2013, 20:17)  Это значит, что прямое обращение бластера к Flash чипу через ASMI-интерфейс в вашем случае невозможно. Но остается возможность обращаться к ней руками (т.е., пинами  ) FPGA через тот же интерфейс. В этом случае бластер д.б. подключен к JTAG ногам ПЛИСины (схем подключения полно в Альтеровских документах по конфигурированию), Quartus Programmer может загружать в ПЛИС спец. логику, которая организует правильное общение с ASMI-интерфейсом в ПЛИС, и через него - с EPCS. Этому варианту посвящена AN370. Схема ASMI подключения EPCS-FPGA должна быть, как на рис. 3 (AN523, page 7). Ну и почитайте близкую тему Чтение прошивки из EPCS. В той теме собственно я и отписал, прочитать jic через с джитаг с помощью юсб бластера не удалось, вот мое последнее сообщение там http://electronix.ru/forum/index.php?showt...t&p=1177195. флешка mx23l12845e не опозналась как epcs128 как я понял. Куда дальше копать я пока не знаю, наткнулся на CFI флеш интерфейс. Может это оно, там вроде надо самому прописать тип флешки в настройках, когда указываешь подсоединить флешку. Но что за ЦиЭфАй такой я пока что не курил. =) Плисина же считывает оттуда данные при включении, она же знает как прочитать эти данные. Почему нет простого способа прочитать эти же данные через джитаг и плис я не пойму...
|
|
|
|
|
Jul 15 2013, 10:01
|
Местный
  
Группа: Свой
Сообщений: 491
Регистрация: 16-01-05
Из: Санкт-Петербург
Пользователь №: 1 987

|
Цитата(alexei-developer @ Jul 15 2013, 00:42)  В той теме собственно я и отписал, прочитать jic через с джитаг с помощью юсб бластера не удалось, вот мое последнее сообщение там http://electronix.ru/forum/index.php?showt...t&p=1177195. Да, малость лопухнулся я, не глянул имена авторов ;-) Просто тут еще одна близкая тема есть: silicon ID for device 1, Ошибка при записи в EPCS64Цитата(alexei-developer @ Jul 15 2013, 00:42)  флешка mx23l12845e не опозналась как epcs128 как я понял. Конечно не опозналась - ведь это действительно не EPCS128  . Даже если она действительно в одном из множества своих режимов совместима с EPCS128 (что еще проверить бы надо), называться чужим именем она не должна ни в коем случае. Цитата(alexei-developer @ Jul 15 2013, 00:42)  Куда дальше копать я пока не знаю, наткнулся на CFI флеш интерфейс. Может это оно, там вроде надо самому прописать тип флешки в настройках, когда указываешь подсоединить флешку. Но что за ЦиЭфАй такой я пока что не курил. =) Плисина же считывает оттуда данные при включении, она же знает как прочитать эти данные. Почему нет простого способа прочитать эти же данные через джитаг и плис я не пойму...  У меня в голове отложилось, что CFI (Common FLASH Interface, кажется) - стандарт на команды работы с FLASH (идентификация/запись/стирание и т.п.), и охватывает вроде бы только параллельные FLASH (с внутренней организацией NOR причем). Я, правда, с первоисточником не знакомился, так что, конечно, может он и последовательные FLASH охватывает. Вы это имели в виду, или то, что FLASH у вас еще и параллельно подключен? Вообще, неплохо было бы хотя бы блок-схему подключения FLASH к FPGA, и JTAG'а представить, а то уже становится непонятно, как у вас все организовано, и в чем отличие от DevKit'а, который, как я понимаю, был взят за основу. Тогда можно что-то дальше советовать, не вслепую.
|
|
|
|
|
Jul 15 2013, 18:01
|
Участник

Группа: Участник
Сообщений: 41
Регистрация: 8-07-13
Пользователь №: 77 437

|
подключено вот так
Эскизы прикрепленных изображений
|
|
|
|
|
Jul 16 2013, 08:37
|

Гуру
     
Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329

|
2 alexei-developer У нас есть девайсы где стоят разные флаши, не родные альтеровские. Используем пока QII v9.0sp2 (дизайн собран так что работает только под этой версией) и файло nios2-flash-override.txt вида: Код [EPCS-1F4800] # EPCS64N (Atmel...) ATDF sector_size = 65536 sector_count = 128
[EPCS-010216] # EPCS64S (Spansion...) S25FL sector_size = 65536 sector_count = 128
[EPCS-1C3017] # EPCS64S (Eon...) EN25Q64 sector_size = 65536 sector_count = 128 Лежит здесь: "C:\altera\90\nios2eds\bin\nios2-flash-override.txt" Нормально работаю фишки типа: Код nios2-flash-programmer.exe --epcs --base=0x04002000 --erase 0x3B0000+0x010000 .. nios2-flash-programmer.exe --epcs --base=0x06000800 --read file.txt --read-bytes 0xF0000+2000
|
|
|
|
|
Jul 16 2013, 18:00
|
Участник

Группа: Участник
Сообщений: 41
Регистрация: 8-07-13
Пользователь №: 77 437

|
Цитата(Kuzmi4 @ Jul 16 2013, 12:37)  Код nios2-flash-programmer.exe --epcs --base=0x04002000 --erase 0x3B0000+0x010000 .. nios2-flash-programmer.exe --epcs --base=0x06000800 --read file.txt --read-bytes 0xF0000+2000 То есть можно флеш программер использовать вместо квартус программера? Введя эти команды флеш программер зальет в плис "свою" прошивку и вытянет её в нужный файл??? Это единственный документ (http://www.altera.com/literature/ug/ug_nios2_flash_programmer.pdf) где про это можно почитать?
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|