Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: NMI-прерывание VDSP4.5
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
SALOME
Помогите организовать прерывание NMI в компиляторе VDSP 4.5 для BF537.
Имеется такой упрощенный исходник с Сишными файлами:
//в файле "main.c"
#include "ccblkfn.h"
#include "sysreg.h"
#include "BF537 Flags.h"

void main(void)
{

*pEVT2=NMI_ISR; //привязка адреса вектора прерывания NMI
while(1){} //ожидание прерывания NMI
}

//в файле "BF537 Flags.h"
EX_INTERRUPT_HANDLER(NMI_ISR);

//в файле ISR.c
EX_INTERRUPT_HANDLER(NMI_ISR)
{
nop;

}
вопросы такие:
1. Почему компилятор не ругается на (NMI_ISR) во всех файлах? Где он определен?
2. После компиляции получается такой результат обработки прерывания в дизассемблере:
@@Assembly
[FFA0044C] [ -- SP ] = ASTAT ;
[FFA0044E] [ -- SP ] = FP ;
[FFA00450] [ -- SP ] = ( R7:0 , P5:0 ) ;
[FFA00452] [ -- SP ] = LC0 ;
[FFA00454] [ -- SP ] = LC1 ;
[FFA00456] SP += -64 ;
[FFA00458] SP += -52 ;
[FFA0045A] NOP ;
[FFA0045C] SP += 60 ;
[FFA0045E] SP += 56 ;
[FFA00460] LC1 = [ SP ++ ] ;
[FFA00462] LC0 = [ SP ++ ] ;
[FFA00464] ( R7:0 , P5:0 ) = [ SP ++ ] ;
[FFA00466] FP = [ SP ++ ] ;
[FFA00468] ASTAT = [ SP ++ ] ;
[FFA0046A] RTI ;

то, что он избыточно длинен - ладно. Однако концовка должна быть RTN,
а здесь RTI. Подскажите, как правильно сделать,плз.
_pv
Цитата(SALOME @ Mar 24 2008, 12:43) *
Помогите организовать прерывание NMI в компиляторе VDSP 4.5 для BF537.
Имеется такой упрощенный исходник с Сишными файлами:

//в файле "BF537 Flags.h"
EX_INTERRUPT_HANDLER(NMI_ISR);

//в файле ISR.c
EX_INTERRUPT_HANDLER(NMI_ISR)

Попробуйте заменить на EX_NMI_HANDLER.
а также вызвать register_handler(ik_nmi, NMI_ISR);
SALOME
Цитата(_pv @ Mar 24 2008, 13:44) *
Попробуйте заменить на EX_NMI_HANDLER.

Все получилось. Спасибо. А в каком файле это определяется? И где про это почитать можно?
SALOME
Уже не в первый раз: как только про компилятор VDSP что-нибудь спросишь - все в несознанку уходят smile.gif. АУ!
_pv
Цитата(SALOME @ Mar 28 2008, 13:16) *
Уже не в первый раз: как только про компилятор VDSP что-нибудь спросишь - все в несознанку уходят smile.gif. АУ!

user guide и compiler manual к VDSP лежат на сайте analog.com
либо вызывается из оболчки по нажатию кнопки F1. поском по ключевому слову nmi все находтся

заголовочные файлы лежат в VDSP/include/blackfin, или наоборот VDSP/blackfin/include, не помню.
достаточно воспользоваться поиском по данной папке на предмет файлов содержащих строку EX_NMI_HANDLER.
SALOME
Цитата(_pv @ Mar 28 2008, 13:34) *
user guide и compiler manual к VDSP лежат на сайте analog.com
либо вызывается из оболчки по нажатию кнопки F1. поском по ключевому слову nmi все находтся
заголовочные файлы лежат в VDSP/include/blackfin, или наоборот VDSP/blackfin/include, не помню.
достаточно воспользоваться поиском по данной папке на предмет файлов содержащих строку EX_NMI_HANDLER.

Спасибо за ответ. Описание на компилятор у меня имеется в Help. Однако мне там трудно ориентироваться. Слишком большой объем информации. Скажите хотя бы в каком разделе искать. А лучше ткните в страницу. Поиск в папке /include по ключевому слову EX_NMI_HANDLER ничего не дал.
uriy
Цитата
Поиск в папке /include по ключевому слову EX_NMI_HANDLER ничего не дал
Странно а мне дал вот тут Blackfin\include\sys\exception.h есть такие строки #define EX_NMI_HANDLER(NAME) EX_HANDLER(nmi,NAME)
Кроме этого в CC++ Compiler and Library Manual.pdf на странице 1-249 есть раздел Defining an ISR
SALOME
Цитата(uriy @ Mar 28 2008, 16:47) *
Странно а мне дал вот тут Blackfin\include\sys\exception.h есть такие строки #define EX_NMI_HANDLER(NAME) EX_HANDLER(nmi,NAME)
Кроме этого в CC++ Compiler and Library Manual.pdf на странице 1-249 есть раздел Defining an ISR

Теперь нашла. И ничего тут странного нет. Просто Вы умней и опытней меня. smile.gif У меня этот документ среди прочей кучи называется: "45_Blackfin_comp_man.pdf". Щас буду читать... Спасибо большое ответившим.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.