реклама на сайте
подробности

 
 
43 страниц V  « < 23 24 25 26 27 > »   
Reply to this topicStart new topic
> NIOS для начинающих
barabek
сообщение Apr 10 2012, 22:46
Сообщение #361


Знающий
****

Группа: Свой
Сообщений: 540
Регистрация: 16-08-07
Из: Владивосток
Пользователь №: 29 831



Цитата(_Desh_ @ Apr 11 2012, 06:55) *
Возникла такая проблема. Самый простой пример с прерываниями не работает - count_binary (который идет в комплекте с квартусом и ниосом). Подобные обработчики прерываний раньше уже писал на версии 9.1 - все работает. При переносе проекта на новый квартус 11.1 - ни в какую. В среде NIOS II SBT при компиляции выводит сообщение об ошибке - undefined reference to alt_ic_irq_register (использую vectored interrupt controller). Т.е. не может зарегистрировать обработчик прерывания. Заголовочный файл "sys\alt_irq.h" добавлен. Все по идее должен видеть - но результат нулевой. Не работает также функция alt_irq_register.

На форуме альтеровском смотрел - там были подобные вопросы, но никто толком так ничего и не ответил. Кто что подскажет?


Я VIC не использовал, но указанной Вами функции не нашел и в документации. Может имели ввиду alt_ic_isr_register ?


А функцию alt_irq_register они перекинули в устаревшие. Нужно подключать файл <priv/alt_legacy_irq.h>

Go to the top of the page
 
+Quote Post
_Desh_
сообщение Apr 11 2012, 03:05
Сообщение #362


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 6-12-11
Пользователь №: 68 698



Цитата(barabek @ Apr 11 2012, 02:46) *
Я VIC не использовал, но указанной Вами функции не нашел и в документации. Может имели ввиду alt_ic_isr_register ?

А функцию alt_irq_register они перекинули в устаревшие. Нужно подключать файл <priv/alt_legacy_irq.h>


Да-да, верно, alt_ic_isr_register, спасибо!

Да alt_irq_register мне и не нужна, это я просто хотел проиллюстрировать, что не работает самый запростецкий проект, не могу понять из-за чего. Все заголовочные фалйы подключены, VIC в системе присутствует, переменная ALT_ENHANCED_API_PRESENT (или как-то там) объявлена. Среда разработки функцию видит (переходит по Ctrl + клик на имени функции к ее объявлению). То есть все сделано по документации. И повторюсь, в 9.1 абсолютно такой же софт успешно компилируется и работает.
Go to the top of the page
 
+Quote Post
_Desh_
сообщение Apr 11 2012, 05:56
Сообщение #363


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 6-12-11
Пользователь №: 68 698



Вот сейчас на работе пробую вообще пустую программу скомпилировать. Состав системы: nios, onchip_memory, epcs_flash_controller, interval_timer. Qsys чего-то там генерирует (без ошибок и предупреждений), запускаю Nios II SBT, пустой проект, набираю код

Код
int main()
{
   while (1);
   return 0;
}

При компиляции мне выдает ошибку в файле alt_avalon_timer_sc_init.c (!), т.е. сам у себя в драйверах HAL. Пишет:

Код
undefined reference to 'alt_ic_isr_register'


Сообщение отредактировал _Desh_ - Apr 11 2012, 06:01
Go to the top of the page
 
+Quote Post
Wic
сообщение Apr 11 2012, 06:27
Сообщение #364


Частый гость
**

Группа: Свой
Сообщений: 183
Регистрация: 16-03-08
Из: Новосибирск
Пользователь №: 35 954



все что нужно в include прописано? В исходниках ниоса вполне могут быть косяки, не пугайтесь так сильно wink.gif
Go to the top of the page
 
+Quote Post
_Desh_
сообщение Apr 11 2012, 07:00
Сообщение #365


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 6-12-11
Пользователь №: 68 698



Цитата(Wic @ Apr 11 2012, 10:27) *
все что нужно в include прописано? В исходниках ниоса вполне могут быть косяки, не пугайтесь так сильно wink.gif


