|
NVIC Cortex-M процов, Группы приоритетов прерываний |
|
|
|
May 7 2015, 09:49
|
Гуру
     
Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454

|
Всем привет!
Есть регистр Application Interrupt and Reset Control Register, в котором задается поле PRIGROUP, то есть разбитие прерываний на группы и подгруппы по приоритетам. Вопрос нафига оно надо, чисто для удобства?
допустим у нас 16 групп и 16 подгрупп, прерывание из 5 группы, 0 уровня, 5.0 (значение в поле приоритета 0x50 = 80) имеет приоритет выше прерывания 6.0 (значение в поле приоритета 0x60 = 96). Но так и прерывание 80 имеет приоритет выше 96.
То есть разбитие на группы получается чисто для человека, удобства чтения, что ли...
Более того это поле вынесено в другие регистра, а не в группу NVIC, который вроде как является частью всех кортексов. И как я понимаю его вообще не интересуют группы, ему нужен конечный номер, да еще с числом используемых им в реализации бит или же я ошибаюсь? в NVIC прерывание с высшим приоритетом всегда прервет текущее, а с тем же или более низким будет ждать окончание текущего, не зависимо от группы, или это не так? И прерываться будут только подгруппы? А внутри одной группы прерывания не будут друг друга прерывать?
|
|
|
|
|
 |
Ответов
|
May 7 2015, 10:07
|
Гуру
     
Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454

|
Я всегда работал в 0 режиме, когда все биты - это номер группы, и потому всегда считал что прерывание с меньшим номером в регистре приоритета прервет больший номер. А оказывается вытеснение происходит по группам, и внутри группы прерывания не будут друг друга вытеснять.
Хотя опять же не очень понятно становиться номер в подгрупе, только для определения какой из прерываний запуститься первым при одновременном их появлении...
у вас талант находить ответы на их сайте. LPC это все вообще в мануал к процу пишут. STM просто упоминает, после этого я уже понял надо искать на сайте ARM. Но я честно через поиск на сайте не фига не могу найти, я реально чаще нахожу ответы через гугл, который дает ссылку на их сайт. А через их окошко прям беда....
хотя вот сейчас думаю что дело в том что лезу через arm.com, а надо через infocentr сразу, наверное...
Спасибо за потраченное время)
|
|
|
|
Сообщений в этой теме
Golikov A. NVIC Cortex-M процов May 7 2015, 09:49 Uuftc Цитата(Golikov A. @ May 7 2015, 12:49) И ... May 7 2015, 09:56 Golikov A. А внутри группы будет запускаться первым прерывани... May 7 2015, 09:59 scifi К примеру, у STM32 есть только 4 бита для приорите... May 7 2015, 10:01 scifi Цитата(Golikov A. @ May 7 2015, 13:03) Хо... May 7 2015, 10:12 Golikov A. ЦитатаМануал. Ну нельзя же так неуважительно относ... May 7 2015, 10:12 jcxz Цитата(Golikov A. @ May 7 2015, 16:12) бу... May 7 2015, 11:00 Golikov A. я знаю, спасибо.
Просто искать на arm.com и infoc... May 7 2015, 12:59 KnightIgor Цитата(Golikov A. @ May 7 2015, 13:59) я ... May 8 2015, 06:45  scifi Цитата(KnightIgor @ May 8 2015, 09:45) и ... May 8 2015, 07:34   adnega Цитата(scifi @ May 8 2015, 10:34) И не од... May 8 2015, 08:03    jcxz Цитата(adnega @ May 8 2015, 14:03) Есть м... May 8 2015, 08:25     adnega Цитата(jcxz @ May 8 2015, 11:25) Не обяза... May 8 2015, 08:42   jcxz Цитата(scifi @ May 8 2015, 13:34) Я как б... May 8 2015, 08:18    scifi Цитата(jcxz @ May 8 2015, 11:18) Это в ка... May 8 2015, 08:23   KnightIgor Цитата(scifi @ May 8 2015, 08:34) Какой М... May 11 2015, 06:31 SasaVitebsk Цитата(Golikov A. @ May 7 2015, 12:49) А ... May 8 2015, 07:08 adnega ЦитатаВнутри группы при одновременном поступлении ... May 8 2015, 07:18
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|