Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: загрузка NIOS (DEVBOARD Циклон 3)
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
карамболь
работаю с платой Циклон 3. Собрал простейшую систему: Ниос + Jtag-UART+ON_CHIP Memory+PIO (выход на светодиоды), получилось 2 входа (ресет и clk ) и 8 выходов. загрузка системы в плисину проходит удачно, что могу наблюдать по состоянию светодиодов, которые инициализирую кодом 0xAA (из SOPC), однако при загрузки софта из эклипса (обычный хеллоуворд) получаю следующее сообщение -

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

если залить в плиску прошивку в альтеровкого диска, то загрузка софта проходит успешно. Собственно вопрос, гда я накосячил ?

Использую квартус 9.1 (недолеченный, создает только .sof)

И еще, что нужно поменять в лицензии, что иметь полноценный НИОС без time-limitedю
Спасибо.

vadimuzzz
какая тактовая на процессоре? такое сообщение можно получить, например, если тактовая меньше 20МГц
Stewart Little
Цитата(карамболь @ Aug 13 2010, 14:29) *
... однако при загрузки софта из эклипса ...

Для загрузки исполняемого кода из-под эклипса процессорное ядро должно содержать jtag-debug модуль. Проверьте, есть ли он у Вас (это делается в окне настройки процессорного ядра, на одной из закладок).
карамболь
частота 50 МГц

jtag-debug присутствует
карамболь
собрал проект заново (ядро и софт), ничего нового не добавлял, ничего не убирал, и, о чудо, раза с пятого все запустилось. Я даже не обрадовался, так как так и не разобрался в чем дело было.

На чем только не программировал , ничего более глюкавого, чем Эклипс не встречал, это у всех так или я самый везучий ?
vadimuzzz
Цитата(карамболь @ Aug 14 2010, 02:03) *
На чем только не программировал , ничего более глюкавого, чем Эклипс не встречал, это у всех так или я самый везучий ?

бывает smile.gif при работе нужно учитывать положение звезд, фазы Луны, ну и карма хорошая нужна. один механизм обновлений в эклипсе 3.4 сколько крови попил...
карамболь
ясно, про карму то я и не подумал, видимо попортил ее работой на военных )
Stewart Little
Цитата(карамболь @ Aug 13 2010, 23:03) *
На чем только не программировал , ничего более глюкавого, чем Эклипс не встречал, это у всех так или я самый везучий ?

Версия какая?
Ганимед из v9.1sp2 имхо довольно стабильная платформа.
А вот Галилео из v10.0 - того, глюкавая (как, впрочем, и вся десятая версия) - так что ждем сервис паков.
карамболь
Цитата(Stewart Little @ Aug 16 2010, 12:42) *
Версия какая?
Ганимед из v9.1sp2 имхо довольно стабильная платформа.
А вот Галилео из v10.0 - того, глюкавая (как, впрочем, и вся десятая версия) - так что ждем сервис паков.


У меня 9.1 сп2, почитав форум, решил воздержаться пока от перехода на 10, пока своих граблей хватает -)
nkie
Цитата(карамболь @ Aug 13 2010, 14:29) *
если залить в плиску прошивку с альтеровкого диска, то загрузка софта проходит успешно

здравствуйте, а не подскажите где можно качнуть содержимое этого самого альтеровского диска, а то не могу найти на их сайте этот самый простейший пример, хоть убей.
vadimuzzz
Цитата(nkie @ Sep 24 2010, 19:40) *
здравствуйте, а не подскажите где можно качнуть содержимое этого самого альтеровского диска, а то не могу найти на их сайте этот самый простейший пример, хоть убей.

http://tinyurl.com/36234ln
titova
Здравствуйте, может все же припомните что вы делали? проблема абсолютно аналогичная, проект такой же, плата та же и софт один в один. Да вот беда:
Verifying 00100020 ( 0%)
Verify failed between address 0x100020 and 0x10D517
Leaving target processor paused

