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

 
 
 
Reply to this topicStart new topic
> NMI-прерывание VDSP4.5
SALOME
сообщение Mar 24 2008, 06:43
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 311
Регистрация: 11-06-07
Из: Российская империя, 1861г.
Пользователь №: 28 349



Помогите организовать прерывание 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. Подскажите, как правильно сделать,плз.


--------------------
Итак увидел я, что нет ничего лучше, чем наслаждаться человеку делами своими (Еккл) .
Go to the top of the page
 
+Quote Post
_pv
сообщение Mar 24 2008, 07:44
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954



Цитата(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);
Go to the top of the page
 
+Quote Post
SALOME
сообщение Mar 26 2008, 04:02
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 311
Регистрация: 11-06-07
Из: Российская империя, 1861г.
Пользователь №: 28 349



Цитата(_pv @ Mar 24 2008, 13:44) *
Попробуйте заменить на EX_NMI_HANDLER.

Все получилось. Спасибо. А в каком файле это определяется? И где про это почитать можно?


--------------------
Итак увидел я, что нет ничего лучше, чем наслаждаться человеку делами своими (Еккл) .
Go to the top of the page
 
+Quote Post
SALOME
сообщение Mar 28 2008, 07:16
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 311
Регистрация: 11-06-07
Из: Российская империя, 1861г.
Пользователь №: 28 349



Уже не в первый раз: как только про компилятор VDSP что-нибудь спросишь - все в несознанку уходят smile.gif. АУ!


--------------------
Итак увидел я, что нет ничего лучше, чем наслаждаться человеку делами своими (Еккл) .
Go to the top of the page
 
+Quote Post
_pv
сообщение Mar 28 2008, 07:34
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954



Цитата(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.
Go to the top of the page
 
+Quote Post
SALOME
сообщение Mar 28 2008, 08:30
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 311
Регистрация: 11-06-07
Из: Российская империя, 1861г.
Пользователь №: 28 349



Цитата(_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 ничего не дал.


--------------------
Итак увидел я, что нет ничего лучше, чем наслаждаться человеку делами своими (Еккл) .
Go to the top of the page
 
+Quote Post
uriy
сообщение Mar 28 2008, 10:47
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 429
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606



Цитата
Поиск в папке /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
Go to the top of the page
 
+Quote Post
SALOME
сообщение Mar 28 2008, 11:45
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 311
Регистрация: 11-06-07
Из: Российская империя, 1861г.
Пользователь №: 28 349



Цитата(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". Щас буду читать... Спасибо большое ответившим.


--------------------
Итак увидел я, что нет ничего лучше, чем наслаждаться человеку делами своими (Еккл) .
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 15th June 2025 - 17:36
Рейтинг@Mail.ru


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