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

 
 
> Прерывание в Nios
djhall
сообщение May 2 2013, 12:13
Сообщение #1


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

Группа: Свой
Сообщений: 168
Регистрация: 29-04-06
Пользователь №: 16 608



Перешёл на Nios 12.1 c 9.0 и обнаружил, что программа которая работала на 9.0 не хочет запускаться в 12.1. А именно ругается на функцию alt_irq_register. Выяснил, что дело в том, что файл нызывается .cpp, а не .c. Подскажите как заапустить прерывание в .cpp
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
_Артём_
сообщение May 3 2013, 14:22
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(djhall @ May 2 2013, 15:13) *
Подскажите как заапустить прерывание в .cpp

Может как-то так:
Код
extern "C" void Isr_Handler()
{
}
Go to the top of the page
 
+Quote Post
barabek
сообщение May 4 2013, 06:35
Сообщение #3


Знающий
****

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



Когда переходил с 9-го на 11-й с прерываниями тоже возникли проблемы. Они там немного переделали bsp. Старый лежит в
Код
#include<priv/alt_legacy_irq.h>

ну и далее по коду пришлось делать такие вставки
Код
#ifdef ALT_ENHANCED_INTERRUPT_API_PRESENT
void GRCache_ISR(void * context) __attribute__((section (".exceptions")));
#else
void GRCache_ISR(void * context,alt_u32 id) __attribute__((section (".exceptions")));
#endif
....
....
//********************************************************************************

#ifdef ALT_ENHANCED_INTERRUPT_API_PRESENT
void GRCache_ISR(void *context)
#else
void GRCache_ISR(void *context,alt_u32 id)
#endif
{
//тело прерывания
}
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 18:41
Рейтинг@Mail.ru


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