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

 
 
> Вложенные прерывания ARM7 LPC-2478
lecko
сообщение Sep 12 2011, 07:15
Сообщение #1





Группа: Участник
Сообщений: 10
Регистрация: 22-08-11
Пользователь №: 66 820



Всем привет!

У кого-нибудь есть работающий пример вложенных прерываний под LPC-2478? Облазил и форумы, и документацию - везде только общие рекомендацииsad.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
lecko
сообщение Sep 12 2011, 10:23
Сообщение #2





Группа: Участник
Сообщений: 10
Регистрация: 22-08-11
Пользователь №: 66 820



Спасибо за ответ!

В соответствии с общими указаниями сделано следующее:

Так выглядит код внешнего прерывания:

Код
#define IENABLE __asm { MRS sysreg, SPSR; MSR CPSR_c, #SYS32Mode }
#define IDISABLE __asm { MSR CPSR_c, #(IRQ32Mode|I_Bit); MSR SPSR_cxsf, sysreg }
...
void UARTHandler (void) __irq    
{
    IENABLE;
    ...
    //тут происходит вызов функции, инициирующей срабатывание вложенного прерывания
    ...
    IDISABLE;
    VICVectAddr = 0;
}


В коде внутреннего прерывания никаких специальных действий не происходит. Оба прерывания зарегистрированы с высшим приоритетом. Документация по компилятору RealView, который я использую, утверждает, что адреса возврата сохранять не надо - компилятор-де делает это автоматически. Вопрос - почему во внутреннее прерывание не передается управление?
Go to the top of the page
 
+Quote Post



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

 


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


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