Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Беда с EPCS
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
alexPec
Всем добрый день.

Пожалуйста дайте вектор мысли... Весь день убил а результата нет.

Ситуация такая: отладил проект (EP3C25), пришла пора заливать во флешь (M25P40). Все подготовил, пускаю ниос программер - хаха! Не шьется. Ладно, смотрю лог - No EPCS registers found: tried looking at addresses. Как-то была такая ситуация, давно-давно, на другом квартусе, решилась перезагрузкой компа. Ну, думаю - ерунда, щас я тебя прошью. Перезапустил комп - то же самое. Начали кончаться мысли. Думаю может софт криво стоит? Взял старую плату с другой ПЛИС, старый проект (на Q91) открыл его в Q13.1, залил прошивку в ПЛИС, запустил флешь программер ниос - все хорошо, прошилось. Ну думаю, с флешкой что-то не так. Снял флешку, прозвонил сигналы на нее - все ок, на всех сигнальных ногах звонятся внутренние диоды ПЛИС на землю. Попробовал зашить вообще без флешки - тот же лог, No EPCS registers found: tried looking at addresses, и значения при сканировании те же выдает. Ну думаю - все ясно, флешка дохлая. Ставлю другую, новую - та же ерунда, те же значения при сканировании. Лог не меняется вообще - есть ли флешка, нет ли ее. Думаю, а щас я тебя осциллографом померяю - и померял. Что же увидел - НИЧЕГО! Ни одна нога при попытке прошить не дергается! Думал, интерфейс флешки в ПЛИСе выбит - взял сконвертил SOF в JIC, пробую прошить в квартус-программере: клок, CE, данные на флешку идут, правда ругается что не опознан ID - ну да бог с ним, мне нужен ниос программер, интерфейс целый и ладно.
К двум часам ночи голова стала пустая, мысли кончились совсем. Остались только вопросы. Основной - что за регистры EPCS он сканирует? Контроллера чтоли? Вроде не должен, ему флешку искать надо, контроллер и так ему указывают где сидит. Ноги перепроверил на флешку - все ок (вроде). Галочку на EPCS контроллере пробовал и ставить и убирать (картинка) - никакой разницы. Все, ступор. Спасайте...




Код
Info: Reading override file "C:/altera/q11_1/nios2eds/bin/nios2-flash-override"
Info: Using cable "USB-Blaster [USB-0]", device 1, instance 0x00
Info: Resetting and pausing target processor: OK
Info: Reading System ID at address 0x000120C8: verified
Info: Processor data bus width is 32 bits
Info: Looking for EPCS registers at address 0x00011800 (with 32bit alignment)
Info:   Initial values: 0001703A 04C00074 9801483A 9CFFF804 983FFD1E 0000203A
Info:   Not here: reserved fields are non-zero
Info: Looking for EPCS registers at address 0x00011900 (with 32bit alignment)
Info:   Initial values: 92400237 4A40100C 483FFD26 90000135 92400237 4A40200C
Info:   Not here: reserved fields are non-zero
Info: Looking for EPCS registers at address 0x00011A00 (with 32bit alignment)
Info:   Initial values: 108001C4 1004D0FA 002EE03A 003F9C06 002EE03A 003F9506
Info:   Not here: reserved fields are non-zero
Info: Looking for EPCS registers at address 0x00011B00 (with 32bit alignment)
Info:   Initial values: 00000000 00000000 00000000 00000000 00000000 00000000
Info:   Not here: SPI_SLAVE_SEL has 0 valid bits (should be between 1 and 16)
Info: Looking for EPCS registers at address 0x00011C00 (with 32bit alignment)
Info:   Initial values: 000000FF 000000FF 00000260 00000000 000000FF 00000001
Info:   Not here: reserved fields are non-zero
Info: No EPCS registers found: tried looking at addresses
Info:      0x00011800, 0x00011900, 0x00011A00, 0x00011B00 and 0x00011C00
vadimuzzz
Цитата
Остались только вопросы. Основной - что за регистры EPCS он сканирует? Контроллера чтоли?

да, он ищет контроллер (SPI)
Цитата
No EPCS registers found: tried looking at addresses

типичная ситуация: вы пересобрали qsys или sopc, и адрес epcs-контроллера изменился. когда вы пускаете флеш-программер, он стучится по новым адресам, в то время как sof зашит еще старый. поэтому делаете в таких случаях перед запуском программера nios2-configure-sof (или квартусовским программером sof залить) и имеете счастье sm.gif
alexPec
Цитата(vadimuzzz @ Dec 9 2014, 03:55) *
да, он ищет контроллер (SPI)

типичная ситуация: вы пересобрали qsys или sopc, и адрес epcs-контроллера изменился. когда вы пускаете флеш-программер, он стучится по новым адресам, в то время как sof зашит еще старый. поэтому делаете в таких случаях перед запуском программера nios2-configure-sof (или квартусовским программером sof залить) и имеете счастье sm.gif


Как бы я был рад если бы это так было, но EPCS контроллер как поставился, так и оставался на своем адресе, я его замком зафиксировал. Десять раз уже проверил адреса - все нормально.
Т.е. это он именно контроллер не находит?? Да а с ним то что может быть кроме адреса? Адрес точно тот самый. Поди ка лицензия какая дополнительная на него нужна? Но при компиляции про opencore ни слова...
vadimuzzz
Цитата(alexPec @ Dec 9 2014, 11:54) *
Т.е. это он именно контроллер не находит?? Да а с ним то что может быть кроме адреса?

во всяком случае выглядит именно так. прога из эклипса пускается? если да, то можно в memory view поглядеть, что по указанным адресам лежит. те значения, что программер вместо ожидаемых нулей считывает, выглядят довольно рандомными для пробитой ноги или чего-то в этом духе.
alexPec
Цитата(vadimuzzz @ Dec 9 2014, 11:59) *
во всяком случае выглядит именно так. прога из эклипса пускается? если да, то можно в memory view поглядеть, что по указанным адресам лежит. те значения, что программер вместо ожидаемых нулей считывает, выглядят довольно рандомными для пробитой ноги или чего-то в этом духе.


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

Info: Looking for EPCS registers at address 0x00011C00 (with 32bit alignment)
Info: Initial values: 000000FF 000000FF 00000260 00000000 000000FF 00000001

появилась строчка

Info: Looking for EPCS registers at address 0x00013C00 (with 32bit alignment)
Info: Initial values: 00000000 00000000 00000260 00000000 00000000 00000001

И вот тут он нашел флешку.

Адреса точно были не перепутаны, даже значения похожи. Что ему было надо - непонятно. Причем проект собирал на квартусе 12.1 и 13.1 - результат одинаковый, в смысле флешка до смены адреса (точнее контроллер) не виделся, после - все ОК.

Vadimuzzz спасибо за советы!
Timmy
Ещё можно было попробовать сделать .jic файл и залить его с помощью Quartus programmer. В этом случае не будет никакой завязки на SoC. Или так только родные EPCS-ы шьются?
doom13
Цитата(Timmy @ Dec 9 2014, 16:05) *
Ещё можно было попробовать сделать .jic файл и залить его с помощью Quartus programmer. В этом случае не будет никакой завязки на SoC. Или так только родные EPCS-ы шьются?

Эту проверку делали, читайте выше. И не родные EPCS и EPCQ также.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.