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

 
 
> Вопросик по приоритетам прерываний, порт под Cortex-M3
Nikitoc
сообщение Apr 4 2012, 13:50
Сообщение #1


Местный
***

Группа: Validating
Сообщений: 207
Регистрация: 14-01-09
Из: Днепропетровск
Пользователь №: 43 367



Уважаемые коллеги.
Я запутался в некоторых особенностях порта FreeRTOS под Cortex-M3. А именно: в файле freertosconfig.h есть следующие мароопределения:
Код
/* This is the raw value as per the Cortex-M3 NVIC.  Values can be 255 (lowest) to 0 (1?) (highest). */
              
    #define configKERNEL_INTERRUPT_PRIORITY          255
  #define configMAX_SYSCALL_INTERRUPT_PRIORITY     191 /* equivalent to 0xb0, or priority 11. */
                        
  /* This is the value being used as per the ST library which permits 16 priority values, 0 to 15.  This must correspond to the configKERNEL_INTERRUPT_PRIORITY setting.  Here 15 corresponds to the lowest NVIC value of 255. */

Насколько я понимаю, configKERNEL_INTERRUPT_PRIORITY соответствует наименьшему приоритету NVIC - 15-му. А configMAX_SYSCALL_INTERRUPT_PRIORITY - 11-му.
Никак не могу разобраться как и где эти константы используются. Где именно происходит назначение приоритета этими константами.
И еще в доках сказано, что нельзя использовать ф-ции FreeRTOS в прерываниях с приоритетом большим чем configMAX_SYSCALL_INTERRUPT_PRIORITY (т.е. как я понял с приоритетами 0-10 в данном случае). Объясните, пожалуйста, почему?
Просьба сильно не пинаться, я недавно работаю с данной ОС.
Go to the top of the page
 
+Quote Post



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

 


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


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