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

 
 
> LPC17xx NVIC - Как заблокировать все IRQ с приоритетом ниже нужного?
GetSmart
сообщение Apr 25 2012, 17:07
Сообщение #1


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Всем привет.
Кто уже близко познакомился с этим NVIC?
Допустим я раздал всем своим прерываниям приоритеты. Некоторым даже одинаковые (нескольким уартам).
Возникла задача на короткое время запрещать все прерывания с приоритетом ниже (со значением выше...) некоторого, оставляя работать самые приоритетные. Что-то вроде имитации залёта в какое-то прерывание среднего уровня, когда блокируются прерывания с приоритетами ниже и равного текущему. Всё аналогично, но без залёта в прерывание и чисто программным путём. Да ещё так, чтобы никакая логика NVIC не сбивалась и никакие запросы не терялись, а только откладывались на попозже.

Вот. Кто подскажет?


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
GetSmart
сообщение Jul 11 2013, 09:29
Сообщение #2


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



А для CM0 есть механизм аналогичного ограничения приоритетов?

В файле CMSIS для CM0 нет упоминания Base Priority Mask Register.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Jul 11 2013, 10:30
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(GetSmart @ Jul 11 2013, 12:29) *
А для CM0 есть механизм аналогичного ограничения приоритетов?

Нет такого механизма. На то он и М0.



Цитата(GetSmart @ Jul 11 2013, 12:29) *
В файле CMSIS для CM0 нет упоминания Base Priority Mask Register.

Только PRIMASK есть.

Может в Cortex-M0+ добавят функциональности...

Go to the top of the page
 
+Quote Post
GetSmart
сообщение Jul 11 2013, 11:42
Сообщение #4


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(_Артём_ @ Jul 11 2013, 16:30) *
Нет такого механизма. На то он и М0.

Как-то неполиткорректно sm.gif

В ядре столько много понапихано, что какая-то мелочь ни чуть не добавила сложности/потребления. Даже если цифровой компаратор считать сложным, то маскировка приоритетов по И/ИЛИ просто элементарна.

Сообщение отредактировал GetSmart - Jul 11 2013, 15:22


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- GetSmart   LPC17xx NVIC - Как заблокировать все IRQ с приоритетом ниже нужного?   Apr 25 2012, 17:07
- - _Артём_   Если не ошибаюсь, то нужно смотреть в описание Bas...   Apr 25 2012, 17:49
- - ViKo   __set_BASEPRI(0x60); // Disable interrupts with pr...   Apr 25 2012, 17:57
- - GetSmart   Это могут быть не те приоритеты. Программно раздав...   Apr 25 2012, 18:54
|- - aaarrr   Цитата(GetSmart @ Apr 25 2012, 22:54) Это...   Apr 25 2012, 19:06
|- - sysel   Цитата(GetSmart @ Apr 25 2012, 22:54) Это...   Apr 25 2012, 19:13
- - GetSmart   Ладно, допустим BASEPRI то, что мне нужно. И устан...   Apr 25 2012, 19:51
|- - aaarrr   Цитата(GetSmart @ Apr 25 2012, 23:51) А о...   Apr 25 2012, 20:07
- - KRS   есть еще полезный алиас BASEPRI_MAX запись в него ...   Apr 25 2012, 20:39
- - ViKo   Из той же книжки: BASEPRI A register of up to 8 bi...   Apr 26 2012, 04:29
|- - sysel   Цитата(ViKo @ Apr 26 2012, 08:29) Насчет ...   Apr 26 2012, 09:53
|- - KRS   Цитата(sysel @ Apr 26 2012, 13:53) На сам...   Apr 26 2012, 10:48
|- - ViKo   Цитата(sysel @ Apr 26 2012, 12:53) Как ра...   Apr 26 2012, 10:50
|- - KRS   Цитата(ViKo @ Apr 26 2012, 14:50) погляды...   Apr 26 2012, 11:06
- - GetSmart   Мало того, в доке на LPC11xx (CM0) LPC81x (CM0+) о...   Jul 11 2013, 15:00
- - _Артём_   Цитата(GetSmart @ Jul 11 2013, 18:00) ...   Jul 11 2013, 16:45
- - GetSmart   Цитата(_Артём_ @ Jul 11 2013, 22:45) Прер...   Jul 11 2013, 17:44


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

 


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


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