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

 
 
 
Reply to this topicStart new topic
> Ошибка при сборке проекта с sgdma и vic в последнем эклипсе
vadimuzzz
сообщение Jun 1 2011, 06:08
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



начитавшись хороших слов о Qsys, решил портировать один старый проект. в принципе, почти все понравилось, кроме одного:
ниосовский софт отказался собираться. симптомы выглядят так, как показано на скриншоте внизу.
я сделал при портировании глупую вещь - внес сразу несколько изменений, в числе прочего заменил контроллер прерываний на vic. как видно выше, минимум одна ошибка связана с вызовом alt_irq_register. хотя, исходя из наличия в системе vic, должен использоваться вызов alt_ic_isr_register. т.е. ALT_ENHANCED_INTERRUPT_API_PRESENT не определен, и мне непонятно почему. я так понимаю, он должен автоматически добавляться при добавлении в систему внешнего контроллера прерываний.
список изменений, которые я сделал при портировании:
  • переход от legacy nios-ide на SBT
  • сменил контроллер прерываний
  • переделал систему из SOPC в Qsys

м.б. кто-то видел нечто подобное? или это "фича" последнего квартуса?
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Jun 1 2011, 08:25
Сообщение #2


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

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



Мануал смотрели: AN632: SOPC Builder to Qsys Migration Guidelines (PDF)
Я, правда, еще не пробовал портировать систему с сопка на кусис...


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Jun 1 2011, 09:18
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(Stewart Little @ Jun 1 2011, 15:25) *

да, там про железную часть. в принципе, сложностей никаких, иерархические дизайны сильно порадовали. выбросил VIC пока, вроде собирается, буду тестить.
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Jun 2 2011, 06:11
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Чем дальше, тем чудесатее. Добавил я к линкеру ключик -DALT_ENHANCED_INTERRUPT_API, он мне выдал следующее:
Цитата
../sdr400_bsp//libhal_bsp.a(alt_sys_init.o): In function `alt_sys_init':
/home/vadik/Qdesigns/sdr400cpu-ng/software/sdr400_bsp/alt_sys_init.c:98: warning: Error: Interrupt not connected for eth_0_eth_rx_sgdma. The Altera Avalon Scatter-Gather DMA driver requires that an interrupt is connected. Please select an IRQ for this device in SOPC builder.
../sdr400_bsp//libhal_bsp.a(alt_sys_init.o): In function `alt_sys_init':
alt_sys_init.c:(.text+0x8): undefined reference to `__alt_invalid'
alt_sys_init.c:(.text+0x14): undefined reference to `__alt_invalid'

я, конечно, удивился, т.к. прерывания подключены (см. скрин). заглядываю в system.h - и точно, вместо номеров прерываний у компонентов стоят -1, т.е. не подключены. такие дела, копаем дальше
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Jun 3 2011, 01:45
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



http://www.alteraforum.com/forum/showpost....amp;postcount=2

а вот и рекомендации от альтеры:
Цитата
1) Use SOPC Builder until this issue is resolved
2) Manually key in the interrupt values into the system.h file
3) Switch to using the internal interrupt controller
Go to the top of the page
 
+Quote Post
gosu-art
сообщение Aug 22 2011, 08:23
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 555
Регистрация: 14-10-09
Пользователь №: 52 939



Цитата(vadimuzzz @ Jun 3 2011, 05:45) *


Вы не в курсе, исправили этот баг или нет?
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Aug 22 2011, 08:45
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(gosu-art @ Aug 22 2011, 15:23) *
Вы не в курсе, исправили этот баг или нет?

есть костыль: http://www.altera.com/support/kdb/solution...152011_982.html

по сути - не сильно отличается от назначения номеров прерываний руками, после перегенерации системы нужно каждый раз править .sopcinfo
Go to the top of the page
 
+Quote Post
gosu-art
сообщение Aug 22 2011, 09:21
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 555
Регистрация: 14-10-09
Пользователь №: 52 939



Цитата(vadimuzzz @ Aug 22 2011, 12:45) *
есть костыль: http://www.altera.com/support/kdb/solution...152011_982.html

по сути - не сильно отличается от назначения номеров прерываний руками, после перегенерации системы нужно каждый раз править .sopcinfo


Да ну его biggrin.gif я лучше на SOPC посижу пока)
Причина редактирования: Использование ненормативной лексики (с) des00
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 07:53
Рейтинг@Mail.ru


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