Jump to content

    

Recommended Posts

Всем добрый день.

 

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

 

Ситуация такая: отладил проект (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

post-15968-1418078313_thumb.jpg

post-15968-1418078323_thumb.jpg

post-15968-1418078339_thumb.jpg

Share this post


Link to post
Share on other sites
Остались только вопросы. Основной - что за регистры EPCS он сканирует? Контроллера чтоли?

да, он ищет контроллер (SPI)

No EPCS registers found: tried looking at addresses

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

Share this post


Link to post
Share on other sites
да, он ищет контроллер (SPI)

 

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

 

Как бы я был рад если бы это так было, но EPCS контроллер как поставился, так и оставался на своем адресе, я его замком зафиксировал. Десять раз уже проверил адреса - все нормально.

Т.е. это он именно контроллер не находит?? Да а с ним то что может быть кроме адреса? Адрес точно тот самый. Поди ка лицензия какая дополнительная на него нужна? Но при компиляции про opencore ни слова...

Share this post


Link to post
Share on other sites
Т.е. это он именно контроллер не находит?? Да а с ним то что может быть кроме адреса?

во всяком случае выглядит именно так. прога из эклипса пускается? если да, то можно в memory view поглядеть, что по указанным адресам лежит. те значения, что программер вместо ожидаемых нулей считывает, выглядят довольно рандомными для пробитой ноги или чего-то в этом духе.

Share this post


Link to post
Share on other sites
во всяком случае выглядит именно так. прога из эклипса пускается? если да, то можно в 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 спасибо за советы!

Share this post


Link to post
Share on other sites

Ещё можно было попробовать сделать .jic файл и залить его с помощью Quartus programmer. В этом случае не будет никакой завязки на SoC. Или так только родные EPCS-ы шьются?

Share this post


Link to post
Share on other sites
Ещё можно было попробовать сделать .jic файл и залить его с помощью Quartus programmer. В этом случае не будет никакой завязки на SoC. Или так только родные EPCS-ы шьются?

Эту проверку делали, читайте выше. И не родные EPCS и EPCQ также.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this