Полная версия этой страницы:
Sys ID и Timestamp не видит
alexPec
Aug 23 2010, 17:38
Всем добрый день. Надоело ждать пока в 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
Такую проблему убирал путем повторной компиляции проекта в Sopc Builder, Quartus и Nios (предварительно bsp editor). На всякий случай проверьте, верный ли sof льете....))
Успехов...
ПыСы.:сам работаю Quartus 9.1 SP2 плата DE2-70
vadimuzzz
Aug 23 2010, 22:39
Я эти штуки вообще не использую. Только проблем добавляют, а пользы - чуть. Грохнуть и все.
alexPec
Aug 24 2010, 05:17
Цитата(vadimuzzz @ Aug 24 2010, 02:39)

Я эти штуки вообще не использую. Только проблем добавляют, а пользы - чуть. Грохнуть и все.
Так похоже это не причина а следствие - ведь когда делаешь ignore - не дебажится! Где-то еще собака порылась...

Цитата
Такую проблему убирал путем повторной компиляции проекта в Sopc Builder, Quartus и Nios.
Так я проект и взял из 81, открыл сопц билдер, сгенерил все по новому, скомпилировал в квартусе, в эклипсе создал голый хело волд
А идея вроде верная - надо собрать сопц из компонентов сопца91 с нуля. Помню проект 91 открывал в 81 - квартус вылетал с непонятной ошибкой.
Спасибо всем!!!
alexPec
Aug 24 2010, 09:52
Кстати, не подскажет ли кто где сп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
Aug 24 2010, 17:02
После долгих мучений выяснилось следующее: 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++
Jan 14 2011, 23:50
Подниму тему.
Есть ли пошаговый метод диагностики - что делать если Nios IDE не видит проц? Точнее проц видит но SysID не читает и не заливает прогу.
Собирал простейший проект - (onchip_mem, sysid, pio, uart, nios) работает. Добавляю epcs_controller - не работает. Причем сам .sof заливается корректно, логика вне проца фунциклит..
vadimuzzz
Jan 15 2011, 02:15
1 шаг - привести сообщение об ошибке, а не "не работает"

2 если добавили компонент в SOPC->изменился sof->надо пересобрать BSP и программу. (по неведомым мне причинам, BSP не всегда пересобирается автоматически)
и, честно говоря, я вообще не понимаю, зачем этот SYSID нужен. м.б. кто-нибудь мне расскажет, что от него хорошего бывает?
alexPec
Jan 15 2011, 08:35
Цитата
Есть ли пошаговый метод диагностики - что делать если 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++
Jan 15 2011, 08:56
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
Jan 15 2011, 09:35
Цитата(Reanimator++ @ Jan 15 2011, 17:56)

Должен же быть какой-то исчерпывающий список требований чтобы система работала и четкая методика диагностики, какое из требований не выполнено.
если говорить о железе, то уверенность дает отчет таймквеста. т.е. нормально обконстрейненый дизайн будет работать. бывают правда баги в самих корках, но это редкость. я только один помню и тот давно был.
Reanimator++
Jan 15 2011, 09:43
Жалко в форуме нету кнопки спасибо ) Пошел изучать констрейны )
ElectroKarp
Apr 7 2011, 14:05
кроме повторной сборки бывает помогает "Refresh connections"
У меня была проблема в следуещем ID совпадал, а вот Time Stamp нет. Оказалось что SOPC предлагает сохранить файлы до генерации и после (при закрытии сaмого SOPC), получается если пересохранить файлы при закрытии (после генерации) time stamp совподать не будет.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.