Downloading Elf Process failed

vadimuzzz
Цитата(titova @ Oct 1 2010, 14:38) *
Downloading Elf Process failed

на форуме острая нехватка телепатов, поэтому сопровождайте подобные вопросы следующей информацией:
1. железо, рабочие частоты
2. точные версии ПО
3. какой у вас проект для квартуса (из примеров, самописный)
4. то же относительно программы ниоса
5. информация из SOPC-билдера (можно скриншот)
6. настройки линкера
7. отчет о компиляции в квартусе (он большой, но хорошо сжимается любы архиватором)
8. если есть сомнения по поводу кода, выбросить все секретное и выложить

на вскидку: программатор не может залить программу в ОЗУ, такое м.б., например, из-за неправильной работы/подключения внешней памяти.

модераторам: просьба повесить шапку, по типу приведенного выше списка, с рекомендацией создавать темы по образу и подобию.
titova
1) Девборд циклон3, 50Mhz
2) ПО Q2 9.1 sp2, Nios2 eds 9.1 sp2
3) Ниос + ножки. Настройки отсюда http://www.nioswiki.com/Cyclone_III_-_Nios...-_Starter_board ,
но проект не на veriloge, как в примере, а собран в bdf
4) Для ниоса программа шаблонная Hello World Small
5) Ниос + Jtag-UART+ON_CHIP Memory+PIO_led + PIO_Buttons+ SSRAM+ MM Tristate bridge. Отличия от примера: ончип мэмори больше- 16кб, и оба вектора резет и эксепшн назначены на ончип мэмори.
6) настройки см. п.3)
vadimuzzz
пардон, не понял какая плата:
http://www.altera.com/products/devkits/altera/kit-cyc3.html
или
http://www.altera.com/products/devkits/alt...c3-starter.html
?
еще настройки линкера покажите
titova
Вторая. А линкер это, простите, что? И какие именно настройки интересуют?
vadimuzzz
Цитата(titova @ Oct 1 2010, 19:05) *
А линкер это, простите, что?

http://ru.wikipedia.org/wiki/%D0%9A%D0%BE%...%89%D0%B8%D0%BA
Цитата
И какие именно настройки интересуют?

интересуют где располагаются секции .text и .data. посмотреть можно либо в настройках BSP (если в эклипсе работаете) или в System Library Properties (в NIOS IDE). есть подозрение, что программа линкуется во внешнюю память. да, а что располагается по адресу 0x00100000?
titova
На сколько понимаю интересует файл linker.h



#ifndef __LINKER_H_
#define __LINKER_H_


/*
* BSP controls alt_load() behavior in crt0.
*
*/

#define ALT_LOAD_EXPLICITLY_CONTROLLED


/*
* Base address and span (size in bytes) of each linker region
*
*/

#define ONCHIP_MEMORY2_REGION_BASE 0x408020
#define ONCHIP_MEMORY2_REGION_SPAN 30688
#define RESET_REGION_BASE 0x408000
#define RESET_REGION_SPAN 32
#define SSRAM_REGION_BASE 0x200000
#define SSRAM_REGION_SPAN 1048576


/*
* Devices associated with code sections
*
*/

#define ALT_EXCEPTIONS_DEVICE ONCHIP_MEMORY2
#define ALT_RESET_DEVICE ONCHIP_MEMORY2
#define ALT_RODATA_DEVICE SSRAM
#define ALT_RWDATA_DEVICE SSRAM
#define ALT_TEXT_DEVICE SSRAM


/*
* Initialization code at the reset address is allowed (e.g. no external bootloader).
*
*/

#define ALT_ALLOW_CODE_AT_RESET


/*
* The alt_load() facility is called from crt0 to copy sections into RAM.
*
*/

#define ALT_LOAD_COPY_EXCEPTIONS

#endif /* __LINKER_H_ */


ну и теперь он ругается на другой адрес

