Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Ошибка при добавлении драйвера в систему Nios II
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
Shevnnov
Написал драйвер своего компонента. Исходный текст _sw.tcl скрипта привожу тут:
CODE
create_driver mac_eth_driver

set_sw_property hw_class_name mac_eth

set_sw_property version 1.0

set_sw_property min_compatible_hw_version 1.0

set_sw_property isr_preemption_supported true
set_sw_property supported_interrupt_apis "legacy_interrupt_api enhanced_interrupt_api"

set_sw_property auto_initialize true

set_sw_property bsp_subdirectory drivers

add_sw_property c_source HAL/src/mac_eth.c

add_sw_property include_source HAL/inc/mac_eth.h
add_sw_property include_source inc/mac_eth_regs.h

add_sw_property supported_bsp_type HAL

Пытаюсь интегрировать его в систему. BSP файл создается, файлы драйвера добавляются в соответсвующие каталоги BSP.

Но открываю BSP редактор и получаю RuntimeException


В файле alt_sys_init.c процедуры _INIT и _INSTANCE для моего компонента прописываются системой (т.е. как я понимаю драйвер инициализируется системой). В Файле summary.html в разделе драйверы указан мой драйвер (mac_eth_driver).

В чем проблема?
Shevnnov
Проблему разрешил, переместив папку компонента в папку <design_dir>/ip. До этого у меня компонент лежал в другой папке и я использовал его добавив в SOPC Builder путь поиска к той папке.
Вопрос новый, в чем здесь нюанс? Или это глюк системы?
Stewart Little
Цитата(Shevnnov @ Oct 28 2010, 13:15) *
Проблему разрешил, переместив папку компонента в папку <design_dir>/ip. До этого у меня компонент лежал в другой папке и я использовал его добавив в SOPC Builder путь поиска к той папке.
Вопрос новый, в чем здесь нюанс? Или это глюк системы?

Нюанс в том, что компонент нужно располагать там, где система сможет его найти.
Я рекомендую создавать сво компоненты там же, где находяться альтеровские ip-ядра - в директории, куда установлен квартус, в папке ip. Создайте в этой папке свою поддиректорию, например My_Cоmponents, и в ней создавайте свои собственные модули.
При этом Ваши модули гарантированно буду найдены системой, к тому же существенно облегчится их повторное использование.
vadimuzzz
Цитата(Stewart Little @ Oct 28 2010, 16:20) *
Я рекомендую создавать сво компоненты там же, где находяться альтеровские ip-ядра - в директории, куда установлен квартус, в папке ip. Создайте в этой папке свою поддиректорию, например My_Cоmponents, и в ней создавайте свои собственные модули.
При этом Ваши модули гарантированно буду найдены системой, к тому же существенно облегчится их повторное использование.

а я от такого способа отказался, тяжело переносить с машины на машину, особенно если оси или версии квартуса разные. теперь держу все библиотеки, компоненты в локальном репозитории svn. когда создаю новый проект, делаю в нем каталог ip и импортирую в него необходимые компоненты. если в компоненты по ходу вносятся изменения, они м.б. автоматом перенесены в репозиторий.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.