Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Sys ID и Timestamp не видит
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
alexPec
Всем добрый день. Надоело ждать пока в Q81 ребилдится все при изменении каждой цифры в исходнике (вобщем то и не менять ниче-тоже ребилдится) и поставил Q91. В эклипсе создал проект, Debug as nios hw почему-то в этот раз появилось (на другой комп ставил все). Но в hardware setup не видит sysID и timestamp, хотя компонент этот в системе есть, и даже базовый адрес эклипс видит (хотя пожет из сопц-файла берет). Делаешь refresh connection - видит кабель, видит CPU. Как борются с таким бывалые?

Да, если делаешь Ignore sysid, timestamp - не дебажится, лог такой:

Using cable "USB-Blaster [USB-0]", device 1, instance 0x00
Pausing target processor: not responding.
Resetting and trying again: FAILED
Leaving target processor paused

Сверху в debug configurations пишет [Target connection]: Actual system ID not found on target at base address

Плата альтеровская, на ней из под 81 работало все нормально.
Опера - win XP
Alezi
Такую проблему убирал путем повторной компиляции проекта в Sopc Builder, Quartus и Nios (предварительно bsp editor). На всякий случай проверьте, верный ли sof льете....))
Успехов...
ПыСы.:сам работаю Quartus 9.1 SP2 плата DE2-70
vadimuzzz
Я эти штуки вообще не использую. Только проблем добавляют, а пользы - чуть. Грохнуть и все.
alexPec
Цитата(vadimuzzz @ Aug 24 2010, 02:39) *
Я эти штуки вообще не использую. Только проблем добавляют, а пользы - чуть. Грохнуть и все.

Так похоже это не причина а следствие - ведь когда делаешь ignore - не дебажится! Где-то еще собака порылась... smile.gif

Цитата
Такую проблему убирал путем повторной компиляции проекта в Sopc Builder, Quartus и Nios.


Так я проект и взял из 81, открыл сопц билдер, сгенерил все по новому, скомпилировал в квартусе, в эклипсе создал голый хело волд
А идея вроде верная - надо собрать сопц из компонентов сопца91 с нуля. Помню проект 91 открывал в 81 - квартус вылетал с непонятной ошибкой.

Спасибо всем!!!
alexPec
Кстати, не подскажет ли кто где сп2 взять с таблэткой. СП1 нашел для Q91, а сп2 там нет...

UPD В догонку: поставил сп1 для ква91, заменил dll приложенным к сп1. Сделал проект с нуля - сопц собрал, top-level новый, tcl скрипт только от дев борды взял, ноги назначить. Собрал сопц, скомпилировал проект. Эклипс ругнулся, что версии ква и ниос не совпадают но запустился. Сделал в эклипсе новый проект хело волд смол, скомпилировал - та же бадья: не видит id, timestamp, а когда делаешь ignore - пишет тот же лог:

Using cable "USB-Blaster [USB-0]", device 1, instance 0x00
Pausing target processor: not responding.
Resetting and trying again: FAILED
Leaving target processor paused

Вот такая бадья, как говорится, бывает не до смеха...
Что еще поменять посоветуете?
alexPec
После долгих мучений выяснилось следующее: id и timestamp не видятся из-за высокой тактовой частоты (потому что ну все из сопца убрал, остался только проц, он-чип память и pio). При 100 МГц не работает стабильно. При 70 мегагерцах работает стабильно, при 90 мегагерцах где-то на грани, поскольку при выполнении команды printf ("Hello from NIOS II!") вылазит собственно строчка + белиберда какая-то. ЭТО НА КРИСТАЛЛЕ -6. Такой же сопц собираю в 81 - работает на 100 мгц, добавляю еще кучу - дма, внешняя память, LCD, таймеры - все работает стабильно. Но уж очень мне понравилась среда eclipse genymede - быстро компилит, ребилдит только то что менялось. В связи с этим хочу остаться на 91 и прошу помощи в след. вопросах:

1. Что делать с частотой? Отчет таймквеста может что спецам скажет? Он в файле. Вообще, кто-нибудь объяснил бы принцип поиска таймовых багов и принцип борьбы с ними, понятно что никому не охота копаться в чужих сопцах и прогах. Кстати, в 81 в отчете таймквеста в разделе Clocks много клоков - Два base (собственно мой внешний, 50МГц и altera reserved tck, 10МГц) и три generated (мои, с плла которые идут), А в 91 только один - altera reserved tck, 10МГц.

2. В 91 есть две среды: Eclipse genymede и NIOS2 IDE (в разделе Legacy Nios2 tools). В чем разница? В ходе мытарств заметил, что какую ошибку выдает эклипс, такуи и иде выдает. Но эклипс компилирует намного бастрее.



