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

 
 
> Cortex M3, PendSV и переключение контекста
alt3857
сообщение Jun 8 2011, 11:13
Сообщение #1


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

Группа: Участник
Сообщений: 94
Регистрация: 21-04-10
Пользователь №: 56 794



Привет!
В Cortex-M3 есть прерывание PendSV, в чем его основная цель? В доках нашел "PendSV is an interrupt-driven request for system-level service. In an OS environment, use PendSV for context switching when no other exception is active". Т.е. как я понял оно нужно (рекомендовано ARM-ом) для выполнения переключения контекста операционной системой. Но в операционке все равно задействован SysTick Timer и его прерывание для проверки необходимости переключения на каждый тик, почему контекст нельзя переключать в нем, зачем дополнительно нужно PendSV?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
brag
сообщение Jun 12 2011, 13:43
Сообщение #2


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

Группа: Свой
Сообщений: 1 047
Регистрация: 2-12-06
Из: Kyiv, Ukraine
Пользователь №: 23 046



Цитата
А смысл использовать для этих целей PendSV?
Для этого есть SVCall.
А PendSV это асинхронный запрос, который или из прерывания запрашивается

так речь и шла о прерываниях:
Цитата(brag)
у меня там висит обработчик очереди запросов от хардварных прерываний(у которых приоритет всегда выше,чем у pendsv,systick) на выполнения системных функций

доступ к системным функциям из обычных тредов ессно через SVC
а критических секций нет, они на cortex-m3 просто не нужны.
Go to the top of the page
 
+Quote Post



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

 


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


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