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

 
 
> Software Interrupts, Кто сталкивался?
Den
сообщение Oct 19 2006, 07:01
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 67
Регистрация: 28-12-04
Из: Нижний Новгород
Пользователь №: 1 714



Господа! Объясните пожалуйста что это такое, как это работает в микроконтроллерах и для чего вобще применяется в ARM.
Непосредственно меня интересует реализация в ADuC 70xx ???
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Sarez
сообщение Oct 19 2006, 08:15
Сообщение #2


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

Группа: Новичок
Сообщений: 75
Регистрация: 17-08-06
Из: Минск
Пользователь №: 19 630



Программное прерывание позволяет тебе перейти в более привелегированный режим ( Супервизор ) и выполнить оттуда определенный участок кода обработчика. Вызавается командой SWI с определенным читсловым кодом . Происходит переход на обработчик - он анализирует числовой код , определяет какую функцию вызвать и передает ей параметры. Допустим ты можешь определить две ( и более ) функций :
int Funk1( int value) __swi(1)
{

}

и
int Funk2 ( int value1 ) __swi(2)
{

}

Обработчик анализирует код команды SWI ( в нашем случае - 1 и 2 ) , и по этому коду определяет , какая из функций вызвана и обеспечивает ей петредачу параметров. Так же ты из режима User переходишь в режим Супервизора и получаешь возможность напрямую работать с регистром CPSR - а это уже дает тебе побольше возможностей- например можешь разрешать/запрешать прерывания...
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 25th July 2025 - 01:10
Рейтинг@Mail.ru


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