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

 
 
> STM32 - Атомарная операция в обработчике прерывания.
Alt.F4
сообщение Jan 7 2015, 22:20
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 468
Регистрация: 28-03-10
Из: Беларусь
Пользователь №: 56 256



Здравствуйте.

Настроено две группы прерываний, в группе с наименьшим приоритетом есть прерывание, в котором надо осуществить атомарно одну операцию. Я так понимаю, надо перед ней поставить disable_irq и после нее enable_irq, но в AVR такое действие приводило к вложенным прерываниям.
Подскажите, пожалуйста, не сможет ли глобальное разрешение прерываний в обработчике привести к ситуации, что данное прерывание будет прервано другим из одной и той же группы приоритетов?
Спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Alt.F4
сообщение Jan 8 2015, 18:31
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 468
Регистрация: 28-03-10
Из: Беларусь
Пользователь №: 56 256



jcxz, у меня как раз Cortex-M3, сейчас насилую отладочную плату с STM32 на борту.

А к чему приведет глобальное разрешение прерываний в обработчике в других ARM'ах?
Спасибо.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Jan 8 2015, 19:04
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Alt.F4 @ Jan 9 2015, 00:31) *
А к чему приведет глобальное разрешение прерываний в обработчике в других ARM'ах?

В "других" ARMах нет глобального разрешения wink.gif
В разных ядрах ARM по-разному построена система прерываний. В ARM7/9 (и вроде Cortex-A) например, есть только два прерывания, которые разрешаются/запрещаются независимо друг от друга.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


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

 


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


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