В данном конкретном исходнике все прописано. Мой код ничего не делает, так что в него ничего включать и не надо.
Да я не пугаюсь, но делать-то что? Исходники править? Откатываться на версию 9.1? Спрашиваю исключительно в надежде на то, что кто-нибудь уже сталкивался и знает как решить.
Go to the top of the page
 
+Quote Post
Wic
сообщение Apr 11 2012, 08:25
Сообщение #366


Частый гость
**

Группа: Свой
Сообщений: 183
Регистрация: 16-03-08
Из: Новосибирск
Пользователь №: 35 954



Перегенерировать проект пробовали? пересобрать заново? проверил у меня всё определяется ква версии 11,1сп1
Go to the top of the page
 
+Quote Post
_Desh_
сообщение Apr 11 2012, 10:46
Сообщение #367


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 6-12-11
Пользователь №: 68 698



Цитата(Wic @ Apr 11 2012, 12:25) *
Перегенерировать проект пробовали? пересобрать заново? проверил у меня всё определяется ква версии 11,1сп1

Пробовал. Убрал свой таймер из sys_clk_timer в настройках bsp. Вроде пустой проект скомпилировался. Но пустые проекты никому не нужны, поэтому я написал следующее:
Код
#include "system.h"
#include "sys/alt_irq.h"
#include "altera_avalon_timer_regs.h"

volatile int timer_status = 0;
volatile int timer_timeout = 0;

static void handle_timer_interrupts(void* context)
{
    volatile int* timer_status_ptr = (volatile int*) context;
    *timer_status_ptr = IORD_ALTERA_AVALON_TIMER_STATUS(TIMER_BASE);
    IOWR_ALTERA_AVALON_TIMER_STATUS(TIMER_BASE, 0);
    timer_timeout = 1;
}

static void init_timer()
{
    void* timer_status_ptr = (void*) &timer_status;
    IOWR_ALTERA_AVALON_TIMER_CONTROL(TIMER_BASE, 0x5);
    IOWR_ALTERA_AVALON_TIMER_STATUS(TIMER_BASE, 0);
    alt_ic_isr_register(TIMER_IRQ_INTERRUPT_CONTROLLER_ID, TIMER_IRQ,
                     handle_timer_interrupts, timer_status_ptr, 0x0);
}

int main()
{
    init_timer();
    /* Тут мой код */
    return 0;
}


Ошибка та же: undefined reference to 'alt_ic_isr_register'. Что я делаю не так?

Сообщение отредактировал _Desh_ - Apr 11 2012, 10:49
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Apr 11 2012, 18:10
Сообщение #368


Лентяй
******

Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843



Цитата(_Desh_ @ Apr 11 2012, 14:46) *
Ошибка та же: undefined reference to 'alt_ic_isr_register'. Что я делаю не так?

Проверьте вот это: http://www.altera.com/support/kdb/solution...152011_982.html
и до кучи вот это: http://www.altera.com/support/kdb/solutions/spr375970.html


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Apr 12 2012, 15:15
Сообщение #369


Лентяй
******

Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843



Цитата(Stewart Little @ Apr 11 2012, 22:10) *
Проверьте вот это: ...

Проверил в v11.1sp2.
Все работает, как положено. Рукопашной модификации sopcinfo не требуется.

Еще вопрос - в настройках процессора какое количество shadow register sets указано?
Если задано значение 0 (ноль), то такой контроллер HAL'ом поддерживаться не будет (о чем Qsys честно и предупреждает).


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
Full41
сообщение Apr 19 2012, 11:50
Сообщение #370


Местный
***

Группа: Свой
Сообщений: 309
Регистрация: 31-03-08
Из: САНКТ-ПЕТЕРБУРГ
Пользователь №: 36 375



Цитата(naliwator @ Feb 9 2012, 18:01) *
Похоже вы давно не чистили папку с проектом.
Для генерации BSP вы используете файл CPU.sopcinfo,
а ваша система генерирует CPU_SOPC.sopcinfo.

Последний сгенерировал нормально.

Попробовал все пересоздать все равно появляются ошибки такого плана.

Прикрепленное изображение


Прикрепленное изображение

Go to the top of the page
 
+Quote Post
Full41
сообщение Apr 19 2012, 13:14
Сообщение #371