Verifying 00200000 ( 0%)
Verify failed between address 0x200000 and 0x200233
Leaving target processor paused

и как я понимаю предположение о том что он линкуется во внешнюю память верно.
Что можно с этим сделать?
vadimuzzz
Цитата(titova @ Oct 1 2010, 19:45) *
и как я понимаю предположение о том что он линкуется во внешнюю память верно.
Что можно с этим сделать?

правильно понимаете. я бы сделал так: слинковать программу во внутреннюю память и попробовать писать/читать в/из SSRAM. это поможет диагностировать неполадку. скорее всего где-то ноги неправильно подключены, сверьтесь со схемой платы.
titova
В этом то и дело, есть желание научиться читать и пасать из/в SSRAM желаемую информацию. Возможно был выбран неправильный подход к изучению.
Не посоветуете где можно почитать? Или готовые проекты где-нибудь может есть, на которых можно понять принцип работы?
vadimuzzz
все тут:
http://www.altera.com/literature/lit-nio2.jsp
примеры есть на nioswiki.com
ссылку на на альтеровские примеры я давал выше, но там довольно скромно. собственно с SSRAM все просто, она прозрачно цепляется к шине avalon (www.altera.com/literature/manual/mnl_avalon_spec.pdf). в самой программе для проверки достаточно воспользоваться макросами IOWR/IORD (адрес,смещение)
Stewart Little
Цитата(titova @ Oct 1 2010, 17:44) *
В этом то и дело, есть желание научиться читать и пасать из/в SSRAM желаемую информацию. Возможно был выбран неправильный подход к изучению.
Не посоветуете где можно почитать? Или готовые проекты где-нибудь может есть, на которых можно понять принцип работы?

ЕМНИП, на вашей плате внешние SSRAM и Flash висят на одной шине. Поэтому нужно задавать бОльшую нагрузочную способность для сигналов управления (по крайней мере) на этой шине (adcs, be, ce, clk, oe, we). Ну и, как уже рекомендовали, надо проверить правильность подключения сигналов на выводы микросхемы.
Прилагаю свой проект с внешней SSRAM, который делался когда-то для такой же платы, как и у Вас. Cразу извиняюсь за монстоидальный размер архива - просто некогда его оптимизировать laughing.gif
Проект делался в версии 8.1, и если мне склероз не изменяет, работал как Папа Карло smile.gif
Модуль SSRAM делался в Component Editor'e из заготовки (Template).
titova
Всем большое спасибо за помощь! Проблема разрешилась! Не был подключен клок на память.
В этой же системе пытаюсь узнать быстродействие процессора.
запускаю следующий текст программы.
int main()
{
while (1)
{
IOWR_ALTERA_AVALON_PIO_DATA(LED1_BASE, 1);
IOWR_ALTERA_AVALON_PIO_DATA(LED1_BASE, 0);
}
}
На диоде осциллографом вижу частоту около 333кГц.
Неужели так медленно?
vadimuzzz
Цитата(titova @ Oct 21 2010, 18:24) *
На диоде осциллографом вижу частоту около 333кГц.
Неужели так медленно?

а какая градация ниоса, не экономичный часом?
titova
И экономичный и фаст. без разницы, одно и то же.
vadimuzzz
Цитата(titova @ Oct 22 2010, 13:30) *
И экономичный и фаст. без разницы, одно и то же.

а таймер в системе есть? и тактовая, кстати, сколько?
titova
таймера нет. тактовая 50 Мгц.
Как вообще узнать реальную скорость выполнения команд?
Можно ли залезть в машинный код?
vadimuzzz
Цитата(titova @ Oct 22 2010, 14:31) *
таймера нет. тактовая 50 Мгц.
Как вообще узнать реальную скорость выполнения команд?
Можно ли залезть в машинный код?

покопайтесь в настройках эклипса (меню Preferences), там есть галка "generate objdump". после ребилда появится файл с таким расширением, в нем все есть.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.