Спасибо всем ответившим
Reanimator++
Подниму тему.

Есть ли пошаговый метод диагностики - что делать если Nios IDE не видит проц? Точнее проц видит но SysID не читает и не заливает прогу.

Собирал простейший проект - (onchip_mem, sysid, pio, uart, nios) работает. Добавляю epcs_controller - не работает. Причем сам .sof заливается корректно, логика вне проца фунциклит..
vadimuzzz
1 шаг - привести сообщение об ошибке, а не "не работает" sm.gif
2 если добавили компонент в SOPC->изменился sof->надо пересобрать BSP и программу. (по неведомым мне причинам, BSP не всегда пересобирается автоматически)

и, честно говоря, я вообще не понимаю, зачем этот SYSID нужен. м.б. кто-нибудь мне расскажет, что от него хорошего бывает?
alexPec
Цитата
Есть ли пошаговый метод диагностики - что делать если Nios IDE не видит проц? Точнее проц видит но SysID не читает и не заливает прогу.

Собирал простейший проект - (onchip_mem, sysid, pio, uart, nios) работает. Добавляю epcs_controller - не работает. Причем сам .sof заливается корректно, логика вне проца фунциклит..


Недавно под руководством Vadivuzzz'a начинал работать с Nios, timestamp у меня не видел только из-за времянок, в том или ином виде. Судя по синптомам они. Приведите тактовую сопца. У меня так было: в первый раз - сам тактовую высокую задал 100МГц, повторно проблема появилась когда перешел на Q91. Там была беда в том, что клоки не констренились в сопце. При этом в отчете компилятора в разделе Clocks был только один клок, внешний, клоков плл'а не было. Решилось убиранием комментария со строчки Derive_pll_clocks в файле pll0.sdc. Убрал комментарий - появились все клоки плл'а в разделе Clocks, сопц заработал. Для себя сделал вывод - не надо сопц крутить. Для грейда -8 сейчас делаю 80МГц, на что не хватает проца - перевожу в аппаратную обработку. Рано или поздно, по мере добавления компонентов в сопц все равно планка верхняя падает, и для грейда 8 например 100МГц простой сопц тянет, а с периферией - уже нет.

Цитата(vadimuzzz @ Jan 15 2011, 08:15) *
и, честно говоря, я вообще не понимаю, зачем этот SYSID нужен. м.б. кто-нибудь мне расскажет, что от него хорошего бывает?


Для меня sysid стал больше индикатором нормальной работы сопца. Когда сопц не работает нормально - sysid не видит. Несколько раз так было.
Reanimator++
1) SisID и TimeStamp не могут быть прочитаны по адресу такому-то.
Т.е. в sisid info стоят нули вместо ожидаемого.
2) я уже научился рукой просить IDE и BSP собирать и onchip_mem генерить (это он тоже иногда забывает), пробовал даже на новом hello_world_small template.
Четкая зависимость от железки присутствует, причем кажется alexPc верно подметил область мыслей насчет клока - (сначала не работал тестовый проект даже без epcs_controller, потом я для достоверности вывел на одну из лап клок ниоса и проект завелся. правда с epcs_controller все-таки не захотел). Частота небольшая - 33 МГц (я бы еще меньше поставил, да Sopc ругается что меньше 20 не будет работать debugger module и ПО не загрузишь), еще правда клок заведен не на clk_in pin.

Собственно, мы сейчас придем к избитому перестановить квартус пересобрать проект и прочим шаманским действиям (кстати хардварный проект заново с нуля сделать я еще не пробовал), но это не путь джедая. Должен же быть какой-то исчерпывающий список требований чтобы система работала и четкая методика диагностики, какое из требований не выполнено.
vadimuzzz
Цитата(Reanimator++ @ Jan 15 2011, 17:56) *
Должен же быть какой-то исчерпывающий список требований чтобы система работала и четкая методика диагностики, какое из требований не выполнено.

если говорить о железе, то уверенность дает отчет таймквеста. т.е. нормально обконстрейненый дизайн будет работать. бывают правда баги в самих корках, но это редкость. я только один помню и тот давно был.
Reanimator++
Жалко в форуме нету кнопки спасибо ) Пошел изучать констрейны )
ElectroKarp
кроме повторной сборки бывает помогает "Refresh connections"
У меня была проблема в следуещем ID совпадал, а вот Time Stamp нет. Оказалось что SOPC предлагает сохранить файлы до генерации и после (при закрытии сaмого SOPC), получается если пересохранить файлы при закрытии (после генерации) time stamp совподать не будет.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.