Местный
***

Группа: Свой
Сообщений: 309
Регистрация: 31-03-08
Из: САНКТ-ПЕТЕРБУРГ
Пользователь №: 36 375



Цитата(Full41 @ Apr 19 2012, 14:50) *
Попробовал все пересоздать все равно появляются ошибки такого плана.

Прикрепленное изображение


Прикрепленное изображение


Разобрался сам. Хотя теперь возник другой вопрос. Например я создал проект ядра NIOS, сделал для него программу в Eclips, после чего мне оказалось необходимо добавить в тот же проект ядра NIOS дополнительные выводы или что то еще, мне что снова надо создавать проект в Eclips по новому или я могу обновить как то старый(Как я понимаю необходимо обновит BSP модель)?
Go to the top of the page
 
+Quote Post
Wic
сообщение Apr 20 2012, 02:38
Сообщение #372


Частый гость
**

Группа: Свой
Сообщений: 183
Регистрация: 16-03-08
Из: Новосибирск
Пользователь №: 35 954



Используете старый проект. Но нужно перегенрировать BSP. Для этого по BSP части проекта (не тот в котором у вас исходники) жмете правой кнопкой там выбираете NIOS II> Generate BSP
Go to the top of the page
 
+Quote Post
Full41
сообщение Apr 20 2012, 08:40
Сообщение #373


Местный
***

Группа: Свой
Сообщений: 309
Регистрация: 31-03-08
Из: САНКТ-ПЕТЕРБУРГ
Пользователь №: 36 375



Цитата(Wic @ Apr 20 2012, 05:38) *
Используете старый проект. Но нужно перегенрировать BSP. Для этого по BSP части проекта (не тот в котором у вас исходники) жмете правой кнопкой там выбираете NIOS II> Generate BSP


Спасибо))
Go to the top of the page
 
+Quote Post
Full41
сообщение May 14 2012, 18:20
Сообщение #374


Местный
***

Группа: Свой
Сообщений: 309
Регистрация: 31-03-08
Из: САНКТ-ПЕТЕРБУРГ
Пользователь №: 36 375



Уважаемые коллеги, на сайте "Эфо" прочитал что проводятся курсы NIOS 2 на базе " кафедре Автоматики и Вычислительной Техники (СПбГПУ)", написано что те кто заканчивает эти курсы получает в электронном виде: лекции, описания лабораторных работ, результаты лабораторных работ.
Может кто проходил эти курсы поделятся материалами, если не жалко, было бы полезно.
Go to the top of the page
 
+Quote Post
_Desh_
сообщение Jun 4 2012, 15:49
Сообщение #375


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 6-12-11
Пользователь №: 68 698



Проблема с запуском проекта для NIOS из-под Eclipse. Как я понимаю (поправьте, если не так), надо иметь на руках файлы .sof и .elf. Оба файла имеются. Итак, включаю железку, шью .sof (Quartus Programmer), затем из-под eclipse выбираю Run As->Nios Hardware. Дальше оболочка меня спрашивает настройки, я их все указываю, но прошивка не загружается - все время выдает Download ELF file process failed. В консоли выводится что-то типа Verify failed at 0x10000 to 0x14FFFF или что-то в этом роде. По адресу 0x10000-0x130xxx (не помню точно) у меня в системе находится onchip_memory. К шине подключена правильно, Reset Vector и Exception Vector указывают на нее. Из периферии оставил только PIO, JTAG UART, Vectored Interrupt Controller.

На форуме Альтеры куча подобных вопросов, но конкретных ответов нет - все время советуют проверить тайминги и сигналы clk, reset. Но раз Quartus предупреждений или ошибок при компиляции не выдал, то ошибок времянки нет. Clk идет с PLL (80 МГц), reset - лог. 1 (пока так, для простоты). Подскажите, пожалуйста, что еще может быть не так?

Сообщение отредактировал _Desh_ - Jun 4 2012, 15:49
Go to the top of the page
 
+Quote Post

43 страниц V  « < 23 24 25 26 27 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 00:52
Рейтинг@Mail.ru


Страница сгенерированна за 0.01515 секунд с 7
ELECTRONIX ©2004-2016